19.11.2014 Views

PISCES-2ET and Its Application Subsystems - Stanford Technology ...

PISCES-2ET and Its Application Subsystems - Stanford Technology ...

PISCES-2ET and Its Application Subsystems - Stanford Technology ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>PISCES</strong>-<strong>2ET</strong> <strong>and</strong> <strong>Its</strong><br />

<strong>Application</strong> <strong>Subsystems</strong><br />

PART I:<br />

PART II:<br />

<strong>PISCES</strong>-<strong>2ET</strong> 2D Device Simulator<br />

Z. Yu, D. Chen, L. So, <strong>and</strong> R. W. Dutton<br />

Curve Tracer<br />

S. G. Beebe, Z. Yu, R. J. G. Goossens, <strong>and</strong><br />

R. W. Dutton<br />

PART III: Mixed-Mode Device/Circuit Simulator<br />

F. M. Rotella, Z. Yu, <strong>and</strong> R. W. Dutton<br />

Integrated Circuits Laboratory<br />

<strong>Stanford</strong> University<br />

<strong>Stanford</strong>, California 94305


Copyright 1994<br />

by The Board of Trustees of Lel<strong>and</strong> <strong>Stanford</strong><br />

Junior University.<br />

All rights reserved.<br />

SUPREM, SUPREM-III, SUPREM-IV, <strong>and</strong><br />

<strong>PISCES</strong>, <strong>PISCES</strong>-II, <strong>PISCES</strong>-<strong>2ET</strong> are registered<br />

trademarks of <strong>Stanford</strong> University.


Table of Contents<br />

Table of Contents<br />

PART I<br />

<strong>PISCES</strong>-<strong>2ET</strong> 2D Device Simulator<br />

1 Introduction <strong>and</strong> Acknowledgment . . . . . . . . . . . . . . . . . . . . . . . . . .1<br />

2 DUET Carrier Transport Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5<br />

2.1 Boltzmann Transport Equation <strong>and</strong> Distribution Function. . . . . . . . . . . . . .6<br />

2.2 Energy Balance <strong>and</strong> Thermal Diffusion Equations . . . . . . . . . . . . . . . . . . .7<br />

2.3 Boundary Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12<br />

3 Physical Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13<br />

3.1 Mobility Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13<br />

3.1.1 Low field Mobility Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14<br />

3.1.2 Mobility Reduction due to Transverse Field . . . . . . . . . . . . . . . . . . . . . . . . 18<br />

3.1.3 Mobility Dependency on Longitudinal Field/Carrier Temperature. . . . . . . 24<br />

3.2 Thermal Conductivity Formula . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .27<br />

3.3 Recombination <strong>and</strong> Generation Mechanisms . . . . . . . . . . . . . . . . . . . . . . .28<br />

3.3.1 Impact Ionization Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28<br />

3.3.2 Photo-Generation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30<br />

3.3.3 SRH Recombination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30<br />

3.3.4 Auger Recombination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31<br />

4 Material Properties for Heterostructures . . . . . . . . . . . . . . . . . . . . .33<br />

4.1 Material Parameters for Device Simulation . . . . . . . . . . . . . . . . . . . . . . . .33<br />

4.2 Interpolation Scheme for Composition Dependence . . . . . . . . . . . . . . . . .34<br />

4.3 Data for Material Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35<br />

4.3.1 Parameters for Base Materials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35<br />

4.4 B<strong>and</strong> Structure Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37<br />

4.4.1 B<strong>and</strong>gap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37<br />

4.4.2 Electron Affinity <strong>and</strong> B<strong>and</strong>-edge Offsets. . . . . . . . . . . . . . . . . . . . . . . . . . . 38<br />

4.4.3 Effective Mass <strong>and</strong> Density of States . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39<br />

<strong>PISCES</strong>-<strong>2ET</strong> <strong>and</strong> <strong>Its</strong> <strong>Application</strong> <strong>Subsystems</strong><br />

i


Table of Contents<br />

4.5 Dielectric Constants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40<br />

4.6 Mobilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41<br />

4.7 Impact Ionization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41<br />

5 Numerical Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43<br />

5.1 High <strong>and</strong> Zero Frequency AC Analyses . . . . . . . . . . . . . . . . . . . . . . . . . . 43<br />

5.1.1 General Principle of AC Small Signal Analysis . . . . . . . . . . . . . . . . . . . . . 43<br />

5.1.2 Matrix Transformation to Improve Diagonal Dominance . . . . . . . . . . . . . 46<br />

5.1.3 Pre-conditioned TFQMR Method for AC Analysis . . . . . . . . . . . . . . . . . . 47<br />

5.1.4 Zero Frequency AC Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50<br />

5.2 Discretization Scheme for Carrier <strong>and</strong> Energy Fluxes . . . . . . . . . . . . . . . 50<br />

5.3 Normalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52<br />

5.4 Newton Projection Scheme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53<br />

5.5 Global Data Structure in <strong>PISCES</strong>-<strong>2ET</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . 53<br />

6 Simulation Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57<br />

6.1 Substrate Current of MOS Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57<br />

6.2 SOI Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60<br />

6.3 Cylindrically Symmetric LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64<br />

6.4 AlInAs/GaInAs MODFET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70<br />

APPENDIX A Fermi-Dirac Distribution <strong>and</strong> Heterostructures . . . . . . 77<br />

APPENDIX B Mathematical Properties of Fermi Integral. . . . . . . . . . 87<br />

APPENDIX C Formulations in Previous <strong>PISCES</strong>-II Versions. . . . . . . 91<br />

References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93<br />

User’s Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97<br />

CHECK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101<br />

COMMENT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103<br />

CONTACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104<br />

CONTOUR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109<br />

DEEPIMPURITY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115<br />

ii<br />

<strong>PISCES</strong>-<strong>2ET</strong> <strong>and</strong> <strong>Its</strong> <strong>Application</strong> <strong>Subsystems</strong>


Table of Contents<br />

DOPING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .117<br />

ELECTRODE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .127<br />

ELIMINATE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .130<br />

END (QUIT). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .132<br />

EXTRACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .133<br />

IMPACT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .136<br />

INCLUDE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .138<br />

INTERFACE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .139<br />

LOAD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .141<br />

LOG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .144<br />

MATERIAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .146<br />

MESH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .151<br />

METHOD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .157<br />

MOBILITY. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .164<br />

MODELS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .170<br />

OPTIONS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .180<br />

PLOT.1D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .183<br />

PLOT.2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .192<br />

PRINT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .196<br />

REGION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .200<br />

REGRID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .206<br />

SOLVE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .212<br />

SPREAD. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .222<br />

SYMBOLIC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .226<br />

TITLE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .230<br />

VECTOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .231<br />

X.MESH, Y.MESH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .233<br />

PART II<br />

Curve Tracer<br />

Acknowledgment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .235<br />

7 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .237<br />

<strong>PISCES</strong>-<strong>2ET</strong> <strong>and</strong> <strong>Its</strong> <strong>Application</strong> <strong>Subsystems</strong><br />

iii


Table of Contents<br />

8 Shell Comm<strong>and</strong> Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238<br />

9 Trace File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239<br />

9.1 CONTROL Card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240<br />

9.2 FIXED Card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241<br />

9.3 OPTION Card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242<br />

9.4 SOLVE Card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246<br />

10 Input Deck Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248<br />

10.1 Load <strong>and</strong> Solve Cards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248<br />

10.2 Contact Card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248<br />

10.3 Method Card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249<br />

10.4 Options Card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249<br />

11 Data Format in Output Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250<br />

12 Comments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252<br />

13 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253<br />

13.1 BVCEO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253<br />

13.2 GaAs MESFET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258<br />

Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263<br />

PART III Mixed-Mode Device/Circuit Simulator<br />

Acknowledgment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265<br />

14 Mixed-Mode Circuit <strong>and</strong> Device Simulation. . . . . . . . . . . . . . . . . 267<br />

14.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267<br />

14.2 Equations for Circuit Simulation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268<br />

14.3 Equations for Device Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269<br />

14.4 Mixed-Mode Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270<br />

14.5 Computational Cost <strong>and</strong> Benefits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272<br />

14.6 Parallelization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273<br />

iv<br />

<strong>PISCES</strong>-<strong>2ET</strong> <strong>and</strong> <strong>Its</strong> <strong>Application</strong> <strong>Subsystems</strong>


Table of Contents<br />

15 Use of Mixed-Mode Simulation. . . . . . . . . . . . . . . . . . . . . . . . . . .275<br />

15.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .275<br />

15.2 New SPICE Cards. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .275<br />

SPICE Element Card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .276<br />

SPICE Model Card . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .279<br />

15.3 Running a Mixed-Mode Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . .286<br />

15.3.1 Files Required <strong>and</strong> Generated . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286<br />

15.3.2 Method <strong>and</strong> Model Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288<br />

15.3.3 Types of Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289<br />

16 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .291<br />

16.1 Introduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .291<br />

16.2 Single Stage CMOS Inverter (DC Analysis) . . . . . . . . . . . . . . . . . . . . . .291<br />

16.3 High Frequency GaAs MESFET (AC Analysis) . . . . . . . . . . . . . . . . . . .292<br />

16.4 SRAM Cell (Transient Analysis) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .294<br />

16.5 GaAs/AlGaAs LED (Transient Analysis). . . . . . . . . . . . . . . . . . . . . . . . .298<br />

17 System Reconfiguration for a Different Device Simulator . . . . . .303<br />

17.1 Changes in SPICE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .303<br />

17.1.1 New Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304<br />

17.1.2 Steps for Adding Numerical Devices to SPICE . . . . . . . . . . . . . . . . . . . . 304<br />

17.1.3 Increasing Number of Nodes for a SPICE Device . . . . . . . . . . . . . . . . . . 306<br />

17.1.4 Configuring NPISC for Use with PVM. . . . . . . . . . . . . . . . . . . . . . . . . . . 306<br />

17.1.5 Different Versions of SPICE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309<br />

17.2 Adding Another Device Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .311<br />

17.2.1 Changes to Device Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311<br />

17.2.2 Changes to Mixed-Mode Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311<br />

References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .315<br />

<strong>PISCES</strong>-<strong>2ET</strong> <strong>and</strong> <strong>Its</strong> <strong>Application</strong> <strong>Subsystems</strong><br />

v


Table of Contents<br />

vi<br />

<strong>PISCES</strong>-<strong>2ET</strong> <strong>and</strong> <strong>Its</strong> <strong>Application</strong> <strong>Subsystems</strong>


PART I<br />

<strong>PISCES</strong>-<strong>2ET</strong> 2D Device Simulator<br />

for Silicon <strong>and</strong> Heterostructures<br />

Zhiping Yu, Datong Chen, Lydia So,<br />

<strong>and</strong> Robert W. Dutton


CHAPTER 1<br />

Introduction <strong>and</strong><br />

Acknowledgment<br />

<strong>PISCES</strong>-<strong>2ET</strong> is a dual energy transport (for carrier temperatures <strong>and</strong> lattice thermal diffusion) version<br />

of <strong>PISCES</strong>-II developed based on <strong>Stanford</strong>’s 9009 version <strong>and</strong> Intel’s enhanced 8830 version. This<br />

work is completed under the support of SRC (Semiconductor Research Corp.), ARO (Army Research<br />

Office), <strong>and</strong> ARPA (Advanced Research Projects Agency) <strong>and</strong> with close collaboration from Intel <strong>and</strong><br />

HP. There are many new features available in the <strong>2ET</strong> version, predominately, the capabilities to<br />

simulate the carrier <strong>and</strong> lattice temperatures <strong>and</strong> heterostructures in compound semiconductors. Hence,<br />

various non-stationary phenomena such as hot carrier effects <strong>and</strong> velocity overshoot can be analyzed<br />

using this program. The electrical behavior of optoelectronic devices can also be simulated with<br />

reasonable accuracy. Most of the material parameters have been calibrated <strong>and</strong> thoroughly surveyed<br />

with the help from industry. Other new features which can be found in <strong>PISCES</strong>-<strong>2ET</strong> include:<br />

• High <strong>and</strong> zero frequency small signal AC analysis<br />

• Improved initial guess using Newton projection method<br />

• Carrier energy dependent mobility <strong>and</strong> impact ionization models<br />

• About ten different local <strong>and</strong> non-local (electric) field dependent mobility models<br />

• Parameterization of array sizes for expansion of maximum grid number<br />

• ASCII <strong>and</strong> binary exchange data format with process simulation programs<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 1


Introduction <strong>and</strong> Acknowledgment<br />

This document is organized as follows. CHAPTER 2 discusses the theoretical background for<br />

DUET transport model, which is based on the moment approach to solving Boltzmann Transport<br />

Equation (BTE) <strong>and</strong> is applicable to heterostructure analysis also. In CHAPTER 3, physical models<br />

used in the program are described. The emphasis is on the various mobility models, many parameters<br />

of which have been calibrated by industrial users. Material parameters for four common compound<br />

semiconductors, namely Ge x Si 1-x , Al x Ga 1-x As, Al x In 1-x As, <strong>and</strong> Ga x In 1-x As y P 1-y , used in<br />

heterostructure <strong>and</strong> optoelectronic devices are discussed in CHAPTER 4. Discussion of carrier<br />

transport in heterostructures <strong>and</strong> issues related to Fermi-Dirac (FD) statistics are delayed until<br />

APPENDIX A to provide a complete picture of DUET model yet not to inundate the concise forms in<br />

the main text with complex coefficients required by using the FD distribution. In CHAPTER 5,<br />

relevant numerical techniques are presented, including the algorithms for small signal AC analyses.<br />

Besides, the details in parameterization of global arrays used in the device solver are provided. Finally<br />

four simulation examples are included in CHAPTER 6. The first two examples compare the simulated<br />

results to the experimental data regarding the carrier temperature effects in FET structures to establish<br />

the confidence level of the energy transport model used in the code. The other two examples are about<br />

the simulation of heterostructures including one application in a realistic, cylindrically symmetric LED<br />

(light emitting diode) structure. Two short appendices, one dealing with the mathematical properties<br />

of Fermi integral (APPENDIX B) <strong>and</strong> the other listing several expressions referred to in this document<br />

from the previous <strong>PISCES</strong> reports (APPENDIX C), are included for users’ reference. Finally a user’s<br />

manual provides the detailed syntax <strong>and</strong> usage of all comm<strong>and</strong>s available in the program.<br />

Authors are grateful to many contributions from both academia <strong>and</strong> industry during the<br />

development of PISECE-<strong>2ET</strong>. The DUET transport model has been developed in collaboration with<br />

Prof. K. Hess’ group in University of Illinois at Urbana. One of the key developers, Dr. E. Kan, who<br />

recently joined our group at <strong>Stanford</strong>, made numerous contributions to the code including helping<br />

parameterize the data structure <strong>and</strong> model calibration. Drs. T. Thurgate of Intel <strong>and</strong> M. Tan of HP have<br />

been working closely with us from the very beginning of this project <strong>and</strong> provided access to their codes<br />

<strong>and</strong> experimental data. Various industrial connections under the sponsorship of SRC are greatly<br />

appreciated, including, but by no means being complete, Drs. R. Lowther of Harris Semiconductor, I.<br />

Lim of Motorola, <strong>and</strong> K. L. Chen of OCD in HP. Dr. K. Wu of this group at <strong>Stanford</strong> developed the<br />

algorithm for high frequency small signal AC analysis, <strong>and</strong> Mr. A. Mujtaba helped review the section<br />

of mobility models. Their contributions are greatly appreciated. Finally, the continuous funding from<br />

2 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Introduction <strong>and</strong> Acknowledgment<br />

SRC through contract #SRC 93-SJ-116 is one of the key factors to the success of this program<br />

development <strong>and</strong> the grant from ARO through contract DAAL 03-91-G-0152 plays a critical role in<br />

extending the simulation capabilities from silicon to compound materials <strong>and</strong> heterostructure. The<br />

GaAs work was supported through ARPA contract DAAL 01-91-K-0145. Their support are gratefully<br />

acknowledged.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 3


Introduction <strong>and</strong> Acknowledgment<br />

4 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


CHAPTER 2<br />

DUET Carrier Transport<br />

Model<br />

The DUET model, a carrier transport model in semiconductors, is developed based on the moment<br />

approach to solving Boltzmann Transport Equation (BTE). It uses six state variables to describe the<br />

status of a semiconductor device. These six variables are: electrostatic potential, ψ, carrier<br />

concentrations, n <strong>and</strong> p, carrier temperatures, T n <strong>and</strong> T p , <strong>and</strong> lattice temperature, T L , <strong>and</strong> they are<br />

functions of space <strong>and</strong> time. All other device characteristics such as terminal I-V characteristics <strong>and</strong><br />

circuit model parameters can be calculated from the knowledge of the distribution of these basic<br />

variables. To determine the distribution of these variables under applied bias, six independent<br />

equations are required together with proper boundary conditions. It is well established that with the<br />

drift-diffusion (DD) carrier transport model, Shockley semiconductor equations, i.e., Poisson’s<br />

equation <strong>and</strong> carrier continuity equations, govern the distribution of ψ, n, <strong>and</strong> p. The carrier<br />

concentrations can also be replaced, equivalently, by their respective quasi-Fermi levels, <strong>and</strong> ,<br />

in classical distribution (either Boltzmann or Fermi-Dirac) functions. With the temperatures for both<br />

carriers <strong>and</strong> lattice introduced as independent variables, three more equations are needed <strong>and</strong> they can<br />

be derived from the energy balance principle. In this chapter, we will first introduce two (kinetic)<br />

energy balance equations for carriers <strong>and</strong> one thermal diffusion equation for the lattice. Various macro<br />

quantities such as carrier <strong>and</strong> energy densities will be defined using the distribution function at the<br />

quasi-thermal equilibrium. The auxiliary expressions for transport are provided. Finally the proper<br />

boundary conditions for solving differential equations are discussed.<br />

φ n<br />

φ p<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 5


DUET Carrier Transport Model<br />

2.1 Boltzmann Transport Equation <strong>and</strong><br />

Distribution Function<br />

The key assumption in the DUET model is that the true distribution function can be constructed based<br />

on the quasi-thermal equilibrium function using the perturbation theory as follows [1]:<br />

h<br />

h ∂ f<br />

f ( r,<br />

k) f 0 ( r,<br />

k) τ( r,<br />

k)<br />

------------ k ∇ f (2.1)<br />

2πm * 0<br />

------------ 0<br />

= – ⎛ ⋅ – ------- k ⋅ E⎞<br />

⎝<br />

2πm * ∂ε ⎠<br />

where r <strong>and</strong> k are spatial (position) <strong>and</strong> wavenumber vectors, respectively, f 0 is the distribution<br />

function at the quasi-thermal equilibrium in both the real ( r) <strong>and</strong> momentum ( k) space, τ is the<br />

relaxation time which depends on both r <strong>and</strong> k, <strong>and</strong> so is defined in a microscopic sense, E is the<br />

electric field <strong>and</strong> ε is the carrier kinetic energy, e.g. for electrons, ε = E – E C where E C is the<br />

conduction b<strong>and</strong> edge. Note that in this manual, we use bold faced E ( E ) <strong>and</strong> it components to<br />

represent the electric field, while the plain faced E is used for the total energy of carriers. All other<br />

symbols in the above expression have conventional meanings.<br />

f 0<br />

The quasi-thermal equilibrium function, , is chosen from one of the classical distribution<br />

functions <strong>and</strong> for the present we will use the Boltzmann distribution function. In APPENDIX A, we<br />

will describe how to extend the distribution function to Fermi-Dirac statistics. The Boltzmann<br />

distribution function has the following form in r <strong>and</strong> k space:<br />

⎛ E – E<br />

f 0 ( r,<br />

k) 2 exp Fn<br />

⎞ ⎛ ε – ( E<br />

⎜–------------------<br />

⎟ 2 exp<br />

Fn – E C ) ⎞<br />

= = ⎜–-----------------------------------<br />

⎟<br />

(2.2)<br />

⎝ k B T n ⎠ ⎝ k B T n ⎠<br />

where E Fn <strong>and</strong> T n are the quasi-Fermi energy <strong>and</strong> temperature for electrons, respectively. In our later<br />

analysis, it is often desirable to express f 0 in terms of the carrier concentration. We now proceed this<br />

transformation. From definition, it is easy to conclude that the carrier concentration is the zeromoment<br />

of the distribution function in k space. Thus taking electrons as an example, we have<br />

N C<br />

⎛<br />

n N C exp E Fn – E C ⎞<br />

= ⎜---------------------<br />

⎟<br />

⎝ k B T n ⎠<br />

where is the effective density of states for the conduction b<strong>and</strong> <strong>and</strong> is found to be<br />

(2.3)<br />

6 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


DUET Carrier Transport Model<br />

N C<br />

⎛<br />

2 2πm * n( T L )k B T<br />

------------------------------------ n ⎞ 3 ⁄ 2<br />

= ⎜<br />

⎟<br />

⎝<br />

⎠<br />

h 2<br />

where T L is the lattice temperature <strong>and</strong> because in our DUET model, T L is not necessarily the same<br />

*<br />

as T n , we have explicitly indicated the lattice temperature dependence of the effective mass, m n .<br />

Expressing E Fn – E C in terms of n in Eq. (2.3), we obtain an expression of f 0 as function of n, T n ,<br />

, <strong>and</strong> ε as follows:<br />

T L<br />

(2.4)<br />

2n ε<br />

f 0 ( r,<br />

k) = f 0 ( n( r) , T n ( r) , T L ( r)ε<br />

, ) = ---------------------------exp⎛–-----------<br />

⎞<br />

N C ( T n , T L ) ⎝ k B T n<br />

⎠<br />

This form of distribution function constitutes the basis for our model discussion.<br />

(2.5)<br />

2.2 Energy Balance <strong>and</strong> Thermal Diffusion<br />

Equations<br />

Temperature is a measure of the kinetic energy for r<strong>and</strong>om motion <strong>and</strong> the equation governing the<br />

carrier/lattice temperature can be derived from the energy balance principle. Because of the free<br />

particle nature of carriers, Fick’s second law is applied to describe the carrier kinetic energy balance<br />

(or continuity). For electrons, the continuity principle dictates<br />

∂w<br />

-------- n<br />

= – ∇ ⋅ s (2.6)<br />

∂t<br />

n + j n ⋅ E n – u wn<br />

where w is the kinetic energy density <strong>and</strong> s is the energy flux, <strong>and</strong> both can be defined <strong>and</strong> evaluated<br />

from the carrier distribution function. The last two terms on the right h<strong>and</strong> side (RHS) of the above<br />

equation represent the energy conversion <strong>and</strong> net loss rates, respectively. The familiar Joule heat term,<br />

j where is the electric field acting on electrons 1 n ⋅ E n E n , actually represents the rate of conversion<br />

from the electrostatic potential to the kinetic energy, <strong>and</strong> u w is the rate of net loss (loss minus<br />

1. In heterostructures, the electric field acting on carriers is in general different for electrons <strong>and</strong><br />

holes.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 7


DUET Carrier Transport Model<br />

generation) for kinetic energy due to carrier recombination/generation <strong>and</strong> energy exchange with the<br />

lattice through phonon scattering. The first step in the development of carrier transport model is then<br />

to define <strong>and</strong> determine the expressions for various quantities used in the above balance equation.<br />

DUET model is based on the Stratton’s description of distribution function at non-thermal equilibrium<br />

(Eq. (2.1) <strong>and</strong> refer to [1] for details). The concept of the carrier temperature can directly be deduced<br />

from the definition of the kinetic energy density in this approach, <strong>and</strong> it turns out that the parameter<br />

T c , where c st<strong>and</strong>s for either n or p, used in the distribution function,<br />

,at quasi-thermal equilibrium<br />

(Eqs. (2.2) <strong>and</strong> (2.5)) is the carrier temperature following the ideal gas kinetics. The carrier<br />

concentration (n), kinetic energy density (w n<br />

), current density (j n<br />

), <strong>and</strong> energy flux (s n<br />

) can all be<br />

evaluated from the distribution function, f in Eq. (2.1), from their respective definitions by integration<br />

in the momentum (i.e. k ) space:<br />

f 0<br />

n<br />

fd 3 ⎛<br />

∫<br />

p N C exp E Fn – E C ⎞<br />

= = ⎜---------------------<br />

⎟<br />

⎝ k B T n ⎠<br />

∫<br />

p 2<br />

w n = --------- fdp3 =<br />

2m n<br />

*<br />

3<br />

--nk<br />

2 B T n<br />

(2.7)<br />

(2.8)<br />

j n<br />

q<br />

= –----- pfd 3 p<br />

m n<br />

*<br />

∫<br />

3<br />

*<br />

= qD n ∇n – --qnD<br />

2 n ∇lnm n + nµ n ∇E C + qnD T n ∇T n<br />

= nµ n ∇E Fn + qnµ n Q n ∇T n<br />

(2.9)<br />

m n<br />

*<br />

∫<br />

1<br />

s n = ----- p--------- p2<br />

fd 3 p =<br />

2m n<br />

*<br />

– P n T n j n – κ n ∇T n<br />

(2.10)<br />

where we have introduced the carrier momentum, p = ( h ⁄ 2π)k<br />

, <strong>and</strong> the integral element volume,<br />

d 3 p = ( dk <strong>and</strong> constant effective mass in (crystal) momentum space is assumed 1 x dk y dk z ) ⁄ ( 2π) 3<br />

.<br />

The transport coefficients D (diffusion constant), µ (carrier mobility), D T (thermal diffusivity or called<br />

“Soret” coefficient in [1]), Q (thermopower), P (thermoelectric power), <strong>and</strong> κ (thermal conductivity)<br />

1. This assumption is not required in the DUET model (see [2]) but is used for present implementation<br />

of the code.<br />

8 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


DUET Carrier Transport Model<br />

are all defined <strong>and</strong> can be evaluated from the even part of the distribution function f in the momentum<br />

space ( f 0 in Eq. (2.1) for DUET model), <strong>and</strong> are thus related to each other. For continuity of<br />

presentation, the expressions for these coefficients are not given here, rather they can be found in<br />

APPENDIX A. We now consider the rates for energy generation g w <strong>and</strong> loss r w , from which<br />

u w = r w – g w<br />

(2.11)<br />

r w is related to both carrier recombination <strong>and</strong> energy transferring from carriers to the lattice. At<br />

present, three recombination mechanisms are considered in the model <strong>and</strong> they are Shockley-Reed-<br />

Hall (SRH), Auger, <strong>and</strong> radiative recombinations. For g w , only the impact ionization, which is the<br />

inverse process of Auger recombination, is taken into account 1 . With all relevant mechanisms<br />

identified, we are able to list the complete set of equations for the DUET model <strong>and</strong> their auxiliary<br />

expressions as follows:<br />

Poisson’s equation:<br />

+ –<br />

∇⋅ (–<br />

ε∇ψ)<br />

= q( p – n + N D – N A )<br />

where dielectric constant, ε , is not to be confused with carrier kinetic energy, ε .<br />

(2.12)<br />

Carrier continuity equations:<br />

∂n<br />

-----<br />

∂t<br />

1<br />

--∇ ⋅ j<br />

q n – u<br />

∂p 1<br />

----- = –--∇ ⋅ j<br />

∂t q p – u<br />

where u is the net recombination rate of electron-hole pairs.<br />

=<br />

(2.13)<br />

(2.14)<br />

Carrier (kinetic) energy balance equations:<br />

∂w<br />

-------- n<br />

= – ∇ ⋅ s<br />

∂t<br />

n + j n ⋅ E n – u wn<br />

(2.15)<br />

1. Thus, photo-generation as discussed in Section 3.3.2 applies only to the conservation of carrier<br />

population.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 9


DUET Carrier Transport Model<br />

∂w<br />

-------- p<br />

= – ∇ ⋅ s<br />

∂t<br />

p + j p ⋅ E p – u wp<br />

(2.16)<br />

Thermal diffusion equation for the lattice:<br />

c L<br />

∂T L<br />

3<br />

3<br />

-------- = ∇ ⋅ ( κ<br />

∂t<br />

L ∇T L ) + u SRH<br />

--k<br />

2 B T n + E g ( T L ) + --k<br />

2 B T p +<br />

w n ( T n ) – w n ( T L ) w<br />

---------------------------------------- p ( T p )–<br />

w p ( T L )<br />

+ -----------------------------------------<br />

τ wn<br />

where <strong>and</strong> are energy relaxation times for electrons <strong>and</strong> holes, respectively.<br />

τ wp<br />

(2.17)<br />

τ wn τ wp<br />

j n qD n ∇n<br />

The following auxiliary expressions are needed for current <strong>and</strong> energy flux densities, <strong>and</strong><br />

energy loss rate in Eqs. (2.15)-(2.17).<br />

Current densities:<br />

3<br />

*<br />

= – --qnD<br />

2 n ∇lnm n + nµ n ∇E C + qnD T n ∇T n<br />

= nµ n ∇E Fn + qnµ n Q n ∇T n<br />

(2.18)<br />

j p<br />

=<br />

=<br />

3<br />

*<br />

– qD p ∇p + --qpD<br />

2 p ∇lnm p +<br />

pµ p ∇E Fp – qpµ p Q p ∇T p<br />

pµ p ∇E V – qpD T p ∇T p<br />

(2.19)<br />

Energy flux densities:<br />

s n<br />

=<br />

– P n T n j n – κ n ∇T n<br />

(2.20)<br />

s p = P p T p j p – κ p ∇T p<br />

(2.21)<br />

where D <strong>and</strong> µ are related by Einstein relationship (see Eq. (A.23) for a general expression) <strong>and</strong> Q is<br />

also linked to µ in a more complex way (Eq. (A.43)), other coefficients have more simple expressions<br />

if only Boltzmann statistics is considered.<br />

3<br />

P n P p P -- k B<br />

= = = ----<br />

2 q<br />

(2.22)<br />

10 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


DUET Carrier Transport Model<br />

κ n<br />

=<br />

nk B T n µ n P<br />

(2.23)<br />

κ p<br />

= pk B T p µ p P<br />

(2.24)<br />

It is apparent that the carrier mobility, µ, is the key parameter to other transport coefficients, <strong>and</strong> the<br />

mobility can be obtained either from the theoretical calculation or more often through empirical or<br />

semi-empirical formulation by fitting the analysis/simulation results to the experimental data. We will<br />

discuss in a great detail the mobility modeling in CHAPTER 3. Finally, the rate of net loss of carrier<br />

kinetic energy is modeled as follows:<br />

3<br />

3<br />

u wn = -- ( u<br />

2 SRH + u rad )k B T n – ( u n, Auger – g nimp , ) E g ( T L ) + --k<br />

2 B T p –<br />

3<br />

w<br />

--g k<br />

2 B T n ( T n ) – w n ( T L )<br />

n – ----------------------------------------<br />

pimp ,<br />

τ wn<br />

(2.25)<br />

3<br />

3<br />

u wp = --( u<br />

2 SRH + u rad )k B T p – ( u p, Auger – g pimp , ) E g ( T L ) + --k<br />

2 B T n –<br />

3<br />

w<br />

--g k<br />

2 B T p ( T p )–<br />

w p ( T L )<br />

p – -----------------------------------------<br />

nimp ,<br />

τ wp<br />

(2.26)<br />

where u SRH , u rad , <strong>and</strong> u Auger are net carrier loss rates due to SRH, Auger, <strong>and</strong> radiative<br />

recombinations, respectively, g imp is the generation rate due to the impact ionization (II). Note that for<br />

both Auger recombination <strong>and</strong> II, we need to distinguish if they are caused by electrons or holes. The<br />

last term on RHS of each above expression represents the energy exchange between the carriers <strong>and</strong><br />

lattice.<br />

A special case for the above general description (Eqs. (2.15)-(2.17)) is when only the lattice<br />

temperature is of concern, i.e., the carriers can be considered to have the same temperature as the<br />

lattice. Such a scenario is often encountered in, say, the simulation of power devices. We can then lump<br />

Eqs. (2.15)-(2.17) by requiring all temperatures being the same (designated T) <strong>and</strong> need to solve the<br />

following thermal diffusion equation only.<br />

∂ 3<br />

----- c (2.27)<br />

∂t L + --( n+<br />

p)k ⎝<br />

⎛ 2<br />

B ⎠<br />

⎞ T = ∇ ⋅ ( κL ∇T – s – s ) + j n p n ⋅ E n + j p ⋅ E p + u SRH E g ( T )<br />

Together with Poisson’s (Eq. (2.12)) <strong>and</strong> carrier continuity equations (Eqs. (2.13)-(2.14)), these four<br />

equations are solved for four state variables: ψ, n, p, <strong>and</strong> T (for both lattice <strong>and</strong> carriers).<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 11


DUET Carrier Transport Model<br />

2.3 Boundary Conditions<br />

Since the DUET model uses both carrier <strong>and</strong> lattice temperatures to specify the device state, we also<br />

need to establish thermal boundary conditions for temperatures in addition to the electrical boundary<br />

conditions (See [3] <strong>and</strong> [4] for detailed discussion). We discuss here only the thermal boundary<br />

conditions.<br />

Normally the Dirichlet thermal boundary condition, i.e., the known carrier <strong>and</strong> lattice<br />

temperatures, is applied to both thermal <strong>and</strong> electrical contacts. In many cases, however, the heat<br />

conduction through the intimate contacts to the device is modeled by a thermal resistance. In this case,<br />

the lattice (<strong>and</strong> carrier) temperature at the contact becomes unknown. The relationship between the<br />

heat flux <strong>and</strong> temperatures at the contact (<br />

) is specified as follows:<br />

T L,<br />

cont<br />

) <strong>and</strong> thermo-reservoir (the environment temperature,<br />

T env<br />

F th<br />

T env T L cont<br />

–<br />

= -------------------------------- ,<br />

(2.28)<br />

R th<br />

where the direction of the heat flux, F th , is defined as going into the device. In the present model, the<br />

carrier temperature is always assumed the same as the lattice temperature at the contact. There may be<br />

two types of contacts to the device: electrical <strong>and</strong> thermal ones. An electrical contact must be a thermal<br />

contact also, but the contrary is not necessarily true. For those boundaries of a device region where<br />

there is no electrical/thermal contact specified, a reflective boundary condition is assumed as is the<br />

case for electrical boundary conditions.<br />

12 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


CHAPTER 3<br />

Physical Models<br />

3.1 Mobility Models<br />

Carrier mobility is one of the most important parameters in the carrier transport model. In <strong>PISCES</strong>-<br />

<strong>2ET</strong>, the mobility is, for most cases, modeled as the function of the total doping density, N, lattice<br />

temperature, T L , surface/interface scattering mechanisms which are generally modeled using the<br />

dependence on the transverse electric field to the surface/interface, <strong>and</strong> the electric field along the<br />

current path (longitudinal field). When the device size is in the submicron regime, however, the local,<br />

longitudinal field dependence may not be accurate enough <strong>and</strong> non-local effects, which is mainly<br />

characterized by the carrier temperature dependence, have to be taken into consideration. The<br />

following expression describes in a general way the carrier mobility dependence on various factors:<br />

µ ( N, T L , E ⊥ , E || /T c ) = f ( µ 0 ( N, T L , E ⊥ ),<br />

E || /T c )<br />

(3.1)<br />

where E || <strong>and</strong> E ⊥ are the longitudinal <strong>and</strong> transverse components of the electric field with respect to<br />

(w.r.t) the current direction, µ 0<br />

, which depends on N, T L<br />

, <strong>and</strong> E ⊥ , is called the low field mobility<br />

because when E || → 0 , µ → µ 0 , T c<br />

is the carrier temperature with the subscript c representing either<br />

n or p for electrons <strong>and</strong> holes, respectively, <strong>and</strong> the symbol E || ⁄ T c indicates the dependency is either<br />

on E || or on T c but not on both. In some models such as ones developed by Intel, the above expression<br />

is simplified to the following form to separate mobility reductions due to different field components:<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 13


Physical Models<br />

µ ( N, T L , E ⊥ , E || /T c ) = µ 0 ( N,<br />

T L ) ⋅ r perp ( E ⊥ ) ⋅ r para ( E || )<br />

(3.2)<br />

where r’s are reduction factors <strong>and</strong> the subscripts perp <strong>and</strong> para represent the perpendicular <strong>and</strong><br />

parallel components of the electric field.<br />

In the following, we will first consider the low field mobility models without taking into account the<br />

effect of E ⊥ . We then consider the effect of the transverse field dependence <strong>and</strong> finally discuss the<br />

longitudinal field or carrier-temperature dependence.<br />

3.1.1 Low field Mobility Models<br />

Without considering the transverse field dependence, the low field mobility can be written as µ 0<br />

(N,<br />

T L<br />

). There are six such models available in <strong>PISCES</strong>-<strong>2ET</strong>.<br />

3.1.1.1 Constant Mobility<br />

This mobility model is invoked when none of the following logical parameters is included in the<br />

model card: conmob, ccsmob, analytic, arora, <strong>and</strong> user1. The mobility is then the function<br />

of material only <strong>and</strong> does not dependent on the doping density. However, the field dependency can still<br />

be included in the simulation when other parameters such as fldmob (for longitudinal) <strong>and</strong> tfldmob<br />

(for non-local transverse field) are specified in the model card. The values for four group of<br />

semiconductor materials are listed in TABLE 3.1.<br />

TABLE 3.1<br />

µ n (cm 2 V -1 s -1 ) µ p (cm 2 V -1 s -1 )<br />

Silicon / Ge x Si 1-x 1500 450<br />

GaAs / Al x Ga 1-x As 8500 400<br />

InAs / Al x In 1-x As 22600 250<br />

InP / Ga x In 1-x As y P 1-y 4500 150<br />

3.1.1.2 Table Look-up Doping Dependent Mobility<br />

When the parameter conmob is specified in the model card, the doping dependent mobility model is<br />

invoked. The default doping dependent model is based on a table look-up of data for silicon if none of<br />

parameters ccsmob, analytic, arora, <strong>and</strong> user1 is specified together with conmob in the<br />

model card(s). Tables of data for other materials are not available at present <strong>and</strong> constant value will<br />

14 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Physical Models<br />

be used instead with this option. The range of the data for doping concentrations in silicon is from<br />

14<br />

21<br />

N = 1×10<br />

to 1×10 cm – 3 . If the doping concentration falls out of the above range then the closest<br />

boundary value for the mobility is used, otherwise the following interpolation scheme is applied.<br />

µ 0 ( N 2 )–<br />

µ 0 ( N 1 ) N<br />

µ 0 ( N ) = µ 0 ( N 1 ) + ---------------------------------------- log------<br />

(3.3)<br />

log( N 2 ⁄ N 1 ) N 1<br />

where N 2 > N > N 1 . This model is valid for silicon only. Note that if any of the following parameters:<br />

ccsmob, analytic, arora, <strong>and</strong> user1, is used with or without conmob specified in the model<br />

card, that model takes precedence <strong>and</strong> the precedency of these models is user1, arora, analytic,<br />

<strong>and</strong> ccsmob with each preceding one overriding the trailing ones.<br />

3.1.1.3 Analytical Doping Dependent Mobility Model<br />

This model is invoked by parameter analytic in the model card. The formulation for this model<br />

is as follows:<br />

µ 0 ( N,<br />

T L ) = γµ surf ( N,<br />

T L ) + ( 1 – γ )µ bulk ( N,<br />

T L )<br />

(3.4)<br />

where γ is a coefficient with value between 0 <strong>and</strong> 1 depending on the relative distance from the surface/<br />

interface, µ surf<br />

<strong>and</strong> µ bulk<br />

are mobilities in the surface layer <strong>and</strong> bulk, respectively. γ is determined by<br />

an ERFC function as follows:<br />

γ 0.5 erfc y – y int – d<br />

= ⋅ ⎛-------------------------<br />

⎞<br />

(3.5)<br />

⎝ λ ⎠<br />

where the silicon <strong>and</strong> SiO 2 interface is assumed to be parallel to the x-axis, is the y coordinate of<br />

the interface, d <strong>and</strong> λ are two parameters: one for offset <strong>and</strong> the other for the characteristic length.<br />

Their default values are d = 0.06µ <strong>and</strong> λ = 0.03µ , <strong>and</strong> both can be accessed by users via parameters<br />

int.off <strong>and</strong> char.int in mobility card, respectively.<br />

The surface <strong>and</strong> bulk mobilities have the same form of dependence on N <strong>and</strong> T L<br />

as follows:<br />

y int<br />

µ ( N,<br />

T L )<br />

T L<br />

d<br />

---------------------- 1 + α( N )<br />

µ α ( N )<br />

=<br />

+ ---------------------- max 1 + α( N )<br />

µ min<br />

(3.6)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 15


Physical Models<br />

where α( N ) ( N ⁄ N 0 ) c b<br />

= T L <strong>and</strong> hereinafter T L = T L (in K) ⁄ 300, the normalized lattice<br />

temperature. But N has different meaning for bulk <strong>and</strong> surface. For bulk, N is simply the total doping<br />

concentration, while for surface N must include the effect of the interface charge in the following<br />

manner:<br />

N = N + cQ int<br />

(3.7)<br />

where Q is interface charge (in units of cm -2 int ) as specified by parameter qf in the interface card,<br />

<strong>and</strong> c is a scaling factor in units of cm -1 with default value of 10 7 <strong>and</strong> can be changed through<br />

parameter qss.conc in mobility card. Note that the effect of the surface mobility is taken into<br />

account only for those nodes which are directly (in the y-direction) under the Si/SiO 2 interface. There<br />

is one exception, however. That is, when the flag intelmob.par is set in model card, the surface<br />

mobility ( µ srf in Eq. (3.4)) uses a different expression from Eq. (3.6). The new expression has the form<br />

of<br />

– a<br />

µ srf = µ 0 T L<br />

where parameters <strong>and</strong> a for silicon are listed in Table 3.2.<br />

(3.8)<br />

µ 0<br />

Table 3.2<br />

µ (cm 2 V -1 s -1 0 ) a<br />

electrons 783.5 1.67<br />

holes 247.4 1.13<br />

µ max µ min N 0<br />

There are six parameters in Eq. (3.6): , , , b, c, <strong>and</strong> d, <strong>and</strong> all are dependent upon<br />

the carrier type (electrons or holes) <strong>and</strong> region (bulk or surface). The parameter values used in the code<br />

for silicon are listed in Table 3.3.<br />

Table 3.3<br />

electrons<br />

holes<br />

µ max (cm 2 V -1 s -1 ) µ min (cm 2 V -1 s -1 ) N 0 (cm -3 ) b c d<br />

bulk 1400 55.24 1.1 × 10 17 -3.8 0.73 -2.3<br />

surface 1200 1200 1.1 × 10 17 -3.8 0.73 -2.3<br />

bulk 500 49.7 1.6 × 10 17 -3.7 0.70 -2.2<br />

surface 500 49.7 1.6 × 10 17 -3.7 0.70 -2.2<br />

16 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Physical Models<br />

3.1.1.4 Arora’s Doping <strong>and</strong> Temperature Dependent Mobility Model<br />

An empirical mobility model based on the fitting to the measurement data for silicon at different lattice<br />

temperature has originally been proposed by Arora <strong>and</strong> et al. [5] <strong>and</strong> can be invoked by using<br />

parameter arora in the model card. The model has a general form of the following:<br />

µ 0<br />

µ<br />

( N,<br />

T L ) = µ min + -------------------------------- dlt<br />

1 + ( N ⁄ N 0 ) α<br />

(3.9)<br />

† units of cm 2 V -1 s -1 b<br />

where parameters µ min , µ dlt , N 0<br />

, <strong>and</strong> α are all functions of T L<br />

in the form of aT L where both a <strong>and</strong> b<br />

are constants. This model is later extended to apply to GaAs by Yu [6] based on the available measured<br />

data at 77 <strong>and</strong> 300 K. The parameter values for silicon <strong>and</strong> GaAs are listed in Table 3.4.<br />

Table 3.4<br />

†<br />

µ min<br />

†<br />

µ dlt N 0 (cm -3 )<br />

α<br />

electrons<br />

– 0.57<br />

88T L<br />

– 2.33<br />

1252T L<br />

17 2.4<br />

1.25×10 T L<br />

– 0.146<br />

0.88T L<br />

– 0.57<br />

– 2.23<br />

17 2.4<br />

– 0.146<br />

silicon holes 54.3T L 407T L 2.35×10 T L 0.88T L<br />

electrons<br />

– 0.7475<br />

2136T L<br />

– 2.687<br />

6331T L<br />

16 3.535<br />

7.345×10 T L<br />

– 0.1441<br />

0.6273T L<br />

– 1.124<br />

– 2.366<br />

GaAs holes 21.48T L 331.2T L<br />

17 3.690<br />

5.136×10 T L 0.8057<br />

3.1.1.5 User Definable Arora’s Mobility Model<br />

This model uses exactly the same formulation for doping <strong>and</strong> (lattice) temperature dependent mobility<br />

as Arora’s model discussed above. The only difference is that all the coefficients are put in an<br />

initializable subroutine initum1 in file usrmob1.f. If users want to change some of the<br />

coefficients in the model, they have to change this file <strong>and</strong> re-compile the program. This model can be<br />

invoked by parameter user1 in model card <strong>and</strong> is applied to silicon only.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 17


Physical Models<br />

3.1.1.6 “Carrier-Carrier Scattering” Mobility Model<br />

Invoked by parameter ccsmob in model card, the so-called “carrier-carrier scattering” mobility<br />

model follows the approach of Dorkel <strong>and</strong> Leturcq [7]. The model formulation is as follows <strong>and</strong> the<br />

mobility depends on the carrier concentrations also (the name of “carrier-carrier scattering”).<br />

µ ( N, T L , n,<br />

p) = µ L ( T L )<br />

1.025<br />

----------------------------------------------------------------------------- – 0.025<br />

1 + {( X( N, T L , n,<br />

p)<br />

) ⁄ 1.68} 1.43<br />

– α<br />

µ L ( T L ) = µ L0 T L<br />

(3.10)<br />

(3.11)<br />

X( N, T L , n,<br />

p)<br />

=<br />

6µ L [ µ I ( N,<br />

T L ) + µ ccs ( T L , n,<br />

p)<br />

]<br />

------------------------------------------------------------------------------<br />

µ I ( N,<br />

T L )µ ccs ( T L , n,<br />

p)<br />

(3.12)<br />

µ I ( N,<br />

T L )<br />

=<br />

3⁄<br />

2<br />

AT L<br />

2<br />

2<br />

-------------- N<br />

ln ⎛ 1 BT<br />

+ --------- L ⎞ BT<br />

– -------------------- L<br />

⎝ N ⎠<br />

2<br />

N + BT L<br />

–1<br />

(3.13)<br />

17<br />

3⁄<br />

2<br />

2×10 T L 8<br />

µ ccs ( T L , n,<br />

p)<br />

= --------------------------- [ ln{ 1 + 8.28×10 T 2 L ( pn) – 1 ⁄ 3 }] – 1<br />

pn<br />

where the parameters µ L0 , α , A, <strong>and</strong> B are listed in Table 3.5.<br />

(3.14)<br />

Table 3.5<br />

µ (cm 2 V -1 s -1 L0 ) α A (cm -1 s -1 V -1 K -3/2 ) B (cm -3 K -2 )<br />

electrons 1500 2.2<br />

holes 450 2.2<br />

Note that in the program, N is taken as the min (N, 10 19 ) where N is in units of cm -3 .<br />

3.1.2 Mobility Reduction due to Transverse Field<br />

4.61×10 1.52×10<br />

We now consider the effects of the electric field on the mobility. There are two modeling approaches:<br />

a general one as in Eq. (3.1) in which the effects of the transverse <strong>and</strong> longitudinal field components<br />

can be counted for separately, <strong>and</strong> a more specific form of Eq. (3.2) in which the field effects can be<br />

factorized. We first discuss the second approach in this section for the reason of simplicity. There are<br />

17<br />

17<br />

1×10 6.25×10<br />

15<br />

14<br />

18 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Physical Models<br />

two such models available in the program, both were developed by Intel (intelmob <strong>and</strong><br />

intelmob.par in model card). We then consider the Lombardi model (lombardi) which shares<br />

the same feature as Intel’s ones in that both transverse <strong>and</strong> longitudinal field effects are considered<br />

simultaneously in the code. In all these three models, the transverse field can be computed either based<br />

on the structure or by definition. We will elaborate this at the end of this section.<br />

3.1.2.1 Intel’s Local Field Models<br />

There are two mobility models developed by Intel for all doping, lattice temperature, <strong>and</strong> field<br />

(including both transverse <strong>and</strong> longitudinal) dependence with one single logical flag. They are<br />

described in this section. Both models follow the same formulation of Eq. (3.2), <strong>and</strong> µ 0 ( N,<br />

T L ) has<br />

the same expression as Eq. (3.4), the analytical model.<br />

For model invoked by parameter intelmob in model card,<br />

r perp = ( 1 + E ⊥ ⁄ E crit ) – β<br />

(3.15)<br />

where E crit is a parameter with value of 4.2×10 4 V/cm for electrons <strong>and</strong> 3×10 4 V/cm for holes in<br />

silicon, <strong>and</strong> β = 0.5 . These parameters are all accessible to users through mobility card.<br />

The second model specified by intelmob.par has different expression for (Eq. (3.8))<br />

<strong>and</strong> more user-accessible parameters for the reduction due to the transverse field:<br />

µ srf<br />

1<br />

r perp = ---------------------------------------<br />

1 + ( E ⊥ ⁄ E univ ) α<br />

where the parameters α <strong>and</strong> E univ<br />

are listed in Table 3.6.<br />

(3.16)<br />

Table 3.6<br />

electrons<br />

holes<br />

α<br />

E univ ( V/cm)<br />

1.02 5.71×10<br />

0.95 2.57×10<br />

5<br />

5<br />

Both Intel’s mobility models use µ 0 ( N, T L , E ⊥ ) = r perp ( E ⊥ )µ 0<br />

( N,<br />

T L ) for the low-field mobility.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 19


Physical Models<br />

3.1.2.2 Lombardi’s Model<br />

Different from the above approaches of simply applying a reduction factor to the low field mobility,<br />

<strong>PISCES</strong>-<strong>2ET</strong> also provides a more physics based model to account for the effect of the transverse field.<br />

This model is developed based on extensive experimental data by Lombardi et al. [8] <strong>and</strong> can be<br />

invoked by parameter lombardi in model card. This transverse field dependent mobility is<br />

expressed by using Mathiessen’s rule:<br />

1<br />

------------------------------- =<br />

µ ( N, T L , E ⊥ )<br />

1<br />

1<br />

------------------------------------<br />

(3.17)<br />

µ ac ( N, T L , E ⊥ )<br />

+ 1<br />

--------------------<br />

µ srf ( E ⊥ )<br />

+ µ ------------------------<br />

0 ( N,<br />

T L )<br />

where µ ac<br />

is the mobility due to the acoustic phonon scattering, which depends on both the transverse<br />

field <strong>and</strong> lattice temperature, µ srf<br />

is the one due to the surface scattering <strong>and</strong> is the function of the<br />

transverse field only, <strong>and</strong> µ 0<br />

(N, T L<br />

) can use any model in Section 3.1.1. The expressions for µ ac<br />

<strong>and</strong><br />

µ srf<br />

are as follows<br />

µ ac ( N, T L , E ⊥ )<br />

=<br />

B<br />

------<br />

E ⊥<br />

αN β<br />

+ -----------------<br />

1 ⁄ 3<br />

T L E ⊥<br />

(3.18)<br />

µ srf ( E ⊥ )<br />

=<br />

δ<br />

------<br />

2<br />

E ⊥<br />

(3.19)<br />

The parameters used in the above expressions are listed in Table 3.7 for electrons <strong>and</strong> holes,<br />

respectively.<br />

Table 3.7<br />

electrons<br />

holes<br />

B α β δ<br />

7<br />

5<br />

4.75×10 1.74×10 0.125 5.82×10<br />

7<br />

5<br />

9.93×10 8.84×10 0.0317 2.05×10<br />

14<br />

14<br />

Note that the units for N, T L<br />

<strong>and</strong> E ⊥ in the above two equations <strong>and</strong> in conjunction with the use of<br />

parameter values in Table 3.7 are cm -3 , K, <strong>and</strong> V/cm, respectively.<br />

20 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Physical Models<br />

There are now problems remain unspecified in the above Intel’s <strong>and</strong> Lombardi models. That<br />

is the evaluation of the transverse field <strong>and</strong> the reduction due to the longitudinal field. We discuss these<br />

issues in the following subsections.<br />

3.1.2.3 Evaluation of Transverse Electric Field<br />

The transverse field is defined as the field component the direction of which is perpendicular to the<br />

current flow, so, mathematically<br />

E × j<br />

E ⊥ = ---------------<br />

(3.20)<br />

j<br />

<strong>PISCES</strong>-<strong>2ET</strong> uses this formula to evaluate E ⊥ in the above three mobility models if the parameter<br />

strfld is not specified in model card. Such evaluation is computationally costly <strong>and</strong> might also<br />

cause numerically instability. Another alternative <strong>and</strong> simplification is to evaluate the normal field<br />

component based on the geometric proximity to the Si/SiO 2 interface. Thus when strfld is<br />

specified, the following formula is used:<br />

E ⊥ E y e y y int<br />

=<br />

(3.21)<br />

where y is the coordinate in the axis perpendicular to the interface, E y is the transverse field at the<br />

interface (y int<br />

), <strong>and</strong> L is the characteristic length which has a value of 0.5µ.<br />

3.1.2.4 Watt’s Surface Mobility Model<br />

–( – ) ⁄ L<br />

J. Watt of <strong>Stanford</strong> proposed a simple approach to modeling the surface mobility in the inversion layer<br />

in silicon near the Si-SiO 2 interface [9]. The inversion layer is assumed to be confined only in the first<br />

grid spacing in the silicon at the direction perpendicular to the interface. Thus the interface is at the top<br />

of the inversion layer whereas the first grid in the silicon lies at the bottom of the inversion layer. The<br />

requirement for the meshing when this model is to apply is that the top grid spacing should be<br />

reasonably large (a couple of hundred angstroms), quite contrary to the conventional thought that the<br />

meshing should be dense at the substrate surface. The carrier mobility in the inversion layer, µ 0,<br />

inv ,<br />

depends on the effective transverse field, E ⊥,<br />

eff , in the inversion layer. The model accuracy has been<br />

verified against the measurement <strong>and</strong> is in agreement with the universal mobility model requirement<br />

[10]. This model can be invoked by using parameter srfmob in the model card. The effective<br />

transverse field, , is defined <strong>and</strong> calculated as:<br />

E ⊥,<br />

eff<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 21


Physical Models<br />

1<br />

E ⊥, eff =<br />

ε si<br />

----- ( ζQ d + ηQ i )<br />

(3.22)<br />

where Q d is the charge density (per unit surface area) in the inversion layer due to the ionized<br />

impurities <strong>and</strong> Q i is the charge density due to the inverted (minority) carriers, <strong>and</strong> both ζ <strong>and</strong> η are<br />

physics-based fitting parameters. It is usually taken that ζ = 1 for both carriers <strong>and</strong> η = 0.5 for<br />

electrons <strong>and</strong> η = 0.33 for holes. The dependence of the mobility on E ⊥,<br />

eff is modeled in the<br />

following way by using Mathiessen’s rule:<br />

1<br />

------------<br />

µ 0,<br />

inv<br />

1<br />

= -------<br />

µ ph<br />

1<br />

=<br />

1 1<br />

+ ------ + -------<br />

µ sr µ im<br />

----------- ⎛ 1 6<br />

-------------<br />

×10 ⎞ α1 1<br />

µ ref 1<br />

⎝E ⊥,<br />

eff<br />

⎠ µ ----------- 1 6<br />

+ ⎛-------------<br />

×10<br />

ref 2<br />

⎝ ⎠<br />

1<br />

µ ----------- ⎛ 1 18<br />

----------------<br />

×10 ⎞ – 1 12<br />

⎛1×10<br />

---------------- ⎞ α3<br />

+<br />

ref 3<br />

⎝ N B<br />

⎠ ⎝ N i<br />

⎠<br />

⎞ α2<br />

E ⊥,<br />

eff<br />

(3.23)<br />

where µ ph<br />

is the mobility due to the phonon scattering, µ sr<br />

is the one due to the surface roughness<br />

scattering, <strong>and</strong> µ im<br />

is due to the scattering of the charged impurities in the inversion layer. And N B<br />

is<br />

the doping density in the substrate (units of cm -3 ), <strong>and</strong> N i<br />

is the inverted carrier density per unit surface<br />

area in the channel (units of cm -2 ). The other parameters are listed in Table 3.8.<br />

Table 3.8<br />

η µ ref 1 α1 µ ref 2 α2 µ ref 3 α3<br />

electrons (295K) 0.50 481 -0.160 591 -2.17 1270 1.07<br />

electrons (77K) 0.75 5260 0.334 1700 -2.32 680 1.03<br />

holes (295K) 0.33 92.8 -0.296 124 -1.62 534 1.02<br />

holes (77K) 0.45 280 -0.516 213 -1.86 210 1.03<br />

The modeling of mobility dependence on the transverse field can generally be categorized as<br />

two classes: local or non-local field dependence. The local field dependence refers to the fact that the<br />

transverse electric field is computed locally, whereas non-local field dependence is to find an effective<br />

transverse field to be used in the mobility formulation <strong>and</strong> this effective field is computed based on the<br />

knowledge over the entire inversion (or accumulation) layer in the silicon substrate at the Si/SiO 2<br />

22 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Physical Models<br />

interface. All the models discussed so far are of local field nature. In next section we will discuss two<br />

non-local models, both developed at University of Texas, Austin.<br />

3.1.2.5 Shin’s Non-local Transverse Field Models<br />

A non-local mobility model is the one in which the mobility is not solely determined by the local<br />

electric field <strong>and</strong> there are some non-local quantities in the mobility formulation. For example, the<br />

mobility in the inversion layer at the surface of the substrate below the gate oxide may also be affected<br />

by the inversion layer conditions (layer thickness, etc.). In the following, we first provide the model<br />

formulation <strong>and</strong> then state briefly the requirement on the user input. The first model, invoked by<br />

parameter oldtfld in model card has the following dependence [11]:<br />

µ ( N, T L , E ⊥ , E || )<br />

=<br />

µ 0 ( N, T L , E ⊥ ) E ⊥ – E<br />

--------------------------------- --------------------------------------- dµ 0 0<br />

+<br />

---------<br />

µ 0 E ||<br />

1 + -----------<br />

⎝<br />

⎛ µ 0 E ||<br />

⎠<br />

⎞2 1 + -----------<br />

⎝<br />

⎛ ⎠<br />

⎞2<br />

3 ⁄ 2dE ⊥<br />

v sat<br />

v sat<br />

(3.24)<br />

where the dependence of µ 0 is listed only once. Note that all four parameters, N, T L , E ⊥ , <strong>and</strong> E || are<br />

functions of space, so are µ <strong>and</strong> µ 0 . The non-locality is represented by the quantity of E 0 which is<br />

defined as the transverse electric field at the edge (i.e. bottom) of the inversion layer. The inversion<br />

layer edge is in turn determined by the criterion that the inverted carrier concentration starts to drop<br />

below the doping density. The expression for is<br />

µ 0<br />

where<br />

µ 0 ( N, T L , E ⊥ )<br />

=<br />

⎛ ------------------------ 1<br />

3.2 –9<br />

×10 --T p 1 ⁄ 2<br />

+<br />

⎞ – 1<br />

⎝ – 5 ⁄ 2<br />

1150T<br />

z L<br />

⎠<br />

L<br />

(3.25)<br />

3 ⁄ 2<br />

p = 0.09T L + 1.5×10<br />

–8<br />

N f<br />

----------------<br />

n 1 ⁄ 4 T L<br />

(3.26)<br />

0.039T<br />

z<br />

L 1.24×10<br />

= ------------------- + ------------------------------<br />

E ⊥ + E<br />

------------------ 0 ⎛<br />

E ⊥ + E<br />

------------------ 0 ⎞ 1 ⁄ 3<br />

2 ⎝<br />

2<br />

⎠<br />

(3.27)<br />

where n is the inverted carrier density in the inversion layer <strong>and</strong> in this particular case is the electron<br />

concentration for the n-channel MOSFET, <strong>and</strong> N f is the fixed interface charge per unit area at the Si/<br />

–5<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 23


Physical Models<br />

SiO 2 interface. To use this model, users need to provide the location of the gate oxide through<br />

parameters ox.left, ox.right, <strong>and</strong> ox.bottom in the model card.<br />

An extended version of Schwarz-Russek formulation [12] is also available in the code by<br />

specifying tfldmob in the model card. The formulation <strong>and</strong> its parameters are described below:<br />

µ 0 ( N, T L , E ⊥ )<br />

1 1 1<br />

= ⎛-------<br />

+ ------ + ----- ⎞<br />

⎝<br />

⎠<br />

(3.28)<br />

where µ ph<br />

is the mobility due to the scattering by phonons in both bulk <strong>and</strong> surface <strong>and</strong> fixed interface<br />

charge, <strong>and</strong> µ sr<br />

is the one due to the surface roughness scattering, <strong>and</strong> µ C<br />

is to the screened Coulomb<br />

scattering. The detailed expressions for those three mobilities can be found in [13].<br />

3.1.3 Mobility Dependency on Longitudinal Field/Carrier<br />

Temperature<br />

When the electric field along the current flow (called longitudinal field) becomes large, the carrier<br />

mobility is reduced. This reduction is on top of the reduction due to the transverse field which usually<br />

happens only at the semiconductor <strong>and</strong> insulator interface. The longitudinal field reduction of the<br />

mobility can be modeled either as the function of the local field if the field intensity is not very large<br />

or the spatial change of either the field or the doping concentration is not very rapid, or as the function<br />

of the carrier temperature if the energy relaxation process lags apparently behind that of the momentum<br />

relaxation, a phenomenon termed as the non-local effect. In the following, we first give a general<br />

formulation for the mobility reduction due to the longitudinal field. Then two models for GaAs are<br />

provided. One exhibits the behavior of the negative differential mobility when the field exceeds a<br />

critical value <strong>and</strong> is the accurate model for electrons in the bulk material. The other has a saturation<br />

velocity <strong>and</strong> is suitable for the surface channel mobility modeling. Finally we present two carriertemperature<br />

dependent mobility models.<br />

3.1.3.1 General Formulation for Field Dependent Mobility in Silicon<br />

µ ph<br />

A general approach to modeling the effect of the longitudinal field on the carrier mobility is to multiply<br />

a reduction factor with the low-field mobility which may have taken into consideration the effect of<br />

the transverse field. Thus,<br />

µ sr<br />

µ C<br />

–1<br />

24 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Physical Models<br />

µ ( N, T L , E ⊥ , E || ) = r para ( E || )µ 0<br />

( N, T L , E ⊥ )<br />

<strong>and</strong> the reduction factor is modeled as (refer to [14])<br />

r para<br />

(3.29)<br />

(3.30)<br />

where in silicon β is 1.395 for electrons <strong>and</strong> 1.215 for holes, <strong>and</strong> the saturation velocity, v sat , has the<br />

expression in Table 3.9. The parameter β can be changed by the user through two parameters,<br />

b.electrons <strong>and</strong> b.holes, in the model card.<br />

3.1.3.2 GaAs Mobility Models<br />

µ 0 ( N, T L , E ⊥ )E ||<br />

r para = 1 + ---------------------------------------<br />

⎝<br />

⎛ ⎠<br />

⎞β<br />

v sat<br />

It can be deduced from Eqs. (3.29)-(3.30) that the carrier drift velocity, which is equal to ,<br />

increases monotonically as E || increase <strong>and</strong> saturates at v sat . However, for electrons in the bulk GaAs<br />

due to the existence of several valleys with different effective mass in the conduction b<strong>and</strong> structure,<br />

the drift velocity reaches a peak as the electric field is increased to a critical value <strong>and</strong> then the velocity<br />

decreases as the field further increases. This phenomenon, if viewed from the mobility modeling point<br />

of view, amounts to a negative differential mobility (defined as dv ⁄ dE || ). To model this field<br />

dependence for electrons in GaAs, a model proposed first by Thim [15] is used as follows:<br />

– 1 ⁄ β<br />

µE ||<br />

µ ( N, T L , E || )<br />

=<br />

v sat<br />

µ 0 ( N,<br />

T L ) ------- E ||<br />

+ ⎛-----<br />

⎞ 4<br />

E ⎝E 0<br />

⎠<br />

-----------------------------------------------------<br />

E ||<br />

1 + -----<br />

⎝<br />

⎛ ⎠<br />

⎞4<br />

E 0<br />

(3.31)<br />

where E 0<br />

is the critical field <strong>and</strong> has a default value of 4kV/cm, <strong>and</strong> v sat = 1.13×10 – 1.2×10 T L . It<br />

can be shown that when E > E 0 Eq. (3.31) leads to a negative differential mobility (NDM). This is the<br />

default field dependent mobility model for electrons in GaAs <strong>and</strong> the value of E 0<br />

can be altered by the<br />

user through the parameter E0 in the model card.<br />

One problem related to the above formulation is that when applied to the simulation of GaAs<br />

MESFET, the drain output characteristics (current vs. voltage) may exhibit an unrealistic zig-zag<br />

behavior. One possible reason is that the correct mobility model in the bulk may not be suitable to the<br />

carriers in the surface channel. In the program, we provide another mobility model for electrons in<br />

GaAs, in which the carrier velocity approaches the saturation velocity with increased field<br />

7<br />

4<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 25


Physical Models<br />

monotonically in a manner of the hyperbolic tangent function. The model formulation is as follows<br />

[16] <strong>and</strong> does not exhibit NDM behavior.<br />

µ ( N, T L , E || )<br />

=<br />

v sat ⎛µ ------- 0 ( N,<br />

T L )E || ⎞<br />

tanh⎜------------------------------<br />

⎟<br />

E || ⎝<br />

⎠<br />

v sat<br />

(3.32)<br />

This model can be invoked through parameter hypertang in the model card.<br />

3.1.3.3 Carrier Temperature Dependent Mobility in Si (Haensch’s Model)<br />

A carrier temperature instead of local-field dependent mobility model as proposed Haensch [17] is<br />

available in the program. The normal mobility dependences on doping, lattice-temperature, <strong>and</strong><br />

vertical electric field in the Si-SiO 2<br />

interface are all preserved in this model. The complete formulation<br />

for this mobility model as applied to silicon is as follows:<br />

µ ( N, T L , E ⊥ , T c )<br />

µ 0 ( N, T L , E ⊥ )<br />

= --------------------------------------------------------------------------<br />

3<br />

1 + --α ( N, T<br />

2 L , E ⊥ )k B ( T c – T L )<br />

(3.33)<br />

where the subscript c st<strong>and</strong>s for carriers, α is defined as being proportional to µ 0<br />

in the following way:<br />

µ<br />

α( N, T L , E ⊥ ) 0 ( N, T L , E ⊥ )<br />

= ---------------------------------<br />

(3.34)<br />

2<br />

qτ w v sat ( T L )<br />

where τ w<br />

is the energy relaxation time <strong>and</strong> v sat<br />

is the saturation velocity for carriers, respectively. Their<br />

default values for silicon are listed in Table 3.9 where is in units K.<br />

T L<br />

Table 3.9<br />

τ w ( ps) v sat ( cm/s)<br />

electrons 0.42<br />

holes 0.25<br />

6<br />

8.64×10 – 2.68×10 T L<br />

6<br />

10.65×10 – 2.68×10 T L<br />

3<br />

3<br />

26 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Physical Models<br />

3.1.3.4 Local Field Dependent Mobility Transformed from Haensch’s Model<br />

The following mobility model preserves the local field dependency, but it is transformed from<br />

Haensch’s formulation (Eqs. (3.33)-(3.34)). The model is valid for silicon only <strong>and</strong> can be invoked<br />

through parameter fmob.new in model card.<br />

2<br />

µ ( N, T L , E ⊥ , E||<br />

) = µ 0<br />

( N, T L , E ⊥ )-------------------------------------------------------------------------<br />

1 1 4 µ 0( N , T L,<br />

E ⊥)E --------------------------------------- 2 ||<br />

+ +<br />

v sat<br />

(3.35)<br />

3.2 Thermal Conductivity Formula<br />

The thermal conductivity, κ, in the expression of carrier-energy/heat flux plays equally important role<br />

as mobility does in the current density expression. In CHAPTER 2 we have given expressions of κ for<br />

carriers in terms of the mobility. For thermal conductivity of the lattice, κ L<br />

, it is assumed that the power<br />

dependence on the lattice temperature is observed, i.e.,<br />

κ L ( T L )<br />

– α<br />

= κ 0 T L (3.36)<br />

where κ 0<br />

is the thermal conductivity at T L<br />

= 300 K <strong>and</strong> varies from material to material while α is a<br />

constant (1.2) for all materials. Table 3.10 lists κ L<br />

for different materials as implemented in the code.<br />

Table 3.10<br />

material κ (W K -1 cm -1 0 ) material κ (W K -1 cm -1 0<br />

)<br />

silicon 1.45 oxide 0.25<br />

GaAs 0.44 nitride 0.25<br />

AlAs 0.91 sapphire 0.25<br />

InAs 0.29 insulator 0.25<br />

InP 0.80 Al 0.5 Ga 0.5 As 0.0903<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 27


Physical Models<br />

3.3 Recombination <strong>and</strong> Generation Mechanisms<br />

3.3.1 Impact Ionization Models<br />

The generation rate of electron-hole pairs due to the carrier impact ionization (II) is generally modeled<br />

as [18] 1 G = α n nv n + α p pv p<br />

(3.37)<br />

where v n<br />

<strong>and</strong> v p<br />

are the electron <strong>and</strong> hole velocities, respectively, <strong>and</strong> the impact ionization rates, α n<br />

<strong>and</strong> α p<br />

, which are defined as the number of electron-hole pairs generated by a carrier per unit distance<br />

traveled. The II rate thus defined is a strong function of the local electric field or more accurately (as<br />

most researchers now agree) of local carrier temperature. <strong>PISCES</strong>-<strong>2ET</strong> provides several II rate models<br />

having either local field or carrier temperature dependence. In the following we will first discuss the<br />

more classical local field dependent model <strong>and</strong> provide the relevant material parameters <strong>and</strong> then the<br />

carrier temperature dependent models.<br />

3.3.1.1 Local Field Dependent II Rate<br />

–( ⁄ )<br />

α Ae b E ||<br />

=<br />

(3.38)<br />

where E is the electric field component which is parallel to the current flow, i.e.,<br />

2 || E || = j ⋅ E⁄<br />

j .<br />

The parameters used in the above expression for different materials are listed in Table 3.11<br />

Table 3.11<br />

Parameter Si GaAs/Al x Ga 1-x As Ga x In 1-x As y P 1-y Al x In 1-x As<br />

6<br />

6<br />

A n (cm -1 ) 3.8×10 [18] 4.0×10 [19] 3×10 [20] 8.6×10<br />

[21]<br />

6<br />

6<br />

A p (cm -1 ) 2.25×10 [18] 1.34×10 [18] 3×10 2.3×10<br />

[21]<br />

6<br />

6<br />

b n (V/cm) 1.75×10 [18] 2.3×10 [19] 6.4×10 [20] 3.5×10<br />

[21]<br />

4<br />

4<br />

5<br />

6<br />

7<br />

6<br />

1. Correction has been made to the original formulation (Eq. (80) on p. 59 of [18]).<br />

2. We do not consider in Eq. (3.38) the situation of j ⋅ E < 0, i.e. the current is against the field direction.<br />

28 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Physical Models<br />

Table 3.11<br />

Parameter Si GaAs/Al x Ga 1-x As Ga x In 1-x As y P 1-y Al x In 1-x As<br />

6<br />

6<br />

b p (V/cm) 3.26×10 [18] 2.03×10 [18] 6.4×10 4.5×10<br />

[21]<br />

E eff E ||<br />

m n 1 [18] 1 [19] 1 [20] 1 [21]<br />

m p 1 [18] 1 a 1 1 [21]<br />

a. 2 in [18] but by comparison to the experimental data 1 is more proper.<br />

3.3.1.2 Carrier Temperature Dependent II Models<br />

There are several ways to model the carrier temperature dependent impact ionization. One way is to<br />

map the carrier temperature to an effective electric field, , in replacing in Eq. (3.38) <strong>and</strong> all the<br />

material parameters in the expression are kept unchanged. The mapping between T c<br />

<strong>and</strong> E eff is done<br />

through the following formulation (refer to [22]):<br />

E eff =<br />

5<br />

-- k B<br />

---- T c – T<br />

----------------- L<br />

2 q γ L w<br />

(3.39)<br />

where L w = τ w v sat is called the energy relaxation length <strong>and</strong> γ is an adjustable parameter (for fitting<br />

the experimental data) which can be accessed by the user using impjt.ratio in the model card<br />

(default: 1.0). The second way is to approximate the actual carrier (drift) velocity with their saturation<br />

velocity <strong>and</strong> to use carrier-temperature dependent ionization rate as follows:<br />

5<br />

6<br />

G<br />

=<br />

α( T n )nv sat, n + α( T p )pv sat,<br />

p<br />

(3.40)<br />

– ⁄ B c<br />

α( T c ) A c e T c<br />

=<br />

(3.41)<br />

where c st<strong>and</strong>s for either n or p. The values of A <strong>and</strong> B are listed inTable 3.12. This model can be<br />

Table 3.12<br />

electrons<br />

holes<br />

A (cm -1 ) B (K)<br />

6<br />

3.8×10 1.75×10<br />

7<br />

2.25×10 3.26×10<br />

6<br />

6<br />

invoked through parameter imp.nvt in the model card.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 29


Physical Models<br />

The third modeling approach in developing carrier temperature dependent II is to ab<strong>and</strong>on the<br />

generation rate dependence on the carrier (average) velocity at all. The rationing behind this approach<br />

is that when the carrier energy is higher than some threshold value the generation rate should be<br />

determined by the number of high energy carriers only no matter which direction they travel. This<br />

model can be invoked by parameter imp.nt in the model card, <strong>and</strong> the formulation <strong>and</strong> its<br />

parameters are as follows:<br />

B<br />

G nA n T<br />

n<br />

n e C n T n<br />

B<br />

pA p T<br />

p<br />

p e C p<br />

=<br />

+<br />

where the parameters A, B, <strong>and</strong> C are listed Table 3.13<br />

–<br />

⁄<br />

–<br />

⁄ T p<br />

(3.42)<br />

3.3.2 Photo-Generation<br />

This model is invoked by parameter photogen in the model card. The generation rate due to<br />

photons is modeled as a forced generation term which is proportional to the photon flux,<br />

3.3.3 SRH Recombination<br />

Table 3.13<br />

A B C<br />

electrons 5.5×10<br />

4.0 0.8<br />

holes 2.0×10<br />

4.0 1.0<br />

Shockley-Read-Hall (SRH) recombination rate is determined by the following formula:<br />

11<br />

13<br />

F ph<br />

, <strong>and</strong> the<br />

intensity decays exponentially deep into the device along the incident path. The decay length is<br />

characterized by the absorption coefficient, α. The current implementation assumes only y-<br />

dependence:<br />

gy ( ) = αF ph e – αy<br />

(3.43)<br />

where F ph<br />

has units of cm -2 s -1 <strong>and</strong> α units of cm -1 . Both F ph<br />

<strong>and</strong> α have to be specified by the user<br />

through parameters flux <strong>and</strong> abs.coef in the model card.<br />

2<br />

np – n<br />

r i<br />

SRH = ------------------------------------------------------------------------------------------------------------------------<br />

(<br />

τ n p n i e E i – E t ) ⁄ ( k B T L )<br />

(<br />

[ +<br />

] τ p n n i e E t – E i ) ⁄ ( k B T L )<br />

+ [ +<br />

]<br />

(3.44)<br />

30 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Physical Models<br />

where E t<br />

is the energy level for the recombination centers <strong>and</strong> E i<br />

is the intrinsic Fermi Energy. Carrier<br />

lifetimes, τ n<br />

<strong>and</strong> τ p<br />

, can be either constant or dependent upon the total doping concentration (parameter<br />

consrh in model card). The formula for the doping dependent is as follows:<br />

τ = -----------------------------------<br />

(3.45)<br />

1 + N tot ⁄ N SRH<br />

where N tot<br />

is the total doping concentration, <strong>and</strong> the default values for parameters τ 0<br />

<strong>and</strong> N srh<br />

are the<br />

–7<br />

16<br />

same for both types of carriers in silicon <strong>and</strong> τ s <strong>and</strong> cm -3 0 = 1×10<br />

N srh = 5×10<br />

. If the interfacial<br />

recombination is to be included, it is through the change of carrier lifetime in the following way:<br />

τ eff<br />

(3.46)<br />

where A <strong>and</strong> d are partial area <strong>and</strong> interface length associated with the node in the element,<br />

respectively, <strong>and</strong> is the interface recombination velocity.<br />

s int<br />

3.3.4 Auger Recombination<br />

1<br />

------- =<br />

τ 0<br />

ds int 1<br />

---------- + --<br />

A τ<br />

This is a three-carrier recombination process, involving either two electrons <strong>and</strong> one hole or two holes<br />

<strong>and</strong> one electron. The dependence on n <strong>and</strong> p is as follows:<br />

2<br />

u Aug ( n,<br />

p) = ( c n n + c p p) ( np – n i )<br />

(3.47)<br />

–31<br />

–32<br />

where the default values for c <strong>and</strong> in silicon are <strong>and</strong> cm 6 s -1 n c p 2.8×10 9.9×10<br />

, respectively.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 31


Physical Models<br />

32 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


CHAPTER 4<br />

Material Properties for<br />

Heterostructures<br />

In CHAPTER 2 <strong>and</strong> APPENDIX A, expressions are introduced for carrier transport in<br />

heterostructures. In order to perform the simulation, essential material parameters must be known. In<br />

this chapter, we will mainly discuss various material properties needed for device simulation <strong>and</strong> their<br />

dependence on the composition.<br />

4.1 Material Parameters for Device Simulation<br />

Material parameters in compound semiconductors depend strongly on the composition as well as (to a<br />

lesser degree) on the doping level. We start with identifying which material properties (parameters)<br />

are mostly concerned in the device simulation <strong>and</strong> then discuss the composition dependence in terms<br />

of mole fraction. Beside, the lattice temperature effect on some parameters will also be mentioned.<br />

The minimum set of material parameters which have to be known in order to proceed the<br />

device simulation include:<br />

1. Electron affinity, χ , <strong>and</strong> conduction b<strong>and</strong> edge offset due to the composition change.<br />

2. Energy b<strong>and</strong>gap, E g .<br />

* *<br />

3. Effective masses for electrons <strong>and</strong> holes, m n <strong>and</strong> m p , from which the effective densities of states<br />

for the conduction <strong>and</strong> valence b<strong>and</strong>s, N C <strong>and</strong> N V , can be derived (Eq. (2.4)).<br />

4. Static <strong>and</strong> high-frequency dielectric constants, <strong>and</strong> .<br />

ε 0<br />

ε ∞<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 33


Material Properties for Heterostructures<br />

5. Electron <strong>and</strong> hole mobilities, µ n <strong>and</strong> µ p , <strong>and</strong> their dependence on composition, doping density,<br />

electric field, <strong>and</strong> temperature.<br />

6. Minority carrier lifetime <strong>and</strong> corresponding coefficients for various recombination mechanisms<br />

including Auger <strong>and</strong> radiative.<br />

7. Coefficients for the impact ionization.<br />

8. Saturation velocity, , which is used as a parameter in certain field-dependent mobility models.<br />

v sat<br />

Before we address the detailed values <strong>and</strong> dependence of these parameters, however, we will<br />

first discuss the interpolation scheme for determining the compound material parameters based on the<br />

knowledge of the base materials which constitute the compound.<br />

4.2 Interpolation Scheme for Composition<br />

Dependence<br />

The parameters for ternary materials can be determined using the linear interpolation scheme from<br />

those of the constituent binary materials. But often this simple scheme is not accurate enough <strong>and</strong> the<br />

quadratic term, which is available for some materials from experimental data, has to be included. For<br />

examples, refer to Eq. (4.5) <strong>and</strong> other formulation for energy b<strong>and</strong>gaps in Section 4.4.1. The material<br />

parameters for quaternaries can be determined from those of ternaries using the following interpolation<br />

scheme.<br />

Qxy ( , )<br />

1<br />

= --------------------------------------------- ⋅<br />

x( 1 – x) + y( 1 – y)<br />

{<br />

x( 1 – x) [( 1 – y)T Gax In 1 – x P + yT Gax In 1 – x As] +<br />

y( 1 – y) ( 1 – x) [( 1 – x)T InAsy P 1 – y<br />

+ xT GaAsy P 1 – y<br />

]}<br />

where Ga x In 1-x As y P 1-y is used as an example for quaternary material. We now provide a number of<br />

material parameters in <strong>PISCES</strong>-<strong>2ET</strong> as discussed below.<br />

(4.1)<br />

34 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Material Properties for Heterostructures<br />

4.3 Data for Material Parameters<br />

4.3.1 Parameters for Base Materials<br />

Currently <strong>PISCES</strong>-<strong>2ET</strong> can h<strong>and</strong>le four material systems: Ge x Si 1-x , Al x Ga 1-x As, Al x In 1-x As, <strong>and</strong><br />

Ga x In 1-x As y P 1-y . Those compound materials can be derived from four types of base materials: Si,<br />

GaAs, InAs, <strong>and</strong> InP. A partial list of their respective material parameters are given in th following.<br />

Table 4.1<br />

E g<br />

†<br />

E g<br />

α<br />

β<br />

ε 0<br />

ε ∞<br />

χ<br />

m n<br />

*<br />

*<br />

m lh<br />

*<br />

m hh<br />

N C<br />

†<br />

N V<br />

†<br />

µ n<br />

†<br />

µ p<br />

†<br />

†<br />

v sat<br />

Si GaAs InAs InP units<br />

1.08 [23] 1.424 [24] 0.359 [28] 1.347 [26] eV<br />

1.17 [24] 1.519 [24] 0.4105 [28] 1.4205 eV<br />

4.73 [24] 5.405 [24] 3.35 [29] 4.1 10 -4 eV/K<br />

636 [24] 204 [24] 248 [29] 136 K<br />

11.8 [25] 13.1 [24] 14.55 [29] 12.4 [26]<br />

10.9 12.25 [28] 9.55 [26]<br />

4.17 [23] 4.07 [24] 4.9 [29] 4.4 [29] eV<br />

1.08 [25] 0.067 [26] 0.023 [26] 0.08 [26]<br />

0.16 [24] 0.074 [26] 0.024 [29] 0.089 [26]<br />

0.49 [24] 0.62 [26] 0.41 [29] 0.85 [26]<br />

19<br />

17<br />

m 0<br />

m 0<br />

m 0<br />

2.8×10 [24] 4.42×10 8.72×10 5.66×10 cm – 3<br />

19<br />

18<br />

1.04×10 [24] 8.47×10 6.66×10 2.03×10 cm – 3<br />

1500 [24] 8500 [24] 22600 [29] 4500 [29] cm 2 /V.s<br />

450 [24] 400 [24] 250 [27] 150 [29] cm 2 /V.s<br />

7<br />

7<br />

16<br />

18<br />

1.5×10 [27] 1×10 [23] 2.5×10<br />

[23] cm/ s<br />

7<br />

17<br />

19<br />

† T L = 300 K<br />

The lattice temperature dependent energy b<strong>and</strong>gap is modeled as follows:<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 35


Material Properties for Heterostructures<br />

2<br />

αT<br />

E g ( T L ) = E g0 – --------------- L<br />

(4.2)<br />

β + T L<br />

where T L is in K. When the data for the light <strong>and</strong> heavy holes are available, the overall hole effective<br />

mass used in the program is determined by<br />

*3 ⁄ 2<br />

m p<br />

*3 ⁄ 2<br />

*3 ⁄ 2<br />

m hh<br />

= m lh +<br />

(4.3)<br />

We have also defined three auxiliary materials: Ge, AlAs, <strong>and</strong> GaP, which are used to constitute the<br />

desired ternaries <strong>and</strong> quaternary. Their material parameters relevant to simulation are listed below:<br />

Table 4.2<br />

Parameters Ge AlAs GaP units<br />

E g<br />

†<br />

E g0<br />

α<br />

β<br />

ε 0<br />

ε ∞<br />

χ<br />

m n<br />

*<br />

*<br />

m lh<br />

*<br />

m hh<br />

N C<br />

†<br />

N V<br />

†<br />

† T L = 300 K<br />

0.67 [25] 2.14 [28] 2.24 [25] eV<br />

0.744 [24] 2.23 [28] 2.4 [25] eV<br />

4.77 [24] 4.0 [28] 5.4 [25] 10 -4 eV/K<br />

235 [24] K<br />

15.8 [25] 10.06 [28] 10.2 [25]<br />

8.16 [28] 8.90 [29]<br />

4.0 [25] 3.62 [23] 4.0 [29] eV<br />

0.55 [25] 0.124 [28] 0.17 [26]<br />

0.044 [24] 0.26 [28] 0.14 [26]<br />

0.28 [24] 0.5 [28] 0.79 [26]<br />

19<br />

m 0<br />

m 0<br />

m 0<br />

1.04×10 [24]<br />

cm – 3<br />

18<br />

6.0×10 [24]<br />

cm – 3<br />

Now we discuss how the parameters for the compound materials are determined, starting with<br />

the b<strong>and</strong>gap.<br />

36 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Material Properties for Heterostructures<br />

4.4 B<strong>and</strong> Structure Parameters<br />

4.4.1 B<strong>and</strong>gap<br />

We will discuss first those compound semiconductors which need only one mole fraction to determine<br />

the composition, that is, either Ge x Si 1-x or ternaries. For Ge x Si 1-x , currently only the data for the<br />

strained layer [30] is accessible in the program. The formulation is as follows (in units of eV):<br />

E g ( x) =<br />

1.16 – 0.945<br />

E gSi , – -----------------------------x<br />

0.245<br />

x ≤ 0.245<br />

=<br />

0.945 – 0.87<br />

0.945 – ----------------------------- ( x – 0.245)<br />

0.35 – 0.245<br />

0.245 < x ≤ 0.35<br />

=<br />

0.87 – 0.78<br />

0.87 – -------------------------- (<br />

0.5 – 0.35<br />

– 0.35 ) 0.35 < x ≤ 0.5<br />

0.78 – 0.72<br />

= 0.78 – -------------------------- (<br />

0.6 – 0.5<br />

– 0.5 )<br />

0.5 < x ≤ 0.6<br />

=<br />

0.72 – 0.69<br />

0.72 – -------------------------- ( x – 0.6)<br />

0.675 – 0.6<br />

0.6 < x ≤ 0.675<br />

=<br />

0.69 – 0.66<br />

0.69 – -------------------------------- ( x – 0.675)<br />

0.735 – 0.675<br />

0.675 < x ≤ 0.735<br />

= 0.66<br />

x > 0.735<br />

(4.4)<br />

For Al x Ga 1-x As, simply use<br />

E g ( x) = 1.424 + 1.247x<br />

x ≤ 0.45 (direct b<strong>and</strong>)<br />

= 1.900 + 0.125x + 0.143x 2 x > 0.45 (indirect b<strong>and</strong>)<br />

(4.5)<br />

For b<strong>and</strong>gap of Al x In 1-x As, as x is increased from 0 to 1 the b<strong>and</strong> structure also undergoes a<br />

transition from the direct to indirect b<strong>and</strong>gap <strong>and</strong> the critical composition is x = 0.56 . The expression<br />

for E g at room temperature is as follows [31]:<br />

E g = 2.95x + 0.36( 1 – x) – 0.7x( 1 – x)<br />

x ≤ 0.56 (direct)<br />

= 2.16x + 1.37( 1 – x) – 0.7x( 1 – x)<br />

x > 0.56 (indirect)<br />

(4.6)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 37


Material Properties for Heterostructures<br />

where when x < 0.56 the (direct) b<strong>and</strong>gap is determined by the Γ valley of the conduction b<strong>and</strong><br />

( E g ( AlAs) = 2.95eV , E g ( InAs) = 0.36eV ), <strong>and</strong> when x > 0.56 the (indirect) b<strong>and</strong>gap is<br />

determined by the X valley ( E g ( AlAs) = 2.16eV , E g ( InAs) = 1.37eV .)<br />

Before giving the expression for the b<strong>and</strong>gap in the quaternary Ga x In 1-x As y P 1-y . we first list<br />

the expressions for the b<strong>and</strong>gaps of four ternary materials, on which Ga x In 1-x As y P 1-y is based.<br />

E g ( Ga x In 1 – x P) = 1.35 + 0.643x + 0.786x 2<br />

E g ( Ga x In 1 – x As) = 0.36 + 0.505x + 0.555x 2<br />

E g ( InAs y P 1 – y ) = 1.35– 1.083y + 0.091y 2<br />

E g ( GaAs y P 1 – y ) = 2.74– 1.473y + 0.146y 2<br />

(4.7)<br />

(4.8)<br />

(4.9)<br />

(4.10)<br />

And for the strained Ga x In 1-x As layer, the b<strong>and</strong>gap is evaluated according to the expression<br />

provided by Corzine et al. [32]:<br />

E g ( Ga x In 1 – x As) = 1.424 – ( 1 – x) { 1.061 – ( 1 – x) [ 0.07 + 0.03( 1 – x)<br />

]}<br />

(4.11)<br />

If either x or y in Ga x In 1-x As y P 1-y has the value of zero or one, then one of the expressions,<br />

Eqs. (4.7) - (4.10), is used to evaluate the b<strong>and</strong>gap, otherwise the following general formula is used to<br />

evaluate the (lowest-direct) b<strong>and</strong>gap in Ga x In 1-x As y P 1-y [26]:<br />

E g ( x,<br />

y)<br />

1<br />

= --------------------------------------------- {<br />

x( 1 – x) + y( 1 – y)<br />

x ( 1 – x )[( 1 – y)E g ( Ga x In 1 – x<br />

P) + yE g ( Ga x In 1 – x<br />

As)<br />

]<br />

+ y( 1 – y) ( 1 – x) [( 1 – x)E g ( InAs y P 1 – y ) + xE g ( GaAs y P 1 – y )]}<br />

The values obtained from the above expression is for room temperature ( = 300K ).<br />

T L<br />

(4.12)<br />

4.4.2 Electron Affinity <strong>and</strong> B<strong>and</strong>-edge Offsets<br />

The b<strong>and</strong> edge offsets caused by the composition change are critical in determining the heterostructure<br />

device characteristics. In <strong>PISCES</strong>-<strong>2ET</strong>, the b<strong>and</strong> edge offsets are actually accounted for by the change<br />

of the electron affinity <strong>and</strong> the b<strong>and</strong>gap. Even in the homogeneous material, if the b<strong>and</strong>gap narrowing<br />

occurs due to the heavy doping effect, the b<strong>and</strong> edges shift towards the center of the b<strong>and</strong>gap. It is<br />

38 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Material Properties for Heterostructures<br />

usually assumed in this case that the amount of the edge shift for both the conduction <strong>and</strong> valence<br />

b<strong>and</strong>s are the same. For the current implementation, except of Al x Ga 1-x As, Al x In 1-x As, <strong>and</strong> Ga x In 1-<br />

x As y P 1-y , it is assumed that all b<strong>and</strong>gap change due to the composition change occurs only at the<br />

valence edge due to the lack of sufficient experimental data. However, the b<strong>and</strong>gap narrowing due to<br />

the heavy doping effect, is accounted for in the aforementioned manner for all materials, i.e., evenly<br />

split. For Al x Ga 1-x As / GaAs, ∆E C : ∆E V is taken as 0.6 : 0.4 <strong>and</strong> for Al x In 1-x As / InAs, 0.706 : 0.294,<br />

where ∆E is considered positive when the b<strong>and</strong> edge is exp<strong>and</strong>ing, that is the b<strong>and</strong>gap becomes larger.<br />

For Ga x In 1-x As y P 1-y / InP the b<strong>and</strong>gap change is simply assumed evenly split among the conduction<br />

<strong>and</strong> valence b<strong>and</strong>s edges 1 . By designating the percentage of the shift of conduction b<strong>and</strong> edge with<br />

respect to the b<strong>and</strong>gap change as γ, we have the following relationship for the electron affinity as<br />

function of the mole fractions:<br />

χ( x,<br />

y) = χ( 00 , )–<br />

γ[ E g ( x,<br />

y) – E g ( 00 , )]<br />

(4.13)<br />

For ternaries, y does not appear in the formula. And<br />

∆E C<br />

=<br />

– ∆χ<br />

(4.14)<br />

∆E V = ∆χ + ∆E g<br />

(4.15)<br />

4.4.3 Effective Mass <strong>and</strong> Density of States<br />

The calculation of the effective density of states is based on the density-of-state effective mass, which<br />

in turn depends on the mole fraction. Moreover, one needs to consider for electrons the effective<br />

masses at different valleys in the conduction b<strong>and</strong> <strong>and</strong> for holes the light <strong>and</strong> heavy masses in order to<br />

construct the overall effective masses used in computing the densities of states. We use a different<br />

formulation to compute effective masses for each different material system based on our best<br />

knowledge. For Al x Ga 1-x As / GaAs material system, since we know composition dependence of<br />

electron effective mass <strong>and</strong> b<strong>and</strong> gap at each valley (Γ, L, <strong>and</strong> X), we can use weighted scheme to<br />

compute the electron effective mass (for details, see [33]). And for holes, the following linear formula<br />

is used:<br />

1. ∆E C = ( 71±<br />

7)%∆E g is measured for Al 0.48 In 0.52 As / Ga 0.47 In 0.53 As in [34].<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 39


Material Properties for Heterostructures<br />

( x)<br />

-------------- = 0.48 + 0.31x<br />

m p *<br />

m 0<br />

(4.16)<br />

For Al x In 1-x As / InAs system, we simply use the linear interpolation scheme for both<br />

electrons <strong>and</strong> light <strong>and</strong> heavy holes. That is,<br />

*<br />

*<br />

xm AlAs<br />

m * ( x) = ( 1 – x)m InAs +<br />

(4.17)<br />

where the effective masses for InAs <strong>and</strong> AlAs can be found in Table 4.1 <strong>and</strong> Table 4.2, respectively.<br />

For Ga x In 1-x As y P 1-y / InP, the interpolation scheme based on the constituent binaries is used<br />

for obtaining the effective masses for electrons <strong>and</strong> light <strong>and</strong> heavy holes. For electrons, we don’t<br />

distinguish between the bulk <strong>and</strong> the strained layer. The interpolation scheme is as follows:<br />

m n<br />

*<br />

=<br />

*<br />

( 1 – x)ym n,<br />

InAs<br />

*<br />

xym n,<br />

GaAs<br />

+ ( 1 – x) ( 1 – y)m n,<br />

InP +<br />

+ x( 1 – y)m n,<br />

GaP<br />

*<br />

*<br />

(4.18)<br />

For holes, the effective masses of the light <strong>and</strong> heavy holes in the bulk material are calculated<br />

in the same manner. However, for the strained layer, they are taken as constants according to Corzine<br />

in [35] 1 .<br />

*<br />

m lh<br />

=<br />

0.078m 0<br />

(4.19)<br />

*<br />

m hh<br />

4.5 Dielectric Constants<br />

= 0.165m 0<br />

(4.20)<br />

Different interpolation schemes are used for different compound materials. For ternaries Al x Ga 1-x As<br />

<strong>and</strong> Al x In 1-x As, we use the same scheme as in SEDAN [33] for Al x Ga 1-x As. That is, by knowing the<br />

dielectric constants at high <strong>and</strong> low frequencies for the constituent binaries, the respective dielectric<br />

constant is evaluated using<br />

1. We have intentionally flipped the data for the light <strong>and</strong> hole holes because of suspicion of the mistake<br />

incurred in the cited paper.<br />

40 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Material Properties for Heterostructures<br />

1 2 x ε 1 – 1<br />

------------- ( 1 – x) ε 2 – 1<br />

+ + -------------<br />

ε<br />

ε<br />

1 + 2 ε 2 + 2<br />

= ------------------------------------------------------------------------<br />

1 x ε 1 – 1<br />

– ------------- ( 1 – x) ε 2 – 1<br />

– -------------<br />

ε 1 + 2 ε 2 + 2<br />

(4.21)<br />

where ε 1<br />

is that of AlAs for both the materials, <strong>and</strong> ε 2<br />

is that of GaAs for AlGaAs <strong>and</strong> of InAs for<br />

AlInAs. The formulation applies to both high <strong>and</strong> low frequencies.<br />

The dielectric constants for Ge x Si 1-x are obtained by using the linear interpolation for those<br />

of Ge <strong>and</strong> Si. For the quaternary Ga x In 1-x As y P 1-y , the interpolation scheme in Eq. (4.18) is used based<br />

on the data for the constituent binaries.<br />

4.6 Mobilities<br />

Due to the lack of experimental data, the mobility dependences on composition, doping, lattice<br />

temperature, <strong>and</strong> field are not complete for most of the compound materials. Whenever data are not<br />

available constant mobility as listed in Section 3.1.1.1 is used. Readers are referred to [29] for data for<br />

many other materials, even though the collection of data is rather out-of-date (1971).<br />

4.7 Impact Ionization<br />

For relevant formulas <strong>and</strong> material parameters, see Section 3.3.1.1.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 41


Material Properties for Heterostructures<br />

42 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


CHAPTER 5<br />

Numerical Techniques<br />

In this chapter various numerical techniques <strong>and</strong> data structure will be discussed. Since the<br />

development of <strong>PISCES</strong> has spanned over a decade, we only address here the improvement over the<br />

previous versions (II <strong>and</strong> II-B). Interested readers are referred to reports [3] <strong>and</strong> [4].<br />

5.1 High <strong>and</strong> Zero Frequency AC Analyses<br />

The algorithm for AC analysis in the device simulation mostly follows Laux’s approach [36] <strong>and</strong> is<br />

based on the perturbation method applied to the DC solution. Before we discuss the improvement in<br />

the original implementation (<strong>PISCES</strong> IIB), the mathematical essence of the AC analysis is first<br />

described.<br />

5.1.1 General Principle of AC Small Signal Analysis<br />

Consider x as the column vector of all the basic variables to be solved such as ψ, n <strong>and</strong> p, <strong>and</strong> column<br />

vector p represents all the applied terminal bias, the task of DC analysis can be considered as the<br />

solution to the following nonlinear, algebraic equation:<br />

F( x,<br />

p) = 0<br />

(5.1)<br />

where both the equation vector (also a column vector) F <strong>and</strong> variable vector x have dimension of N,<br />

the number of all basic variables in the simulation region, i.e., F, x ∈ R N , while the parameter vector<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 43


Numerical Techniques<br />

p has the dimension of M, no bigger than the total number of the device terminals, or p ∈<br />

analyses involving the time evolution such as transient <strong>and</strong> AC analyses, the above equation must be<br />

modified to include the time derivative part. Thus,<br />

R M<br />

. For<br />

where<br />

F + f = 0<br />

(5.2)<br />

f = D ∂ -----<br />

x<br />

(5.3)<br />

∂t<br />

where D is a diagonal matrix (N× N) with rows corresponding to the Poisson’s equation zero <strong>and</strong> others<br />

–1 . We now apply bias of form<br />

p = p+<br />

p˜ e jωt<br />

(5.4)<br />

That is, an AC signal of angular frequency ω <strong>and</strong> amplitude p˜ (notice that the multi-dimensionality<br />

represents the bias at all terminals) which is generally a vector of complex numbers, superimposed on<br />

the DC bias, p. The response, that is the solution vector x, should also have the form of<br />

x = x + x˜ e jωt<br />

(5.5)<br />

where vector x is the DC response <strong>and</strong> are the real numbers, <strong>and</strong> x˜ is a phasor vector <strong>and</strong> are complex<br />

numbers due to the change of phase in response to the input signal. For the small signal analysis,<br />

p˜ → 0 where represents the norm of the vector, hence x˜ → 0 . Substituting Eqs. (5.4) <strong>and</strong> (5.5)<br />

into Eq. (5.2) <strong>and</strong> applying the Taylor expansion to Eq. (5.2), by retaining only terms which have the<br />

first order of e jωt on obtains the following equation:<br />

F( x,<br />

p) + [ F x ( x,<br />

p)x˜ + F p ( x,<br />

p)∆p + jωDx˜ ]e jωt = 0<br />

(5.6)<br />

Note that in the above we have replaced p˜ with a real number vector ∆p , i.e. we assume all the input<br />

signals are in the same phase. Furthermore, because both x <strong>and</strong> p are vectors the derivatives of F x<br />

<strong>and</strong> F p are actually matrices with F x being a square one while F p is generally not.<br />

With the DC solution already known, i.e.<br />

following:<br />

F( x,<br />

p) = 0 , Eq. (5.6) can be simplified to the<br />

( + jωD)x˜ = – F p ∆p<br />

F x<br />

(5.7)<br />

44 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Numerical Techniques<br />

<strong>and</strong> the only unknown variable is x˜ , the AC response. Because x˜ is a complex number, we can write<br />

x˜ = x r + jx i where x r <strong>and</strong> x i are real <strong>and</strong> imaginary parts, respectively, <strong>and</strong> j = – 1, Eq. (5.7) then<br />

becomes a set of two equations in real number mathematics:<br />

F x x r – ωDx i = – F p ∆p<br />

(5.8)<br />

ωDx r + F x x i = 0<br />

(5.9)<br />

These two equations are coupled to each other so to find x r<br />

<strong>and</strong> x i<br />

, they have to be solved<br />

simultaneously in principle. Because each of vectors x r<br />

<strong>and</strong> x i<br />

has dimension of N, then we must solve<br />

a system of equations with dimension of 2N × 2N which needs to quadruple the memory storage as is<br />

required for the DC analysis. Because the AC analysis is usually not performed as routinely as the DC<br />

analysis, to set aside a large trunk of memory space solely for the AC analysis is not an economic<br />

choice especially when the program is not written to take the advantage of dynamic memory allocation.<br />

It is preferable, therefore, to use an iterative method to solve the above equation. One popular method,<br />

also the one used in <strong>PISCES</strong> IIB is the so-called SOR (Successive Over-Relaxation) method [36]. The<br />

essence of this method can better be seen from the following matrix equation form:<br />

⎛J<br />

– ωD⎞⎛x r ⎞ ⎛B⎞<br />

Ax = ⎜<br />

⎟⎜<br />

⎟ = ⎜ ⎟<br />

(5.10)<br />

⎝ ωD J ⎠⎝x i ⎠ ⎝ 0⎠<br />

where we have altered the symbols used in Eqs. (5.8)-(5.9) with the Jacobian matrix J = F x <strong>and</strong> the<br />

stimulus B = – F p ∆p which has non-zero (real number) terms only for rows corresponding to the<br />

Poisson’s equation. If the magnitude of the off-diagonal elements, i.e., ω D, in the above block matrix<br />

equation are small compared to the diagonal elements, then the iterative approach by repeating the loop<br />

of first solving<br />

J x r = B + ωDx i<br />

for x r<br />

while fixing x i<br />

<strong>and</strong> then solving<br />

(5.11)<br />

J x i = – ωDx r<br />

(5.12)<br />

for x i<br />

using the recently updated x r<br />

, will converge easily. But as the ω increases, the convergence<br />

becomes poorer <strong>and</strong> eventually fails to converge when the frequency approaches the cutoff frequency,<br />

f T<br />

, of the device under analysis [36]. A final note regarding SOR method is the use of relaxation factor.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 45


Numerical Techniques<br />

Instead of employing the above simple iteration procedure (Eqs. (5.11) <strong>and</strong> (5.12)), the actual iteration<br />

takes form of<br />

k + 1<br />

x r<br />

=<br />

k<br />

( 1 – ν)x r<br />

νJ – 1<br />

k<br />

+ ( B + ωDx i )<br />

(5.13)<br />

k + 1<br />

k<br />

x i ( 1 – ν)x i νJ – 1 k + 1<br />

= + (– ωDx r )<br />

(5.14)<br />

where ν is the relaxation factor <strong>and</strong> its value ranges from 0 to 2, <strong>and</strong> k is the iteration count. When<br />

ν = 1 , Eqs. (5.13) <strong>and</strong> (5.14) are reduced to Eqs. (5.11) <strong>and</strong> (5.12). One of the most challenging tasks<br />

in SOR method is to determine the optimized value of ν <strong>and</strong> we will discuss later other iteration<br />

schemes which avoid using the relaxation factor at all.<br />

5.1.2 Matrix Transformation to Improve Diagonal Dominance<br />

The diagonal dominance of the coefficient matrix for the linear equation system at high frequency can<br />

be improved by performing a matrix transformation or called pre-conditioning. A properly chosen<br />

matrix T is left-multiplied to the both sides of (5.10) such that the resulted coefficient matrix,<br />

A T = TA, will have a better or roughly the same diagonal dominance when the frequency increases.<br />

This transformation matrix can indeed be constructed as follows. Considering the coefficient matrix A<br />

in Eq. (5.10) as a 2×<br />

2 block matrix, the presence of the off-diagonal blocks with opposite signs<br />

actually enhances the determinant of the entire matrix. This observation suggests the use of the<br />

following transformation matrix [37]:<br />

I<br />

– 1<br />

⎛<br />

ωDD<br />

T<br />

J<br />

⎞<br />

= ⎜ – 1<br />

⎟<br />

(5.15)<br />

⎝–<br />

ωDD J I ⎠<br />

where I is the identity matrix <strong>and</strong> D J<br />

is the diagonal matrix consisting of only the diagonal elements in<br />

J. The resulting equation is thus<br />

J ω 2 DD – 1<br />

1<br />

⎛ + J D ωDD – J J 0 ⎞⎛x r ⎞ ⎛B⎞<br />

A T x = ⎜<br />

⎟⎜<br />

⎟ = ⎜ ⎟<br />

1<br />

– ωDD J J ω 2 1<br />

⎝<br />

+ DD – J D⎠⎝x i ⎠ ⎝ 0⎠<br />

– J 0<br />

(5.16)<br />

46 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Numerical Techniques<br />

where J <strong>and</strong> the property of has been used to arrive at the above equation 1 0 = J – D J<br />

DB = 0<br />

. Note<br />

– 1<br />

that because D J is a diagonal matrix so its inverse D J is trivial to compute. It becomes immediately<br />

clear from Eq. (5.16) that although the magnitude of the off-diagonal blocks still increases<br />

proportionally with ω, that of the diagonal entries may increase even faster due to the additional term<br />

which is proportional to<br />

ω 2<br />

, thus avoiding the problem of diagonal blocks being overwhelmed by the<br />

off-diagonals. There are three distinctive ranges of frequencies where the transformed matrix shows<br />

different characteristics. At low frequencies, which can be quantified by all the non-zero entries in<br />

– 1<br />

ωDD J being much less than unity, off-diagonal blocks can be considered as small perturbations with<br />

respect to the diagonal blocks <strong>and</strong> iterative algorithms should do well with or without the<br />

– 1<br />

transformation. At very high frequencies, where all the non-zero entries of ωDD J are much greater<br />

than unity, the enhancement to the diagonal blocks makes the entire matrix become increasingly<br />

diagonally dominant, which implies the improved performance for the iterative algorithm. At the<br />

intermediate frequencies between these extremes, however, the situation is not as clearly cut since the<br />

off-diagonal blocks can no longer be considered as small perturbations while the growth in the<br />

enhancements to the diagonal blocks has not caught up with the growth in the off-diagonals.<br />

5.1.3 Pre-conditioned TFQMR Method for AC Analysis<br />

As mentioned in Section 5.1.1, the choose of an optimized relaxation factor in SOR method is a<br />

difficult task. It is, therefore, much preferable to have an iterative method which does not require any<br />

relaxation factor, yet still keep the efficient usage of the memory space. In <strong>PISCES</strong>-<strong>2ET</strong>, we employ<br />

an iterative method called TFQMR (Transpose-Free Quasi-Minimal Residual) method [38]. The major<br />

difference from the conventional SOR method is, in addition to the elimination of the relaxation factor,<br />

that it updates the entire solution array, ( , ) T , simultaneously. Before we describe the detailed<br />

x r<br />

x i<br />

procedure flow of this method, however, we will discuss the pre-conditioning technique further more.<br />

For any iterative method to converge fast in solving linear equation system, it is always desirable to<br />

have a near identity coefficient matrix. The near identity of a matrix can be achieved by preconditioning,<br />

that is, to multiply a certain matrix (called pre-conditioner) on the both sides of the<br />

equation. A simple <strong>and</strong> natural choice of the pre-conditioner would be the block diagonal matrix<br />

derived from the original coefficient matrix. With such a pre-conditioner, only back substitutions are<br />

1. The right h<strong>and</strong> side of Eq. (5.10) has been multiplied by T but the result remains the same as the<br />

original.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 47


Numerical Techniques<br />

needed during iteration. Designating the pre-conditioner as P = M – 1 , then the matrix M for Eq. (5.16)<br />

will be<br />

<strong>and</strong><br />

M<br />

=<br />

– D<br />

J ω 2 1<br />

⎛ + DD<br />

⎜<br />

J<br />

⎝ 0<br />

0<br />

– D<br />

J ω 2 1<br />

+ DD J<br />

⎞<br />

⎟<br />

⎠<br />

(5.17)<br />

⎛J 0 ⎞<br />

M = ⎜ ⎟<br />

(5.18)<br />

⎝0 J ⎠<br />

for Eq. (5.10). Readers can verify that by using these pre-conditioners, the resulting coefficient<br />

matrices have identity matrices as their diagonal blocks. At the low frequency, the off-diagonal blocks<br />

are very small in magnitude, leading to a quick convergence.<br />

As an iterative algorithm, the SOR method has the advantage of simplicity <strong>and</strong> minimal<br />

requirement for the data storage. In practice, however, we have found that a proper relaxation<br />

coefficient is difficult to obtain. In contrast, there are several attractive advantages with the so-called<br />

QMR (Quasi-Minimal-Residual) iterative algorithm [39]. Until quite recently, all existing iterative<br />

algorithms either use non-minimization procedure in generating the update vectors, which results in a<br />

very volatile residual reduction process, or use a full minimization procedure which requires<br />

increasing data storage as the iteration proceeds. By applying a quasi-minimal residual approach,<br />

QMR is able to retain the advantage of requiring only the fixed amount of data storage. At the same<br />

time, the residual reduction process becomes very smooth with only occasional, insignificant<br />

increases. Furthermore, like all other Krylov subspace methods based on the Lanzos vectors, no<br />

external parameters are needed [39]. The particular QMR algorithm we have implemented in <strong>PISCES</strong>-<br />

<strong>2ET</strong> is the TFQMR (Transpose-Free Quasi-Minimal-Residual) [38] with the pre-conditioner M in<br />

either Eq. (5.17) or Eq. (5.18) applied before iteration. The detailed procedure of TFQMR with preconditioner<br />

M is summarized as follows:<br />

1. Initialization:<br />

(a) b = M -1 B;<br />

(b) y 1 = u 0 = r 0 = r˜ = b, x 0 = d 0 = 0;<br />

48 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Numerical Techniques<br />

(c) ρ 0 = τ 0 = r 0 , θ 0 = η 0 = 0 ;<br />

2. For n = 12… , , do<br />

ν n – 1 M – 1 Ay 2n – 1<br />

(a) =<br />

;<br />

(b) σ n – 1 = r˜ ⋅ v n – 1 , α n – 1 = ρ n – 1 ⁄ σ n – 1 ;<br />

(c) y 2n = u n – 1 – α n – 1 v n – 1 ;<br />

(d) r n = r n – 1 – α n 1 ( – + y 2n – 1 ) ;<br />

(e) ω 2n + 1 = r n , ω 2n = r n ⋅ r n – 1 ;<br />

(f) For m = 2n – 1,<br />

2n do<br />

• d m = y m + ( θ m – 1 η m – 1 ⁄ α n – 1 )d m – 1 ;<br />

2<br />

• θ m = ω m + 1 ⁄ τ m – 1 , c m = 1 ⁄ 1+<br />

θ m ;<br />

• τ m = ω m + 1<br />

c m , η m = c 2 m α n – 1 ;<br />

• x m = x m – 1 + η m d m ;<br />

•Ifx has converged: stop.<br />

(g) ρ n = r˜ ⋅ r n , β n = ρ n ⁄ ρ n – 1 ;<br />

(h) u n = r n + β n y 2n ;<br />

(i) y 2n + 1 = u n + β n ( y 2n + β n y 2n – 1 ) ;<br />

In [38], 1 + mτ m is given as an upper limit for the residual norm. In our implementation, the<br />

residual norm is initially assumed to be equal to τ m (a coefficient of unity). When τ m drops below the<br />

tolerance, the true residual norm is evaluated, which also gives out the real proportional coefficient<br />

between the residual norm <strong>and</strong><br />

– M – 1 Au n 1<br />

2<br />

τ m<br />

. If the residual norm is not below the tolerance, the iteration<br />

continues with the new coefficient.<br />

The effectiveness of the TFQMR with pre-conditioning in AC analysis has been tested in an<br />

analysis of GaAs MESFET [40]. There is essentially no limitation as to how high the frequency can<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 49


Numerical Techniques<br />

be applied to the device during simulation <strong>and</strong> the agreement between the measured <strong>and</strong> simulated<br />

results are very good.<br />

5.1.4 Zero Frequency AC Analysis<br />

As the conclusion of this section, we present a special case in the AC analysis where a direct method<br />

can be used <strong>and</strong> the results of this type of analysis have broad applications. This is the case when the<br />

frequency approaches zero. In this case, x r<br />

can be found directly from Eq. (5.8) by setting ω = 0 . It<br />

would be tempted to conclude that x i = 0 from Eq. (5.9) using the same reasoning. By doing so,<br />

however, valuable information will be lost. Consider the case where x i<br />

is proportional to the frequency,<br />

which actually often occurs in the device characterization. For example, in capacitance x i = ωC . The<br />

linear coefficient can then be extracted from solving Eq. (5.9) even when ω → 0 . A practical<br />

application would be the evaluation of the junction capacitance including both the depletion <strong>and</strong><br />

diffusion components. Thus by assuming x i = ωC where C is an array of trans-capacitances, one can<br />

find C by solving the following equation<br />

F x C = – Dx r<br />

(5.19)<br />

Information such as the change of the storage charge from the quasi steady state analysis can<br />

thus be obtained by using the zero-frequency AC analysis, which involves only two more solutions of<br />

a linear equation with the coefficient matrix the same as the Jacobian for the DC solution but different<br />

right h<strong>and</strong> side terms.<br />

5.2 Discretization Scheme for Carrier <strong>and</strong> Energy<br />

Fluxes<br />

In assembling the node equations for continuity equations, a key issue is to express the carrier/energy<br />

flux along the grid line using the variables on the two ends of the line. A classic discretization scheme<br />

for the current (or the carrier flux) as function of the carrier density <strong>and</strong> potential is the Scharfetter-<br />

Gummel discretization scheme. Now the carrier <strong>and</strong> lattice temperatures are also introduced as the<br />

basic variables, we need to re-examine the original scheme. The discretization form for the carrier flux<br />

from node 1 to node 2 along the grid line linking these two nodes is as follows when the temperature<br />

effects are taken into consideration:<br />

50 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Numerical Techniques<br />

1<br />

F n, 1→<br />

2 =<br />

d 21<br />

1<br />

F p, 1 → 2 =<br />

d 21<br />

------ [ µ n2 Bu ( n,<br />

21 )n 2 T n2 – µ n1 B( – u n,<br />

21 )n 1 T n1 ]<br />

------ [ µ p1 Bu ( p,<br />

21 )p 1 T p1 – µ p2 B( – u p,<br />

21 )p 2 T p2 ]<br />

where F n = – j n ⁄ q <strong>and</strong> F p = j p ⁄ q, <strong>and</strong> B is the Bernoulli function defined as<br />

u c 21<br />

x<br />

Bx ( ) = -------------<br />

e x – 1<br />

is the function of the potential difference <strong>and</strong> carrier temperature defined as follows:<br />

(5.20)<br />

(5.21)<br />

(5.22)<br />

,<br />

u c 21<br />

ψ 2 – ψ<br />

, = ---------------------------------- 1<br />

(5.23)<br />

( T c1 + T c2 ) ⁄ 2<br />

where c st<strong>and</strong>s for either n or p <strong>and</strong> d 21<br />

is the distance between nodes 1 <strong>and</strong> 2. The assumptions made<br />

in the above discretization scheme are:<br />

1. Mobility is constant along the grid line between nodes 1 <strong>and</strong> 2 (called as interval) <strong>and</strong> its value<br />

is the average of the mobilities on two nodes.<br />

2. E( x) ⁄ T c ( x)<br />

≈ const over the interval where x represents the position within the interval. In<br />

particular,<br />

E ψ 1 – ψ 2 2<br />

----- = ------------------ ----------------------<br />

T c<br />

d 21 T c1 + T c2<br />

3. Flux, F, is constant over the interval.<br />

(5.24)<br />

The discretization for energy flux is as follows:<br />

1<br />

s n, 1→<br />

2<br />

d 21<br />

ψ<br />

------ µ n2 Bu ( n,<br />

21 )n 2 T 1 + ψ = ⎛ 2<br />

n2 ------------------ – c<br />

2 e T ⎞<br />

⎝<br />

n2 –<br />

⎠<br />

µ n1 B( – u n,<br />

21 )n 1 T ⎛ψ 1 + ψ 2<br />

n1 ------------------ – c<br />

2 e T ⎞<br />

⎝<br />

n1 ⎠<br />

(5.25)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 51


Numerical Techniques<br />

1<br />

s p, 1 → 2<br />

d 21<br />

ψ<br />

------ µ p1 Bu ( p,<br />

21 )p 1 T 1 + ψ = ⎛ 2<br />

p1 ------------------ – c<br />

2 e T ⎞<br />

⎝<br />

p1 –<br />

⎠<br />

µ p2 B( – u p,<br />

21 )p 2 T ⎛ψ 1 + ψ 2<br />

p2 ------------------ – c<br />

2 e T ⎞<br />

⎝<br />

p2 ⎠<br />

(5.26)<br />

flux:<br />

where c e = 5 ⁄ 2–<br />

ν<br />

1 <strong>and</strong> is set to a default value of 1.8 in the code. The form for the heat<br />

κ<br />

F heat, 1→<br />

2 =<br />

d 21<br />

------ ( T L1 – T L2 )<br />

where the average κ over the interval is evaluated as follows:<br />

(5.27)<br />

5.3 Normalization<br />

T L1 + T L2<br />

κ L = κ ⎛<br />

0<br />

-----------------------<br />

⎝ 2 × 300 ⎠<br />

⎞ – α<br />

(5.28)<br />

This section briefly describes the normalization scheme used in <strong>PISCES</strong>-<strong>2ET</strong>. Internal variables<br />

representing basic variables: ψ (as well as φ’s for quasi Fermi potentials), n, p, T n<br />

, T p<br />

, <strong>and</strong> T L<br />

, are all<br />

normalized before they are used in the computation. Potentials are normalized by V th = k B T 0 ⁄ q<br />

where T 0<br />

is the environment temperature which can be accessed through parameter temperature<br />

in the model card. All temperatures are normalized using the environment temperature <strong>and</strong> carrier<br />

concentrations are normalized using c scl = N C N V where N C<br />

<strong>and</strong> N V<br />

are for the base semiconductor<br />

material 2 . The current density is normalized using the quantity of –qc scl V th . The reason for choosing<br />

this normalization factor is related to the use of Scharfetter-Gummel scheme <strong>and</strong> minus sign is incurred<br />

because the electron current density is used as the reference. Other quantities such as distance, time,<br />

electric field, mobility are not normalized.<br />

1. For meaning of ν see Eq. (A.27) in APPENDIX A.<br />

2. There is only one base material for a simulated region even though there might be several material<br />

systems in the device.<br />

52 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Numerical Techniques<br />

5.4 Newton Projection Scheme<br />

Newton projection scheme is a method to project the next solution based on the current solution when<br />

the applied bias is changed. It has also application in low-frequency, small signal analysis. The<br />

principle of this scheme is rather simple <strong>and</strong> is described in this section. Again taking Eq. (5.1), but<br />

now we only consider the DC case. When bias is advanced, i.e.<br />

p = p + ∆p<br />

one can obtain the following approximate equation:<br />

F( x + ∆x,<br />

p + ∆p) ≈ F( x,<br />

p) + F x ( x,<br />

p)∆x + F p ( x,<br />

p)∆p<br />

= 0<br />

(5.29)<br />

(5.30)<br />

Because the solution at p has been found, i.e., F( x,<br />

p) = 0 , the increment of x due to p can<br />

be found by solving the following system of equations:<br />

F x ∆x<br />

=<br />

– F p ∆p<br />

(5.31)<br />

This is a linear system of equations with the same coefficient matrix as for the DC solution<br />

<strong>and</strong> F p is easy to find because F has few equations which are related to p. The above formulation can<br />

also be applied to the low-frequency small signal analysis because when ∆ p → 0, the ratio of ∆x ⁄ ∆p<br />

can be found exactly by solving the above equation for ∆x. Foe more detailed discussion of this<br />

method, readers are referred to [41].<br />

5.5 Global Data Structure in <strong>PISCES</strong>-<strong>2ET</strong><br />

This section describes how one can change the maximum number of grid points in the simulator. Since<br />

<strong>PISCES</strong>-<strong>2ET</strong> is coded using Fortran 77, memory usage is static <strong>and</strong> knowledge of various array sizes<br />

is necessary during the compilation time. All of the basic dimensions are defined in the common file<br />

p2conf.h <strong>and</strong> are written in a fully scalable way. The first part of p2conf.h reads as follows:<br />

-------------------------p2conf.h------------------------------<br />

c There are four parameters that affect the memory usage of<br />

c <strong>PISCES</strong>-<strong>2ET</strong>:<br />

c AVGNB - average neighbors of each node point including<br />

c<br />

itself. For a quad-based mesh with control level<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 53


Numerical Techniques<br />

c<br />

equal to 1, 6 neighbors are a very conservative<br />

c<br />

estimation (can be higher for pure Delaunay mesh.)<br />

c MAXPDE - max. no. of equations solved (1 for Poisson only,<br />

c<br />

6 for DUET)<br />

c MAXPT - max. no. of grid points in the simulated device<br />

c MAX1D - b<strong>and</strong>width of the LU-factored Jacobian. Since<br />

c<br />

minimum degree (fill-in) is employed, the worst<br />

c<br />

case will be sqrt(MAXPT). If the device is highly<br />

c<br />

1-D oriented, MAX1D can be much smaller to improve<br />

c<br />

memory efficiency.<br />

c<br />

integer AVGNB, MAXPDE, MAXPT, MAX1D<br />

parameter (AVGNB = 6, MAXPDE = 3)<br />

parameter (MAXPT = 3000, MAX1D = 55)<br />

c parameter (MAXPT = 6000, MAX1D = 78)<br />

c parameter (MAXPT = 9000, MAX1D = 95)<br />

---------------------------------------------------------------<br />

The total memory usage during the run time of <strong>PISCES</strong>-<strong>2ET</strong> is approximately:<br />

16 * MAX1D * MAXPDE * MAXPDE * MAXPT (in bytes)<br />

Note that since the full Newton iteration is the default method owing to its robustness, the<br />

memory space required is proportional to the square of the number of equations <strong>and</strong> to the power 1.5<br />

of the number of points in the worst case (when MAX1D is equal to the square root of the number of<br />

points, i.e., the mesh points are evenly distributed in X <strong>and</strong> Y directions). The present setup (MAXPT<br />

= 3000) will take about 24M-byte memory space. Since most of the memory allocation is shared in<br />

a common block called “tmpco” (in various.h files), users can still run DUET model with the present<br />

setup at least to about 1,200 points. Most of the modern workstations have more than 24M-byte main<br />

memory, so the swapping during execution should be minimal. If the application cannot be bounded<br />

by this setup, users need only to change the above four parameters <strong>and</strong> remake (recompile) the<br />

<strong>PISCES</strong>-<strong>2ET</strong> executable. <strong>PISCES</strong>-<strong>2ET</strong> will automatically report any insufficient memory allocation<br />

during the first encounter (usually at the symbolic factorization). Users can then modify the reported<br />

dimensions <strong>and</strong> make further trade-off accordingly. If the application is always much smaller than the<br />

present setup, we do not suggest to recompile. If MAXPT becomes too small <strong>and</strong> the factored LU<br />

matrix in full Newton iteration is no longer dominant in the memory usage, users probably will have<br />

some complaints from the compiler about array with negative dimensions. This is because the common<br />

54 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Numerical Techniques<br />

“tmpco” space is shared in many routines <strong>and</strong> the patch array TMPPAD is used to make every<br />

common declaration to have the same length to avoid compiler errors. If users have to do this (probably<br />

due to an old 8MB main memory machine) <strong>and</strong> the compiler indeed complains the negative dimension,<br />

users need to change the last line in p2conf.h, where the size of the common block “tmpco” is<br />

defined symbolically. Other constraints will have minimal impact on the memory usage. They are<br />

listed below for reference.<br />

---------------------p2conf.h--------------------------<br />

c<br />

c OTHER GLOBAL CONSTRAINTS ON DIMENSION<br />

c<br />

integer MAXCON, MAXCNT, MAXNB, MAXPAR<br />

integer MAXINF, MAXREG, MAXREC, MAXPTORI, MXBDEP<br />

c.. maximum number of contact nodes<br />

parameter (MAXCON = 500)<br />

c.. maximum number of contacts<br />

parameter (MAXCNT = 10)<br />

c.. maximum number of triangles a point can belong to<br />

parameter (MAXNB = 20)<br />

c.. maximum number material parameters<br />

parameter (MAXPAR = 50)<br />

c.. maximum number of interfaces<br />

parameter (MAXINF = 10)<br />

c.. maximum number of regions<br />

parameter (MAXREG = 1000)<br />

c.. maximum elements in 1-D for temporary tensor-product<br />

c grid info<br />

parameter (MAXREC = 1000)<br />

c.. maximum depth of bias partition<br />

parameter (MXBDEP = 10)<br />

c.. maximum original tensor-product mesh points before<br />

c elimination<br />

parameter (MAXPTORI = 10*MAXPT)<br />

---------------------------------------------------------<br />

The remaining dimension declaration is defined symbolically.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 55


Numerical Techniques<br />

56 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


CHAPTER 6<br />

Simulation Examples<br />

In this chapter, four simulation examples will be presented to demonstrate the new capabilities<br />

available in <strong>PISCES</strong>-<strong>2ET</strong>. The first two are for the application of carrier temperature analysis. These<br />

are simulations for the substrate current in MOSFET <strong>and</strong> output characteristics of SOI structures. Both<br />

simulated <strong>and</strong> measured data are compared. The last two are for the simulation of heterostructures.<br />

Among them the first one shows the electrical simulation of a GaAs/AlGaAs-based LED (for light<br />

emitting diode) with cylindrical symmetry. One unique feature of this example is the existence of the<br />

floating layer in the structure, which poses numerical difficulty. The second example for<br />

heterostructure analysis is the simulation of an AlInAs/GaInAs-based MODFET in which the surface<br />

Fermi-level pinning is shown.<br />

6.1 Substrate Current of MOS Structure<br />

This examples is to show the effect of the carrier-energy dependent impact ionization model<br />

on the substrate current of MOSFET. It has been known that the drift-diffusion (DD) model gives<br />

bigger-than-expected substrate current even for relatively long channel MOSFETs [22]. In this<br />

example, two MOS structures with effective channel length 2 <strong>and</strong> 0.8 µm, respectively, are simulated<br />

<strong>and</strong> the one with 0.8µm channel length is compared to the measured data. Following the approach in<br />

[42], the results are plotted in a format of log ( I sub ⁄ I d ) vs. 1 ⁄ ( V ds – V d,<br />

sat ) in which the<br />

experimental data are insensitive to the variations in the channel length, gate oxide thickness, <strong>and</strong> .<br />

V gs<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 57


Simulation Examples<br />

It can be clearly seen that the DUET model provides more reasonable results compared to the<br />

experimental data [42], [43] than does DD model. It should be noticed that during the simulation, one<br />

fitting parameter, which effectively changes the energy relaxation time (or equivalently the energy<br />

relaxation length) used in the expression for energy-dependent ionization rate, is used. The similar<br />

calibration approach has been reported in [22] too. The input deck to <strong>PISCES</strong>-<strong>2ET</strong> is listed below for<br />

this device structure. Special attention should be paid to the use of symbolic <strong>and</strong> model cards. In<br />

the symbolic card parameter engy.ele indicates that during the simulation the electron energy<br />

balance equation should also be solved together with the Poisson’s <strong>and</strong> carrier continuity equations. In<br />

the model card, three parameters are relevant to the energy-dependent impact ionization (II) model:<br />

imp.tn (but not with imp.tp) specifies that only electron energy dependent II model is used <strong>and</strong><br />

for holes the impact ionization rate is still determined by the local field (a default). imp.jt indicates<br />

for energy-dependent II model, the current density rather than the saturation velocity is used to<br />

determine the II rate. Finally, impjt.rat is used to specify the ratio of L w<br />

to τ w v sat (refer to<br />

Eq. (3.39)). The simulation results are shown in Figure 6.2.<br />

title N-MOS for Substrate Current Simulation<br />

$<br />

$ A 0.8 micron N-MOSFET example, Electron-ET model<br />

$<br />

options plotdev=xterm x.scr=3.8 y.scr=3.8<br />

$ mesh<br />

$============================<br />

mesh rect nx=40 ny=28<br />

x.m n=1 l=0 r=1<br />

x.m n=5 l=0.5 r=0.6<br />

x.m n=35 l=1.5 r=1.0<br />

x.m n=40 l=2.0 r=1.7<br />

y.m n=1 l=-0.0152 r=1<br />

y.m n=3 l=0.0 r=1<br />

y.m n=5 l=0.002 r=1<br />

y.m n=9 l=0.010 r=1<br />

y.m n=16 l=0.1 r=1<br />

y.m n=20 l=0.2 r=1<br />

y.m n=22 l=0.3 r=1<br />

y.m n=23 l=0.4 r=1<br />

y.m n=25 l=1.1 r=1<br />

y.m n=28 l=2.0 r=1<br />

$ region <strong>and</strong> electrodes<br />

$============================<br />

region num=1 ix.l=1 ix.h=40 iy.l=1 iy.h=3 oxide<br />

region num=2 ix.l=1 ix.h=40 iy.l=3 iy.h=28 silicon<br />

58 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Simulation Examples<br />

$ Electrode: 1-Source, 2-Gate, 3-Drain, 4-Substrate<br />

elec num=1 ix.l=1 ix.h=4 iy.l=3 iy.h=3<br />

elec num=2 ix.l=5 ix.h=35 iy.l=1 iy.h=1<br />

elec num=3 ix.l=36 ix.h=40 iy.l=3 iy.h=3<br />

elec num=4 ix.l=1 ix.h=40 iy.l=28 iy.h=28<br />

$ doping<br />

$============================<br />

dop uniform p.type conc=2e17 reg=2<br />

dop gauss n.type conc=5e19 char=0.08 ra=0.7 x.r=0.52 y.t=0 y.b=0.10 dir=y<br />

dop gauss n.type conc=5e19 char=0.08 ra=0.7 x.l=1.48 y.t=0 y.b=0.10 dir=y<br />

$ contact<br />

$============================<br />

contact all neutral<br />

contact num=2 workfunction=4.17<br />

$ initial solution<br />

$============================<br />

symbolic newton carrier=0<br />

method itlim=50 p.tol=1e-5 c.tol=1e-5<br />

model srh fldmob conmob<br />

solve ini<br />

$ ramping vg <strong>and</strong> vd<br />

$============================<br />

symbolic newton carrier=2 engy.ele<br />

model srh fldmob conmob imp.tn imp.jt impjt.rat=0.69<br />

method itlim=20 p.tol=1e-5 c.tol=1e-5 trap<br />

log ivfile=08_Tn.iv<br />

solve v2=0.2 vstep=0.2 nstep=3 electr=2 proj<br />

solve v2=1.0 outfile=08_Tn.g1 proj<br />

solve v3=0.1 vstep=0.1 nstep=4 electr=3 proj<br />

solve v3=0.6 vstep=0.2 nstep=12 electr=3 proj<br />

solve v3=3.0 outfile=08_Tn.g3 proj<br />

end<br />

Figure 6.1 Input file for simulation of the substrate current for MOSFETs.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 59


Simulation Examples<br />

10 -1<br />

10 -2<br />

10 -3<br />

I<br />

sub /I d<br />

10 -4<br />

10 -5<br />

MIT<br />

Berkerley<br />

0.8 µm<br />

2 µm<br />

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9<br />

1/(V ds<br />

- V dsat<br />

)<br />

Figure 6.2 Simulation results for the substrate current in MOSFET with<br />

two different channel length (2 <strong>and</strong> 0.8 µ m) <strong>and</strong> the<br />

comparison is made for 0.8 µ m case between the ET-simulated<br />

<strong>and</strong> measured results [42], [43]. The upper curves are<br />

simulated using DD model while the lower curves are obtained<br />

6.2 SOI Simulation<br />

This example shows simulation for SOI structures with two different channel length: 0.47 <strong>and</strong> 0.12 µm<br />

[44]. Input deck for the simulation of SOI with 0.12µm channel length is as follows:<br />

title SOI BERKELEY<br />

$<br />

$ Effective channel length =.12um<br />

60 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Simulation Examples<br />

$ 0.12um of silicon on 0.4um oxide substrate<br />

$<br />

$*************** define the rectangular grid ***********$<br />

$<br />

mesh outf=s/msh12r width=9.5 rect nx=43 ny=35<br />

$<br />

x.m n=1 l=0.0 r=1.00<br />

x.m n=7 l=0.5 r=0.9<br />

X.m n=12 l=0.6 r=.9<br />

x.m n=22 l=0.74 r=1.15<br />

x.m n=32 l=0.88 r=0.85<br />

x.m n=37 l=0.98 r=1.1<br />

x.m n=43 l=1.48 r=1.1<br />

$<br />

y.m n=1 l=0.0 r=1.00<br />

y.m n=6 l=0.4 r=0.80<br />

y.m n=21 l=0.46 r=1.15<br />

y.m n=33 l=0.52 r=0.80<br />

y.m n=35 l=0.54 r=1.00<br />

$<br />

region num=1 ix.l=1 ix.h=43 iy.l=1 iy.h=6 oxide<br />

region num=2 ix.l=1 ix.h=43 iy.l=6 iy.h=33 silicon<br />

region num=3 ix.l=1 ix.h=43 iy.l=33 iy.h=35 oxide<br />

$<br />

$*********** define the electrodes ************<br />

$ #1-GATE #2-SOURCE #3-DRAIN #4-SUBSTRATE (below oxide)<br />

$<br />

electrod num=1 ix.l=12 ix.h=32 iy.l=35 iy.h=35<br />

electrod num=2 ix.l=1 ix.h=12 iy.l=33 iy.h=33<br />

electrod num=3 ix.l=32 ix.h=43 iy.l=33 iy.h=33<br />

electrod num=4 ix.l=1 ix.h=43 iy.l=1 iy.h=1<br />

$<br />

$*********** define the doping concentrations *****<br />

$<br />

doping uniform conc=6e16 p.type reg=2<br />

doping gauss conc=2e20 n.type characteristic=0.1 start=0.46<br />

+ x.right=0.6 ratio.lateral=0.25 region=2<br />

doping gauss conc=2e20 n.type characteristic=0.1 start=0.46<br />

+ x.left=0.88 ratio.lateral=0.25 region=2<br />

$<br />

interfac qf=20.e10<br />

contact num=1 n.poly<br />

plot.1d dop log abs a.x=0 a.y=0.4 b.x=1.48 b.y=0.4 min=14 max=21<br />

+ outf=s/dd/dop.12r ascii<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 61


Simulation Examples<br />

plot.1d dop log abs a.x=0 a.y=0.52 b.x=1.48 b.y=0.52 min=14 max=21<br />

$<br />

models conmob intelmob print<br />

mobility ec.crit=8e4 char.int=0.04<br />

material region=2 vsaturation=1e7<br />

symb newton carriers=0<br />

$<br />

method xnorm itlimit=30<br />

$<br />

solve ini<br />

symb newton carriers=1 engy.ele<br />

method trap itlimit=30<br />

$<br />

solve v1=-3 v4=-15 v3=2 vstep=0.5 nstep=10 electr=4<br />

solve v1=-3 v4=64 v3=0.05<br />

end<br />

The partial input deck for SOI with 0.4µm channel length is listed below. Only structural part<br />

is included.<br />

title SOI BERKELEY<br />

$<br />

$ Effective Channel length =.47um<br />

$ 0.47um of silicon on 0.4um oxide substrate<br />

$<br />

mesh width=9.5 rect nx=43 ny=35<br />

$<br />

x.m n=1 l=0.00 r=1.00<br />

x.m n=7 l=0.5 r=0.9<br />

X.m n=12 l=0.6 r=.9<br />

x.m n=22 l=0.915 r=1.15<br />

x.m n=32 l=1.23 r=0.85<br />

x.m n=37 l=1.33 r=1.1<br />

x.m n=43 l=1.83 r=1.1<br />

$<br />

y.m n=1 l=0.0 r=1.0<br />

y.m n=6 l=0.4 r=0.8<br />

y.m n=21 l=0.46 r=1.15<br />

y.m n=33 l=0.52 r=0.8<br />

y.m n=35 l=0.54 r=1.0<br />

$<br />

region num=1 ix.l=1 ix.h=43 iy.l=1 iy.h=6 oxide<br />

region num=2 ix.l=1 ix.h=43 iy.l=6 iy.h=33 silicon<br />

region num=3 ix.l=1 ix.h=43 iy.l=33 iy.h=35 oxide<br />

62 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Simulation Examples<br />

$<br />

$*********** define the electrodes ************<br />

$ #1-GATE #2-SOURCE #3-DRAIN #4-SUBSTRATE(below oxide)<br />

$<br />

electrod num=1 ix.l=12 ix.h=32 iy.l=35 iy.h=35<br />

electrod num=2 ix.l=1 ix.h=12 iy.l=33 iy.h=33<br />

electrod num=3 ix.l=32 ix.h=43 iy.l=33 iy.h=33<br />

electrod num=4 ix.l=1 ix.h=43 iy.l=1 iy.h=1<br />

$<br />

$*********** define the doping concentrations *****<br />

$<br />

doping uniform conc=6e16 p.type reg=2<br />

doping gauss conc=2e20 n.type characteristic=0.1 start=0.46<br />

+ x.right=0.6 ratio.lateral=0.25 region=2<br />

doping gauss conc=2e20 n.type characteristic=0.1 start=0.46<br />

+ x.left=1.23 ratio.lateral=0.25 region=2<br />

$<br />

interfac qf=20e10<br />

contact num=1 n.poly<br />

...<br />

end<br />

Figure 6.3 Input file for simulation of SOI structure.<br />

The simulation results are compared with the measured data provided by Hu’s group at UC<br />

Berkeley [44] in Figure 6.4. The agreement between ET model <strong>and</strong> experiment is good for devices with<br />

both channel lengths. While DD model gives good fit to the measured data for device with 0.47µ<br />

channel length, it grossly underestimates the drain current for device with 0.12 µ , an indication that<br />

DD models fails to predict the velocity overshoot phenomenon.<br />

6.3 Cylindrically Symmetric LED<br />

There are two unique features with the simulation of this light emitting diode (LED). The first is the<br />

cylindrical structure which requires the use of the cylindrical coordinate. <strong>PISCES</strong>-<strong>2ET</strong> has the<br />

capability of simulating cylindrically symmetric structure by specifying cylin in the mesh card. The<br />

second feature is the numerical difficulty caused by the existence of the current-blocking, floating n-<br />

layer in the p-region. To ensure the convergence of Newton iterations, a contact is put to the exterior<br />

perimeter of this floating layer <strong>and</strong> the zero-current boundary condition is applied. This technique<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 63


Simulation Examples<br />

guarantees the n-layer is indeed “floating” as far as the potential of the layer is concerned. The effect<br />

of the extra contact on the device characteristics is minor because the blocking layer is doped heavily.<br />

Following are two input files for the simulation. In order to put the contact to the floating layer from<br />

the exterior, the structure is shifted left in the lateral direction such that the rotation axis falls at x = 0 .<br />

For the initial solution, the voltage boundary condition is used first <strong>and</strong> then the zero-current boundary<br />

condition is switched on. It is observed that before the diode is turned on, i.e., for the bias below 1V,<br />

the numerical (discretization) noise may exceed the magnitude of the simulated current <strong>and</strong> so the<br />

current conservation law (the sum of the signed terminal currents should be zero) is not well observed.<br />

Because the device behavior before turning on is not a primary concern, bigger bias steps are used <strong>and</strong><br />

especially the diode bias is increased directly from 0.7 to 1V. Also note that the n-layer is on the top<br />

of the structure, so the negative cathode bias is incremented. Figure 6.5 lists the first input file for the<br />

simulation for obtaining the initial solution with the voltage boundary condition.<br />

title Initial solution for LED starting from 0-carr<br />

$<br />

options plotdev=xterm x.scr=3.8 y.scr=3.8<br />

$<br />

0.006<br />

0.004<br />

I DS<br />

(A)<br />

L eff<br />

=0.12µ<br />

0.002<br />

L eff<br />

=0.47µ<br />

measured<br />

DD Model<br />

ET Model<br />

0.000<br />

0.0 0.5 1.0 1.5 2.0<br />

V DS<br />

(V)<br />

Figure 6.4 Simulated <strong>and</strong> measured data [44] for SOI structure<br />

with different channel length.<br />

64 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Simulation Examples<br />

$ ***** Define Rectangular Mesh *****<br />

$<br />

mesh rectangular nx=17 ny=29 cylin<br />

$<br />

x.mesh n=1 l=-62.0 r=1.0<br />

x.mesh n=3 l=-37.0 r=1.0<br />

x.mesh n=5 l=-30.0 r=1.0<br />

x.mesh n=7 l=-13.0 r=1.0<br />

x.mesh n=9 l=-12.0 r=1.0<br />

x.mesh n=11 l=-11.0 r=1.0<br />

x.mesh n=13 l=-10.0 r=1.0<br />

x.mesh n=15 l=-9.0 r=1.0<br />

x.mesh n=17 l=00.0 r=1.0<br />

$<br />

y.mesh n=1 l=0.000 r=1.0<br />

y.mesh n=5 l=1.000 r=1.0<br />

y.mesh n=9 l=3.600 r=1.0<br />

y.mesh n=13 l=4.600 r=1.0<br />

y.mesh n=17 l=5.600 r=1.0<br />

y.mesh n=21 l=7.600 r=1.0<br />

y.mesh n=25 l=8.900 r=1.0<br />

y.mesh n=29 l=40.00 r=1.0<br />

$<br />

$ ***** Regions *****<br />

$<br />

region num=1 ix.l=1 ix.h=17 iy.l=1 iy.h=29 oxide<br />

region num=2 ix.l=1 ix.h=5 iy.l=1 iy.h=5 algaas xmole=0.00<br />

region num=3 ix.l=1 ix.h=15 iy.l=5 iy.h=9 algaas xmole=0.28<br />

region num=3 ix.l=13 ix.h=17 iy.l=9 iy.h=13 algaas xmole=0.28<br />

$<br />

$ ***** Active Regions *****<br />

$<br />

region num=4 ix.l=1 ix.h=13 iy.l=9 iy.h=13 algaas xmole=0.08<br />

region num=4 ix.l=11 ix.h=17 iy.l=13 iy.h=17 algaas xmole=0.08<br />

region num=5 ix.l=1 ix.h=11 iy.l=13 iy.h=17 algaas xmole=0.28<br />

region num=5 ix.l=9 ix.h=17 iy.l=17 iy.h=21 algaas xmole=0.28<br />

region num=6 ix.l=1 ix.h=9 iy.l=17 iy.h=21 algaas xmole=0.00<br />

region num=6 ix.l=7 ix.h=17 iy.l=21 iy.h=25 algaas xmole=0.00<br />

region num=7 ix.l=1 ix.h=7 iy.l=21 iy.h=25 algaas xmole=0.00<br />

region num=8 ix.l=1 ix.h=17 iy.l=25 iy.h=29 algaas xmole=0.00<br />

$<br />

$ ***** Electrodes *****<br />

$<br />

elec num=1 ix.l=1 ix.h=3 iy.l=1 iy.h=1<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 65


Simulation Examples<br />

elec num=2 ix.l=1 ix.h=17 iy.l=29 iy.h=29<br />

elec num=3 ix.l=1 ix.h=1 iy.l=22 iy.h=24<br />

$<br />

$ ***** Add Doping *****<br />

$<br />

dop unif conc=3e18 n.type x.l=-62.0 x.r=-30.0 y.t=0.0 y.b=1.0<br />

dop unif conc=2e18 n.type x.l=-62.0 x.r=-9.0 y.t=1.0 y.b=3.6<br />

dop unif conc=2e18 n.type x.l=-10.0 x.r=0.0 y.t=3.6 y.b=4.6<br />

dop unif conc=3e18 n.type x.l=-62.0 x.r=-10.0 y.t=3.6 y.b=4.6<br />

dop unif conc=3e18 n.type x.l=-11.0 x.r=0.0 y.t=4.6 y.b=5.6<br />

dop unif conc=1e18 p.type x.l=-62.0 x.r=-11.0 y.t=4.6 y.b=5.6<br />

dop unif conc=1e18 p.type x.l=-12.0 x.r=0.0 y.t=5.6 y.b=7.6<br />

dop unif conc=2e18 p.type x.l=-62.0 x.r=-12.0 y.t=5.6 y.b=7.6<br />

dop unif conc=2e18 p.type x.l=-13.0 x.r=0.0 y.t=7.6 y.b=8.9<br />

dop unif conc=2e18 n.type x.l=-62.0 x.r=-13.0 y.t=7.6 y.b=8.9<br />

dop unif conc=2e19 p.type x.l=-62.0 x.r=0.0 y.t=8.9 y.b=40.0<br />

$<br />

$ ****** Plots *****<br />

$<br />

plot.2d boundary pause<br />

plot.2d grid pause<br />

$<br />

$ ***** Contacts *****<br />

$<br />

contact all neutral<br />

symbol carrier=0 newton<br />

method itlim=50 p.tol=5.e-5 c.tol=5.e-5<br />

models temp=300 fldmob auger conmob rad consrh<br />

$<br />

solve ini<br />

symbol carrier=2 newton<br />

solve outfil=led.v0<br />

$<br />

end<br />

Figure 6.5<br />

First input deck for the simulation of LED, used to find the initial solution for<br />

voltage boundary condition.<br />

The plots resulted from the running of the above file are shown in Figure 6.6 <strong>and</strong> Figure 6.7.<br />

Figure 6.6 shows the structure of the device <strong>and</strong> Figure 6.7 shows the mesh used in the simulation.<br />

66 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Simulation Examples<br />

Figure 6.6<br />

Device structure in terms of layers in LED.<br />

Figure 6.7<br />

Mesh used in the LED simulation.<br />

Once the initial solution is found with the voltage boundary condition, the current boundary condition<br />

is switched on for the contact to the floating layer in order to ensure it being “floating” (no current<br />

drawn at this terminal). This is implemented in the second file as listed in Figure 6.8.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 67


Simulation Examples<br />

title LED Simulation Using 0-carr Solution<br />

$<br />

options plotdev=xterm x.scr=3.8 y.scr=3.8<br />

$<br />

$ ***** Define Rectangular Mesh *****<br />

$<br />

mesh rectangular nx=17 ny=29 cylin<br />

$<br />

x.mesh n=1 l=-62.0 r=1.0<br />

x.mesh n=3 l=-37.0 r=1.0<br />

x.mesh n=5 l=-30.0 r=1.0<br />

x.mesh n=7 l=-13.0 r=1.0<br />

x.mesh n=9 l=-12.0 r=1.0<br />

x.mesh n=11 l=-11.0 r=1.0<br />

x.mesh n=13 l=-10.0 r=1.0<br />

x.mesh n=15 l=-9.0 r=1.0<br />

x.mesh n=17 l=00.0 r=1.0<br />

$<br />

y.mesh n=1 l=0.000 r=1.0<br />

y.mesh n=5 l=1.000 r=1.0<br />

y.mesh n=9 l=3.600 r=1.0<br />

y.mesh n=13 l=4.600 r=1.0<br />

y.mesh n=17 l=5.600 r=1.0<br />

y.mesh n=21 l=7.600 r=1.0<br />

y.mesh n=25 l=8.900 r=1.0<br />

y.mesh n=29 l=40.00 r=1.0<br />

$<br />

$ ***** Regions *****<br />

$<br />

region num=1 ix.l=1 ix.h=17 iy.l=1 iy.h=29 oxide<br />

region num=2 ix.l=1 ix.h=5 iy.l=1 iy.h=5 algaas xmole=0.00<br />

region num=3 ix.l=1 ix.h=15 iy.l=5 iy.h=9 algaas xmole=0.28<br />

region num=3 ix.l=13 ix.h=17 iy.l=9 iy.h=13 algaas xmole=0.28<br />

$<br />

$ ***** Active Regions *****<br />

$<br />

region num=4 ix.l=1 ix.h=13 iy.l=9 iy.h=13 algaas xmole=0.08<br />

region num=4 ix.l=11 ix.h=17 iy.l=13 iy.h=17 algaas xmole=0.08<br />

region num=5 ix.l=1 ix.h=11 iy.l=13 iy.h=17 algaas xmole=0.28<br />

region num=5 ix.l=9 ix.h=17 iy.l=17 iy.h=21 algaas xmole=0.28<br />

region num=6 ix.l=1 ix.h=9 iy.l=17 iy.h=21 algaas xmole=0.00<br />

region num=6 ix.l=7 ix.h=17 iy.l=21 iy.h=25 algaas xmole=0.00<br />

region num=7 ix.l=1 ix.h=7 iy.l=21 iy.h=25 algaas xmole=0.00<br />

region num=8 ix.l=1 ix.h=17 iy.l=25 iy.h=29 algaas xmole=0.00<br />

68 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Simulation Examples<br />

$ ***** Electrodes *****<br />

$<br />

elec num=1 ix.l=1 ix.h=3 iy.l=1 iy.h=1<br />

elec num=2 ix.l=1 ix.h=17 iy.l=29 iy.h=29<br />

elec num=3 ix.l=1 ix.h=1 iy.l=22 iy.h=24<br />

$<br />

$ ***** Add Doping *****<br />

$<br />

dop unif conc=3e18 n.type x.l=-62.0 x.r=-30.0 y.t=0.0 y.b=1.0<br />

dop unif conc=2e18 n.type x.l=-62.0 x.r=-9.0 y.t=1.0 y.b=3.6<br />

dop unif conc=2e18 n.type x.l=-10.0 x.r=0.0 y.t=3.6 y.b=4.6<br />

dop unif conc=3e18 n.type x.l=-62.0 x.r=-10.0 y.t=3.6 y.b=4.6<br />

dop unif conc=3e18 n.type x.l=-11.0 x.r=0.0 y.t=4.6 y.b=5.6<br />

dop unif conc=1e18 p.type x.l=-62.0 x.r=-11.0 y.t=4.6 y.b=5.6<br />

dop unif conc=1e18 p.type x.l=-12.0 x.r=0.0 y.t=5.6 y.b=7.6<br />

dop unif conc=2e18 p.type x.l=-62.0 x.r=-12.0 y.t=5.6 y.b=7.6<br />

dop unif conc=2e18 p.type x.l=-13.0 x.r=0.0 y.t=7.6 y.b=8.9<br />

dop unif conc=2e18 n.type x.l=-62.0 x.r=-13.0 y.t=7.6 y.b=8.9<br />

dop unif conc=2e19 p.type x.l=-62.0 x.r=0.0 y.t=8.9 y.b=40.0<br />

$<br />

$ ** Current boundary condition is now switched on for contact 3<br />

$<br />

contact all neutral<br />

contact num=3 curr<br />

symbol carrier=2 newton<br />

method itlim=50 p.tol=5.e-5 c.tol=5.e-5 trap<br />

models temp=300 fldmob auger conmob rad consrh<br />

$<br />

load infil=led.v0<br />

log ivfil=led.iv<br />

solve i3=0 outfil=led.i0<br />

solve v1=-0.1 vstep=-0.1 nstep=5 elect=1<br />

solve v1=-0.62 vstep=-0.02 nstep=3 elect=1<br />

solve v1=-0.7<br />

solve v1=-1.0 vstep=-0.1 nstep=10 elect=1 proj<br />

$<br />

plot.1d x.a=v1 y.a=i1 abs log<br />

end<br />

Figure 6.8<br />

Second input file for LED simulation. The initial solution is obtained from the<br />

voltage boundary condition <strong>and</strong> is switched to the current boundary condition for<br />

the floating layer contact. The bias step jumps from – 0.7 to – 1V to avoid the<br />

numerical instability.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 69


Simulation Examples<br />

Figure 6.9 Simulated I – V characteristics of LED. Notice that the bias is applied to the<br />

top of the structure (n-layer), so it is negative <strong>and</strong> the current computed below<br />

0.7V is due to the numerical noise.<br />

The numerical convergence behavior during simulation is excellent. The simulated I-V characteristics<br />

is shown in Figure 6.9. The bias ramp is applied to the cathode of the diode, so the magnitude of the<br />

bias increase is in the opposite direction to the x-axis.<br />

6.4 AlInAs/GaInAs MODFET<br />

This n-channel MODFET is constructed in a rectangular region with source, drain, <strong>and</strong> channel regions<br />

all formed in a narrow-b<strong>and</strong>gap (0.72eV) Ga 0.47 In 0.53 As material. The doping in the channel region is<br />

light ( 5×10<br />

15<br />

cm -3 ) <strong>and</strong> the channel conduction is through the spill-over of electrons from a heavilydoped<br />

( 4×10<br />

18<br />

cm -3 ), adjacent wide-b<strong>and</strong>gap (1.45eV) Al 0.48 In 0.52 As region. Because in <strong>PISCES</strong>-<br />

<strong>2ET</strong> ternary compound Ga x In 1-x As is represented by setting y = 1 in quaternary Ga x In 1-x As y P 1-y , in<br />

the input deck which follows “GaInAsP” is used instead of “GaInAs”. The gate contact is formed<br />

in a recessed manner. But in order to maintain the planarity of the structure, an oxide is filled in the<br />

recessed region. The structure is described in the following input file (Figure 6.10) <strong>and</strong> different<br />

regions in the device are plotted in Figure 6.11.<br />

70 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Simulation Examples<br />

title AlInAs/GaInAs based MODFET structure<br />

$<br />

options plotdev=xterm x.screen=3.8 y.screen=3.8<br />

$<br />

$ Rectangular mesh<br />

$<br />

mesh nx=55 ny=30 rect<br />

$<br />

x.mesh n=1 l=0.0 r=1.0<br />

x.mesh n=4 l=1.0 r=0.8<br />

x.mesh n=9 l=1.625 r=0.9<br />

x.mesh n=20 l=1.925 r=1.0<br />

x.mesh n=32 l=2.075 r=1.0<br />

x.mesh n=46 l=2.375 r=1.0<br />

x.mesh n=52 l=3.0 r=1.1<br />

x.mesh n=55 l=4.0 r=1.2<br />

$<br />

y.mesh n=1 l=0.0 r=1.0<br />

y.mesh n=4 l=0.03 r=1.0<br />

y.mesh n=12 l=0.06 r=0.9<br />

y.mesh n=14 l=0.066 r=1.0<br />

y.mesh n=15 l=0.069 r=1.0<br />

y.mesh n=25 l=0.099 r=1.1<br />

y.mesh n=30 l=0.2 r=1.5<br />

$<br />

$ Region <strong>and</strong> material specifications<br />

$<br />

region num=1 ix.l=9 ix.h=46 iy.l=1 iy.h=4 insulator<br />

region num=2 ix.l=1 ix.h=9 iy.l=1 iy.h=4 gainasp<br />

region num=3 ix.l=46 ix.h=55 iy.l=1 iy.h=4 gainasp<br />

region num=4 ix.l=1 ix.h=55 iy.l=4 iy.h=12 alinas<br />

region num=5 ix.l=1 ix.h=55 iy.l=12 iy.h=14 alinas<br />

region num=6 ix.l=1 ix.h=55 iy.l=14 iy.h=15 alinas<br />

region num=7 ix.l=1 ix.h=55 iy.l=15 iy.h=25 gainasp<br />

region num=8 ix.l=1 ix.h=55 iy.l=25 iy.h=30 alinas<br />

$<br />

$ Electrodes: 1 source, 2 gate, <strong>and</strong> 3 drain<br />

$<br />

elec num=1 ix.l=1 ix.h=4 iy.l=1 iy.h=1<br />

elec num=2 ix.l=20 ix.h=32 iy.l=4 iy.h=4<br />

elec num=3 ix.l=52 ix.h=55 iy.l=1 iy.h=1<br />

$<br />

$ Doping specification<br />

xmole=0.47 ymole=1.0<br />

xmole=0.47 ymole=1.0<br />

xmole=0.48<br />

xmole=0.48<br />

xmole=0.48<br />

xmole=0.47 ymole=1.0<br />

xmole=0.48<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 71


Simulation Examples<br />

$<br />

doping region=2 unif conc=2e19 n.type<br />

doping region=3 unif conc=2e19 n.type<br />

doping region=4 unif conc=1e15 n.type<br />

doping region=5 unif conc=6e18 n.type<br />

doping region=6 unif conc=1e15 n.type<br />

doping region=7 unif conc=1e15 n.type<br />

doping region=8 unif conc=1e15 n.type<br />

$<br />

$ Background doping<br />

$<br />

doping unif x.l=0.0 x.r=4.0 y.t=0.0 y.b=0.2 conc=5e14 p.type<br />

$<br />

$ Interface trapping for the pinning of Fermi-level<br />

$<br />

deepimp unif x.l=1.625 x.r=1.925 y.t=0.03 y.b=0.031 accep conc=1.0e19<br />

+ eion=0.7<br />

deepimp unif x.l=2.075 x.r=2.375 y.t=0.03 y.b=0.031 accep conc=1.0e19<br />

+ eion=0.7<br />

$<br />

$ Show regions<br />

$<br />

plot.2d bound pause<br />

$<br />

$ Doping <strong>and</strong> x-mole profiles under the gate<br />

$<br />

plot.1d dop x.s=2.0 x.e=2.0 y.s=0.0 y.e=0.2 log pause<br />

plot.1d xmol x.s=2.0 x.e=2.0 y.s=0.0 y.e=0.2 min=0.45 max=0.49 pause<br />

$<br />

contact num=2 workf=4.8 surf.rec<br />

models temp=300 conmob consrh fldmob auger incompl<br />

$<br />

$ Solving Poisson’s equation only for the equilibrium solution<br />

$<br />

symb newton carriers=0<br />

method itlimit=50 biaspart<br />

$<br />

solve ini<br />

$<br />

$ Switch to full set of semiconductor equations<br />

$<br />

symb newton carr=2<br />

$<br />

72 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Simulation Examples<br />

$ Re-solve at the equilibrium <strong>and</strong> save solution<br />

$<br />

solve outfil=modfet.ini<br />

log ivfil=modfet.iv<br />

$<br />

$ B<strong>and</strong> diagram under the spacer between the gate <strong>and</strong> drain regions<br />

$<br />

plot.1d b<strong>and</strong>.c neg x.s=1.8 x.e=1.8 y.s=0.0 y.e=0.2 min=-1.5 max=0.5<br />

plot.1d b<strong>and</strong>.v neg x.s=1.8 x.e=1.8 y.s=0.0 y.e=0.2 unch<br />

plot.1d qfn neg x.s=1.8 x.e=1.8 y.s=0.0 y.e=0.2 unch line=3 pause<br />

$<br />

$ Apply the negative gate voltage <strong>and</strong> sweep Vd upto 5.0<br />

solve v2=-0.8 v3=0.0 vstep=0.2 nstep=4 elec=3 proj<br />

solve v3=1.3 proj<br />

solve v3=1.6 proj<br />

solve v3=2.0 vstep=1.0 nstep=3 elec=3 proj<br />

$<br />

plot.1d x.a=v3 y.a=i3<br />

$<br />

end<br />

Figure 6.10 Input file for the simulation of AlInAs/GaInAs MODFET. The surface Fermilevel<br />

pinning is modeled by specifying the high density of deep level impurities<br />

at the free surface.<br />

The simulation results are shown in the following figures. Figure 6.12 shows the b<strong>and</strong><br />

diagram at the thermal equilibrium for the Fermi-level pinning due to the high density of the surface<br />

traps <strong>and</strong> the situation without surface pinning. Finally the simulated drain current vs. the drain voltage<br />

at V GS = – 0.8V is shown in Figure 6.13.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 73


Simulation Examples<br />

Figure 6.11 Regions in AlInAs/GaInAs MODFET structure.<br />

Figure 6.12 B<strong>and</strong> diagram along the line segment located at the spacer between the source<br />

<strong>and</strong> gate in the direction perpendicular to the surface of the MODFET. The<br />

effect of Fermi-level pinning due to the surface traps is shown by comparison<br />

to the free surface.<br />

74 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Simulation Examples<br />

V GS =-0.8V<br />

Figure 6.13 Simulated output I – Vcharacteristics at V GS = – 0.8V.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 75


Simulation Examples<br />

76 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


APPENDIX A<br />

Fermi-Dirac Distribution<br />

<strong>and</strong> Heterostructures<br />

A.1 Effect of Fermi-Dirac Statistics<br />

Now we consider a more general case in DUET model, i.e., the quasi-thermal equilibrium distribution<br />

function, f 0 , used to form the complete distribution function in Eq. (2.1) is a Fermi-Dirac distribution.<br />

The Fermi-Dirac distribution function has the form of<br />

f 0 ( r,<br />

k)<br />

=<br />

2<br />

----------------------------------------------------------<br />

(A.1)<br />

⎛<br />

1 exp E( k)<br />

Fn r)<br />

⎞<br />

+ ⎜----------------------------------<br />

⎟<br />

⎝ k B T n ( r)<br />

⎠<br />

We need to transform the function to have the dependence on n, T n , <strong>and</strong> ε (the kinetic energy). This<br />

can be done in the following procedure. First with Eq. (A.1), one can show that from the definition of<br />

n (the carrier density) that<br />

⎛E Fn ( r) – E C ( r)<br />

⎞<br />

n = N C ( T n , T L )F 1 ⁄ 2 ⎜------------------------------------<br />

⎟<br />

(A.2)<br />

⎝ k B T n ( r)<br />

⎠<br />

where N C has the same expression as in section 2.1 <strong>and</strong> F 1 ⁄ 2 is the Fermi integral of order one half.<br />

The definition of Fermi integral as used in this manual will be given in APPENDIX B together with<br />

some other related properties. To have more concise notation, we define two symbols:<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 77


Fermi-Dirac Distribution <strong>and</strong> Heterostructures<br />

E<br />

η Fn – E<br />

n = --------------------- C<br />

k B T n<br />

which is a function of n <strong>and</strong> T n as can be seen from Eq. (A.2), <strong>and</strong><br />

(A.3)<br />

F<br />

γ n ( η n ) 1 ⁄ 2 ( η n )<br />

= ---------------------<br />

(A.4)<br />

exp( η n )<br />

Note that γ n is actually a measure of the carrier degeneracy, i.e., it is always smaller than unity but<br />

approaches the unity for non-degenerate case ( η n → – ∞ ). There are similar expressions for holes, but<br />

η p is expressed as<br />

E<br />

η V E Fp<br />

p<br />

=<br />

–<br />

---------------------<br />

k B T p<br />

(A.5)<br />

We can now express the separation of the quasi-Fermi level <strong>and</strong> b<strong>and</strong> edge using the carrier<br />

concentration as follows:<br />

⎛<br />

exp E Fn – E C ⎞ n<br />

⎜---------------------<br />

⎟ = -----------------------------------------<br />

(A.6)<br />

⎝ k B T n ⎠ N C ( T n )γ n ( nT , n )<br />

Note that throughout this document, we use n <strong>and</strong> T n as the fundamental variables. Substituting this<br />

expression in Eq. (A.1), we obtain an equivalent form of the Fermi-Dirac distribution as follows:<br />

f 0 ( nT , n , ε)<br />

=<br />

2<br />

-----------------------------------------------------------------------------<br />

N C ( T n )γ n ( nT , n ) ε<br />

1 + ----------------------------------------- exp⎛-----------<br />

⎞<br />

n ⎝k B T n<br />

⎠<br />

(A.7)<br />

The complete distribution function can then be constructed as<br />

⎛ h<br />

f ( r,<br />

k) f 0 ( n( r) , T n ( r)ε , ( k)<br />

) τ( r,<br />

k)<br />

------------k ∇ f (A.8)<br />

* 0 q h ∂ f<br />

------------ 0 ⎞<br />

=<br />

– ⎜ ⋅ – ------- k ⋅ E<br />

*<br />

2πm n 2πm n<br />

∂ε n ⎟<br />

⎝<br />

⎠<br />

We will further make several assumptions to simplify the above expression. First we assume the<br />

effective mass is constant, i.e. for parabolic b<strong>and</strong> structure. Then the carrier velocity, v , is related to<br />

the wave vector, k , by the following expression:,<br />

78 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Fermi-Dirac Distribution <strong>and</strong> Heterostructures<br />

v<br />

=<br />

h<br />

------------ k<br />

2πm *<br />

(A.9)<br />

<strong>and</strong> the kinetic energy can be written as<br />

m<br />

ε<br />

* v 2<br />

= ----------- = -----------------------k 2<br />

(A.10)<br />

2 22π ( ) 2 m *<br />

Furthermore, in heterostructures the electric field might be different for electrons <strong>and</strong> holes depending<br />

on the gradient of the respective b<strong>and</strong> edge. For electrons, we have<br />

1<br />

E n = --∇E (A.11)<br />

q C<br />

We assume the relaxation time ( k -dependent τ ) can be simplified to depend on the kinetic energy<br />

only, i.e., τ( r,<br />

k) = τ( r,<br />

ε)<br />

. Eq. (A.8) can then be written as<br />

h 2<br />

∂<br />

f ( rv , ) f 0 ( nT , n , ε) τ( r,<br />

ε) v ∇ f 0 q f 0<br />

=<br />

– ⎛ ⋅ – ------- v ⋅ E ⎞<br />

⎝ ∂ε n ⎠<br />

(A.12)<br />

Now we are ready to evaluate the carrier current <strong>and</strong> its relevant coefficients. By doing so,<br />

one may also find the exact definition for some commonly used physical parameters such as the<br />

mobility <strong>and</strong> diffusivity. The carrier current can be evaluated from the distribution function as follows:<br />

1<br />

j n – q∫vf ( r,<br />

k)<br />

------------- dk (A.13)<br />

( 2π) 3 x dk y dk z q v f ( rv , ) ⎛<br />

m n<br />

----- ⎞ 3 = = –<br />

∫<br />

dv<br />

⎝ h ⎠ x dv y dv z = – q∫v f ( rv , )d 3 v<br />

where we have used symbol d 3 v = ( m * ⁄ h) 3 dv x dv y dv z <strong>and</strong> the introduction of ( 2π) – 3 in the integral<br />

in k -space is due to the quantum mechanics consideration. It would be desirable to perform the above<br />

integral over ε if the integr<strong>and</strong> is the function of r <strong>and</strong> ε only. This can be done through the following<br />

transformation:<br />

*<br />

m n<br />

*<br />

⎛-----<br />

⎞ 3 dv<br />

⎝ h ⎠ ∫ x dv y dv z<br />

*<br />

2π( 2m n ) 3 ⁄ 2<br />

= ------------------------------ ε 1⁄ 2<br />

dε =<br />

h 3<br />

∫<br />

1<br />

------ ( k B T n ) – 3 ⁄ 2 N C ε 1 ⁄ 2<br />

dε<br />

π<br />

∫<br />

(A.14)<br />

It should be noticed that the first part of the right-h<strong>and</strong>-side (RHS) in Eq. (A.12) is even in k -<br />

space <strong>and</strong> the second part is odd in k -space, thus in the integral of Eq. (A.13) the first part of the<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 79


Fermi-Dirac Distribution <strong>and</strong> Heterostructures<br />

distribution function will vanish (by multiplying v the even part becomes odd), <strong>and</strong> only the second<br />

(odd) part is used in the integration. The result is as follows:<br />

j n<br />

q τ( r,<br />

ε)vv ∇ f 0 d 3 v q 2 ∂ f<br />

τ( r,<br />

ε 0<br />

=<br />

⎛<br />

∫<br />

)------- vvd 3 v⎞ ∫<br />

⋅ –<br />

⋅ E (A.15)<br />

⎝ ∂ε ⎠ n<br />

Note that vv should be understood as the tensor. It is easy to identify the second term on the RHS<br />

represents the drift component because it is proportional to the electric field. The first term is, however,<br />

not clear at this stage <strong>and</strong> we need to further find out the form of ∇ f 0 . We now proceed to find its<br />

expression.<br />

∂ f 0 ∂ f<br />

∇ f 0<br />

------- 0<br />

∂ f 0 ⎛ λ<br />

∇n + --------∇T<br />

∂n ∂T n k B T n<br />

------- n 3<br />

– ---- ∇n -- λ n ε<br />

+ ⎜<br />

⎛ ----- – ----------- ⎟<br />

⎞ ⎞<br />

= = ⎜<br />

n<br />

∂ε n 2T 2 ∇T n ⎟<br />

⎝ ⎝ n k B T n<br />

⎠ ⎠<br />

Thus Eq. (A.15) becomes<br />

(A.16)<br />

1<br />

j n q k B T n λ n<br />

-- d 3 ∂ f<br />

vτ( r,<br />

ε 0<br />

– )------- vv<br />

n∫<br />

⋅ ∇n qn – q 1 ∂ε<br />

n -- d 3 ∂ f<br />

vτ( r,<br />

ε 0<br />

=<br />

+<br />

∫<br />

)------- vv ⋅ E<br />

∂ε n<br />

3<br />

qn -- 1 1<br />

----- k<br />

2T B T n λ n<br />

-- d 3 ∂ f<br />

vτ( r,<br />

ε 0 1<br />

– –<br />

)------- vv<br />

n n∫<br />

----- 1 ∂ε T n n -- ∂<br />

d3 vτ( r,<br />

ε)ε f 0<br />

+<br />

–<br />

∫<br />

------- vv ⋅ ∇T<br />

∂ε<br />

n<br />

(A.17)<br />

This seemly formidably complex expression can greatly be simplified by introducing some familiar<br />

coefficients through identification of origin of each term.<br />

A.2 General Relationship between Mobility,<br />

Diffusivity, <strong>and</strong> Thermal Diffusivity<br />

Furthermore, the tensor representation can be reduced to scalar under the constant effective mass<br />

assumption we have made. That is,<br />

8π<br />

∫ d3 vvv =<br />

3h 3 ∫ ε 3 2<br />

dε Î<br />

(A.18)<br />

where Î is the identity matrix. By realizing the relationship of Î ⋅∇<br />

= ∇ <strong>and</strong> by comparing to the<br />

st<strong>and</strong>ard drift-diffusion expression of the carrier current, one can write the following compact form:<br />

80 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Fermi-Dirac Distribution <strong>and</strong> Heterostructures<br />

j n = qD n ∇n + qnµ n E n + qnD T n ∇T n<br />

(A.19)<br />

where coefficients D , µ , <strong>and</strong> D T are named as diffusion constant (or diffusivity), mobility, <strong>and</strong><br />

thermal diffusivity, respectively. Comparing Eq. (A.19) with Eq. (A.17), one obtains<br />

µ n q 1 8π<br />

--------- 2m * ∂ f<br />

n3h 3 n τ( r,<br />

ε 0<br />

= –<br />

∫<br />

)------- ε 3 ⁄ 2<br />

dε<br />

∂ε<br />

(A.20)<br />

D n<br />

=<br />

k B T n<br />

-----------λ<br />

q n µ n<br />

(A.21)<br />

T 1<br />

D n<br />

----- 3 T n 2 --D 8π *1 ∂ f<br />

n<br />

------- 2m<br />

3h 3 n<br />

-- τ r ε 0<br />

= – +<br />

n∫<br />

( , )------- ε 5 2<br />

dε<br />

∂ε<br />

(A.22)<br />

where Î is the identity matrix. It becomes immediately clear from Eq. (A.20) <strong>and</strong> Eq. (A.21) that we<br />

have arrived a generalized Einstein relationship between the mobility, µ , <strong>and</strong> diffusivity, D as<br />

follows:<br />

D k B T k<br />

--- -------- B T<br />

λ -------- F 1⁄ 2( η)<br />

= = ---------------------<br />

(A.23)<br />

µ q q F – 1 ⁄ 2 ( η)<br />

where all T , λ , <strong>and</strong> η are for the same carriers as in D <strong>and</strong> µ . The relationship of D T <strong>and</strong> µ is not so<br />

obvious at the first glance. But for the special case of Boltzmann statistics, i.e. for<br />

there exists a special relationship that<br />

f 0 ( nT , n , ε)<br />

n ε<br />

= ------ exp⎛–-----------<br />

⎞<br />

N C<br />

⎝ k B T n<br />

⎠<br />

(A.24)<br />

Then we obtain<br />

∂ f<br />

-------- 0<br />

n ∂ ∂ f<br />

-------- 0<br />

= -------<br />

∂T n<br />

∂T n ∂n<br />

(A.25)<br />

Note that this simple relationship does not hold for general Fermi-Dirac statistics.<br />

D n<br />

T<br />

∂D = -------- n<br />

∂T n<br />

(A.26)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 81


Fermi-Dirac Distribution <strong>and</strong> Heterostructures<br />

Now we consider the specific form of the relaxation time,<br />

<strong>2ET</strong> implementation, we assume the following power dependence:<br />

τ( r,<br />

ε)<br />

. For the current <strong>PISCES</strong>-<br />

τ( r,<br />

ε) = α( r,<br />

T L )ε – ν<br />

(A.27)<br />

where ν ≥ 0 <strong>and</strong> α is the remaining part of τ which does not depend on the carrier kinetic energy. To<br />

be more specific, we have explicitly expressed the lattice temperature ( T L ) dependence. Also note that<br />

α doesn’t have the units of time.<br />

With the above power dependence of the relaxation time on energy, we can find more direct<br />

link between D T <strong>and</strong> µ . Notice that<br />

∞<br />

ε – ν ∂ f 0<br />

∫<br />

------- ε 3 ⁄ 2<br />

∂ε<br />

dε =<br />

∫ε 3⁄ 2–<br />

ν<br />

df = ( 3–<br />

2ν)Γ⎛ 3<br />

0<br />

2 -- –<br />

⎝<br />

ν ⎞ F1<br />

⎠ 2<br />

0<br />

∞<br />

0<br />

( )( k B T n ) 3 ⁄ 2 – ν<br />

⁄ – ν η n<br />

(A.28)<br />

where integral by parts has been used during the derivation <strong>and</strong> ν must be no bigger than 3/2 to insure<br />

that no singularity occurs. For the same reasoning, one obtains<br />

Thus it is clear that<br />

∞<br />

ε – ν ∂ f 0<br />

∫<br />

------- ε 5 ⁄ 2<br />

∂ε<br />

dε = ( 5 – 2ν)Γ⎛ 5 2 -- –<br />

⎝<br />

ν ⎞ F3<br />

⎠ 2<br />

0<br />

( )( k B T n ) 5⁄<br />

2–<br />

ν<br />

⁄ – ν η n<br />

(A.29)<br />

or<br />

T<br />

D<br />

------ n<br />

µ n<br />

=<br />

1<br />

----- 3 2 --k B T n<br />

-----------λ ⎛5<br />

q n -- – ν⎞ k B T n<br />

----------- F 3 ⁄ 2–<br />

–<br />

–<br />

----------------<br />

ν<br />

⎝2<br />

⎠ q<br />

T n<br />

F 1⁄ 2–<br />

ν<br />

(A.30)<br />

D n<br />

T<br />

=<br />

k<br />

--<br />

q<br />

⎛5<br />

-- – ν⎞ F 3 ⁄ 2–<br />

ν 3<br />

---------------- – --λ<br />

⎝2<br />

⎠ 2 n µ n<br />

F 1 ⁄ 2–<br />

ν<br />

(A.31)<br />

We now consider a more specific case, that is for the case where the acoustic phonon<br />

scattering is dominant, then p = 1 according to Stratton [1]. Furthermore, for nondegenerate cases,<br />

using property Eq. (B.5), the ratio of Fermi integrals with different orders all become the unity, hence<br />

D n<br />

T<br />

even becomes zero. That is to say, the gradient of the carrier temperature doesn’t contribute to the<br />

current flow.<br />

82 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Fermi-Dirac Distribution <strong>and</strong> Heterostructures<br />

A.3 Heterostructures<br />

For heterostructures, the effective mass would be a function of the position also. In evaluating<br />

∇ f 0 , therefore, one needs to take into consideration the variation of the effective mass. This can be<br />

done by adding an extra term in Eq. (A.16) as follows:<br />

∂ f 0 ∂ f<br />

∇ f 0<br />

------- 0 ∂ f 0 * ∂ f<br />

= ∇n + --------∇T (A.32)<br />

∂n ∂T n<br />

-------- 0 λ<br />

+ ∇m<br />

* n k B T n<br />

------- n ⎛3<br />

– ---- ∇n -- λ n ε ⎞ 3<br />

⎜ ----- – ----------- ⎟<br />

n ∂m n<br />

∂ε n 2T 2 ∇T n<br />

-- λ n *<br />

=<br />

+ + ----- ∇m<br />

⎝ n k B T n<br />

⎠ 2 * n<br />

m n<br />

The last term on RHS constitutes another driving force the carrier transport, but the difference from<br />

the previous two driving forces due to ∇n <strong>and</strong> ∇T n is that the effective mass is a structure parameter<br />

<strong>and</strong> does not change during the solution process, i.e., it is not a basic variable. We will later rearrange<br />

the terms in such a way that only true driving forces appear in the current expression. Before we<br />

proceed further, we look for other structure parameters. As discussed previously, for heterostructures<br />

the electric field which is a direct consequence of the gradient of potential might be different for<br />

electrons <strong>and</strong> holes. Similar to Eq. (A.11), the electric field for holes can be express as the gradient of<br />

the valence b<strong>and</strong> edge:<br />

1<br />

E p = --∇E<br />

q V<br />

(A.33)<br />

But for the entire semiconductor region, there is one variable for electrostatic potential, ψ .<br />

So it is desirable to link both E C <strong>and</strong> E V to ψ . We define for heterostructure the electrostatic potential<br />

as<br />

E<br />

ψ = –--------- vac<br />

(A.34)<br />

q<br />

where E vac is the energy level for vacuum. The advantage of defining the potential this way is to<br />

warrant it is continuous <strong>and</strong> differentiable for the electric field has to be finite in magnitude. This is<br />

extremely important as in the heterostructure, the conventional definition of the potential as the<br />

intrinsic Fermi level<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 83


Fermi-Dirac Distribution <strong>and</strong> Heterostructures<br />

E<br />

E C + E<br />

Fi ------------------- V<br />

kT (A.35)<br />

2<br />

L ln N C T L<br />

= – ------------------<br />

( )<br />

N V ( T L )<br />

where T L is the lattice temperature <strong>and</strong> the densities of states for conduction <strong>and</strong> valence b<strong>and</strong>s are<br />

evaluated at the lattice temperature, is not necessarily continuous. We can then relate the b<strong>and</strong> edges<br />

to the potential using b<strong>and</strong> structure parameters: electron affinity χ <strong>and</strong> b<strong>and</strong>gap E g as follows:<br />

E C<br />

=<br />

– qψ – χ<br />

(A.36)<br />

E V<br />

=<br />

– qψ – χ – E g<br />

(A.37)<br />

We are now ready to rewrite the current expressions for electrons <strong>and</strong> holes. Based on<br />

Eq. (A.32) <strong>and</strong> Eq. (A.15), one obtains for electrons:<br />

3 k B T n *<br />

j n = qD n ∇n+<br />

qnµ ⎛<br />

n F n – --λ<br />

2 n<br />

-----------∇lnm ⎞<br />

⎝ q n + qnD T ⎠ n ∇T n<br />

qD n ∇n qnD T n ∇T n qnµ n ∇ψ nµ n ∇χ 3 2 --λ *<br />

= + – – ⎛ + n k B T n ∇lnm ⎞<br />

⎝<br />

n ⎠<br />

(A.38)<br />

For holes,<br />

j p<br />

=<br />

– qD p ∇p qpD T 3<br />

*<br />

– p ∇T p – qpµ p ∇ψ – pµ p ∇χ ( + E g ) – --λ<br />

2 p k T p ∇lnm p<br />

B<br />

(A.39)<br />

The above expressions can greatly be simplified if the quasi-Fermi level instead of the carrier<br />

concentration is used as the driving force for the carrier transport. By introducing the kinetic energy<br />

ε( k) = E( k) – E C ( r)<br />

in Eq. (A.2), the Fermi-Dirac distribution function can be written as<br />

Thus<br />

f 0 ( r,<br />

k)<br />

=<br />

2<br />

--------------------------------------------------------- =<br />

⎛<br />

1 exp E( k)<br />

Fn r)<br />

⎞<br />

+ ⎜----------------------------------<br />

⎟<br />

⎝ k B T n ( r)<br />

⎠<br />

2<br />

-----------------------------------------------------------------------------<br />

⎛<br />

1 exp ε( k)<br />

+ E C ( r)<br />

r– E Fn ( r)<br />

⎞<br />

+ ⎜------------------------------------------------------<br />

⎟<br />

⎝ k B T n ( ) ⎠<br />

(A.40)<br />

∂ f 0 ⎛ ε( k) + E<br />

∇ f 0 ( r,<br />

k)<br />

------- C ( r) – E Fn ( r)<br />

⎞<br />

= ⎜∇E ∂ε C – ∇E Fn – ------------------------------------------------------∇T<br />

T n ⎟<br />

⎝<br />

n<br />

⎠<br />

Substituting the above expression into Eq. (A.15) <strong>and</strong> using Eq. (A.11), one obtains<br />

(A.41)<br />

84 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Fermi-Dirac Distribution <strong>and</strong> Heterostructures<br />

j n = nµ n ∇E Fn + qnQ n ∇T n<br />

where the thermopower Q is defined as<br />

(A.42)<br />

T k B<br />

Q n = D n + ---- ⎛ 3 (A.43)<br />

q 2 --λ – η ⎞ n n µn<br />

⎝ ⎠<br />

Note that the coefficient for the current component explicitly due to the carrier temperature gradient<br />

in Eq. (A.42) is different from that in Eq. (A.19). But for the isothermal case (<br />

expressions are reduced to the st<strong>and</strong>ard drift-diffusion (DD) form.<br />

T n<br />

= const ), both<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 85


Fermi-Dirac Distribution <strong>and</strong> Heterostructures<br />

86 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


APPENDIX B<br />

Mathematical Properties of<br />

Fermi Integral<br />

We first define the Fermi integral of order ν as used in this document:<br />

1<br />

F ν ( η)<br />

= --------------------<br />

Γν ( + 1)<br />

∫ --------------------dx<br />

1 + e x – η<br />

where Γ is the Gamma function which is defined as<br />

x ν<br />

(B.1)<br />

<strong>and</strong> has the properties of<br />

∞<br />

∫<br />

Γν ( ) = x ν – 1 e – x dx<br />

0<br />

(B.2)<br />

<strong>and</strong><br />

Γ⎛ 1 ⎝2 -- ⎞<br />

⎠<br />

=<br />

π<br />

(B.3)<br />

Γν ( + 1) = νΓ( ν) for ν > 0<br />

(B.4)<br />

There are a few useful properties of Fermi integral, which are used in the program. We list two of them<br />

below:<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 87


Mathematical Properties of Fermi Integral<br />

<strong>and</strong><br />

lim F ν ( η)<br />

= e η regardless value of ν<br />

η→ – ∞<br />

d<br />

------ F<br />

dη ν ( η) = F ν – 1 ( η)<br />

From the above properties, one can derive two useful derivatives:<br />

(B.5)<br />

(B.6)<br />

∂<br />

----- η<br />

∂n n ( nT , n ) =<br />

where λ n is the symbol of λ( η n ) with λ defined as<br />

λ<br />

---- n<br />

n<br />

(B.7)<br />

λ<br />

=<br />

F 1 ⁄ 2 η<br />

F – 1 ⁄ 2 η<br />

( )<br />

---------------------<br />

( )<br />

(B.8)<br />

Another useful derivative is<br />

∂<br />

----- γ<br />

∂n n ( nT , n )<br />

=<br />

γ<br />

---- n<br />

( 1 – λ<br />

n n )<br />

(B.9)<br />

For holes there are completely analogous formulas <strong>and</strong> are listed below:<br />

∂<br />

-----η<br />

∂p p ( pT , p )<br />

=<br />

λ<br />

----- p<br />

p<br />

(B.10)<br />

∂<br />

-----γ<br />

∂p p ( pT , p )<br />

γ<br />

---- p<br />

( 1 – λ<br />

p p )<br />

Now we give the expressions for the derivative of η <strong>and</strong> γ w.r.t. the carrier temperature T .<br />

=<br />

(B.11)<br />

∂<br />

--------η<br />

∂T n ( nT , n )<br />

n<br />

=<br />

– 3<br />

--<br />

1 2 T -----λ n<br />

n<br />

(B.12)<br />

∂<br />

--------η<br />

∂T p ( pT , p )<br />

p<br />

3<br />

= –-------λ 1<br />

2 p<br />

T p<br />

(B.13)<br />

88 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


Mathematical Properties of Fermi Integral<br />

∂<br />

--------γ<br />

∂T n ( nT , n )<br />

n<br />

=<br />

γ n<br />

T n<br />

3<br />

–--( 1 – λ<br />

2 n )-----<br />

(B.14)<br />

∂<br />

--------γ<br />

∂T p ( pT , p )<br />

p<br />

3<br />

-- ( 1 – λ<br />

2 p ) γ p<br />

= – -----<br />

T p<br />

(B.15)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 89


Mathematical Properties of Fermi Integral<br />

90 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


APPENDIX C<br />

Formulations in Previous<br />

<strong>PISCES</strong>-II Versions<br />

Considering the limited access to the manuals <strong>and</strong> reports for the previous versions of <strong>PISCES</strong> II (i.e.<br />

<strong>PISCES</strong>-II User’s Manual (1984) [3] <strong>and</strong> <strong>PISCES</strong>-IIB Supplementary report (1985) [4]), we list in this<br />

Appendix those equations <strong>and</strong> expressions referred to in the User’s Manual but not discussed in this<br />

report. Users may find the similar ones in the previous <strong>PISCES</strong> II reports.<br />

A n<br />

**<br />

Surface recombination velocities for electrons <strong>and</strong> holes, <strong>and</strong> , are given by<br />

A p<br />

**<br />

where <strong>and</strong> are the effective Richardson constants (p. 389 in [18]) for electrons <strong>and</strong> holes.<br />

Incomplete ionization for shallow doping impurities:<br />

v sn<br />

A **<br />

v n T 2<br />

sn = --------------<br />

qN C<br />

(C.1)<br />

A **<br />

v p T 2<br />

sp = --------------<br />

qN V<br />

v sp<br />

+<br />

N D<br />

N Ā<br />

N D<br />

( – ) ⁄ kT<br />

= --------------------------------------------<br />

1 g D e E Fn E<br />

+<br />

D<br />

N A<br />

( – ) ⁄ kT<br />

= --------------------------------------------<br />

1 g A e E A E<br />

+<br />

Fp<br />

(C.2)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 91


Formulations in Previous <strong>PISCES</strong>-II Versions<br />

where E D <strong>and</strong> E A are impurity energies, g A <strong>and</strong> g D are degeneracy factors for donors <strong>and</strong> acceptors,<br />

respectively.<br />

Surface mobility reduction factor, g surf . To model the low-field mobility along the oxidesemiconductor<br />

interface in a simple way, the following formula is used:<br />

where 0 < g surf ≤ 1.<br />

µ 0 surface<br />

, = g surf µ 0,<br />

bulk<br />

(C.3)<br />

Field-dependent barrier lowering model for Schottky contacts:<br />

q<br />

∆φ b = ----------E 1 ⁄ 2 + αE<br />

(C.4)<br />

4πε s<br />

where E is the magnitude of the electric field at the interface. Both lowering mechanisms, image force<br />

(the first term on RHS of Eq. (C.4)) <strong>and</strong> static dipole layer (second term), are considered in the above<br />

model.<br />

92 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


References<br />

[1] R. Stratton, “Semiconductor current-flow equations (diffusion <strong>and</strong> degeneracy),” IEEE Trans.<br />

Elec. Dev., Vol. ED-19, pp. 1288-1292, Dec. 1972.<br />

[2] E. C. Kan, D. Chen, U. Ravaioli, Z. Yu, <strong>and</strong> R. W. Dutton, “Formulation of macroscopic<br />

transport models for numerical simulation of semiconductor devices,” to be published in VLSI<br />

Design, Aug. 1994.<br />

[3] M. R. Pinto, C. S. Rafferty <strong>and</strong> R. W. Dutton, “<strong>PISCES</strong>-II - Poisson <strong>and</strong> Continuity Equation<br />

Solver,'' <strong>Stanford</strong> Electronics Laboratory Technical Report, <strong>Stanford</strong> University, September<br />

1984.<br />

[4] M. R. Pinto, C. S. Rafferty, H. R. Yeager, <strong>and</strong> R. W. Dutton, “<strong>PISCES</strong>-II - Supplementary<br />

report,'' Tech. Rep., Integrated Circuits Laboratory, <strong>Stanford</strong> University, 1985.<br />

[5] N. D. Arora, J. R. Hauser, <strong>and</strong> D. J. Roulston, “Electron <strong>and</strong> hole mobilities in silicon as a<br />

function of concentration <strong>and</strong> temperature,” IEEE Trans. Elec. Dev., Vol. ED-29, pp. 292-295,<br />

Feb. 1982.<br />

[6] Z. Yu et al., “Development of doping <strong>and</strong> temperature dependent mobility model in GaAs using<br />

a robust optimizer,” Private communication, July 1993.<br />

[7] J. M. Dorkel <strong>and</strong> Ph. Leturcq, “Carrier mobility in silicon semi-empirically related to<br />

temperature, doping <strong>and</strong> injection level,” Solid-State Elec., Vol. 24, no. 9, pp. 821-825, 1981.<br />

[8] C. Lombardi, S. Manzini, A. Saporito, <strong>and</strong> M. Vanzi, “A physically based mobility model for<br />

numerical simulation of non-planar devices,” IEEE CAD, Vol. 7, no. 11, pp. 1164-1171, Nov.<br />

1988.<br />

[9] J. T. Watt, Modeling The Performance of Liquid-Nitrogen Cooled CMOS VLSI, Ph.D.<br />

dissertation, <strong>Stanford</strong> University, May 1989.<br />

[10] A. G. Sabnis <strong>and</strong> J. T. Clemens, “Characterization of the electron mobility in the inverted <br />

Si surface,” IEDM Technical Digest, pp. 18-21, 1979.<br />

[11] H. Shin, A. F. Tasch, Jr., C. M. Maziar, <strong>and</strong> S. K. Banerjee, “A new approach to verify <strong>and</strong><br />

derive a transverse field-dependent mobility model for electrons in MOS inversion layers,”<br />

IEEE Trans. Elec. Dev., Vol. 36, no. 6, pp. 1117-1124, June 1989.<br />

[12] S. Schwarz <strong>and</strong> S. Russek, “Semi-empirical equations for electron velocity in silicon: Part II--<br />

MOS inversion layer,” IEEE Trans. Elec. Dev., vol. ED-30, pp. 1634-1639, Dec. 1983.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 93


[13] H. Shin, G. M. Yeric, A. F. Tasch <strong>and</strong> C. M. Maziar, “Physically-based models for effective<br />

mobility <strong>and</strong> local-field mobility of electrons in MOS inversion layers,” Solid State Elec., Vol.<br />

34, no. 6, pp. 545-552, 1991.<br />

[14] D. M. Caughey <strong>and</strong> R. E. Thomas, “Carrier mobilities in silicon empirically related to doping<br />

<strong>and</strong> field,” Proc. IEEE, pp. 2192-2193, Dec. 1967.<br />

[15] J. J. Barnes, R. J. Lomax, <strong>and</strong> G. I. Haddad, “Finite-element simulation of GaAs MESFET’s<br />

with lateral doping profiles <strong>and</strong> submicron gates,” IEEE Trans. Elec. Dev., Vol. ED-23,<br />

Sept. 1976.<br />

[16] H. R. Yeager, “Circuit-simulation models for the high electron-mobility transistor,” Ph. D.<br />

Thesis, <strong>Stanford</strong> University, April 1989.<br />

[17] W. Haensch <strong>and</strong> M. Miura-Mattausch, “The hot-electron problem in small semiconductor<br />

devices,” J. Appl. Phys., Vol. 60, p. 650, 1986.<br />

[18] S. M. Sze, Physics of Semiconductor Devices, 1st ed., p. 62, John Wiley & Sons, New York,<br />

1969.<br />

[19] K. Hui, C. Hu, P. George, <strong>and</strong> P. K. Ko, “Impact ionization in GaAs MESFET’s”, IEEE Elec.<br />

Dev. Lett., vol. 11, no. 3, p. 113, Feb. 1991.<br />

[20] D. Ritter, R. A. Hamm, A. Feygenson, <strong>and</strong> M. B. Panish, “Anomalous electric field <strong>and</strong><br />

temperature dependence of collector multiplication in InP/Ga 0.47<br />

In 0.53<br />

As heterojunction<br />

bipolar transistors,” Appl. Phys. Lett. 60 (25), p. 3150, 22 June 1992.<br />

[21] I. Watanabe, T. Torikai, K. Makita, K. Fukushima, <strong>and</strong> T. Uji, “Impact ionization rates in (100)<br />

Al 0.48<br />

In 0.52<br />

As,” IEEE Elec. Dev. Lett., vol. 11, no. 10, p. 437, Oct. 1990.<br />

[22] J. W. Slotboom, G. Streutker, M. J. v. Dort, P. H. Woerlee, A. Pruijmboom, <strong>and</strong> D. G.<br />

Gravestejn, “Non-local impact ionization in silicon devices,” IEDM Technical Digest, p. 127,<br />

1991.<br />

[23] <strong>PISCES</strong>-II code, version 1985.<br />

[24] S. M. Sze, Physics of Semiconductor Devices, 2nd ed., John Wiley & Sons, New York, 1981.<br />

[25] R. S. Muller <strong>and</strong> T. I. Kamins, Device Electronics for Integrated Circuits, John Wiley & Sons,<br />

New York, 1977.<br />

[26] Sadao Adachi, “Material parameters of In 1-x<br />

Ga x<br />

As y<br />

P 1-y<br />

<strong>and</strong> related binaries,” J. Appl. Phys. 53<br />

(12), Dec. 1982, pp. 8775-8792.<br />

94 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


[27] S. M. Sze, ed. High-Speed Semiconductor Devices, John Wiley & Sons, New York, 1990.<br />

[28] L<strong>and</strong>olt-Börnstein, New York: Springer-Verlag, Vol. 17a, 1982.<br />

[29] M. Neuberger, III-V Semiconducting Compounds, H<strong>and</strong>book of Electronic Materials Vol. 2,<br />

IFI/PLENUM: New York, 1971.<br />

[30] D. V. Lang, et al., “Measurement of the b<strong>and</strong> gap of Ge x<br />

Si 1-x<br />

/Si strained-layer<br />

heterostructures,” Appl. Phys. Lett. 47 (12), pp.1333-1335, Dec. 1985.<br />

[31] M P C M Krijn, “Heterojunction b<strong>and</strong> offsets <strong>and</strong> effective masses in III-V quaternary alloys,”<br />

Semicond. Sci. Technol. 6 pp. 27-31, 1991.<br />

[32] S. W. Corzine, et al., “Optical gain in III-V bulk <strong>and</strong> quantum well semiconductors,” in<br />

Quantum Well Lasers, ed. P. S. Zory, Jr., Academic Press, 1993.<br />

[33] Z. Yu <strong>and</strong> R. W. Dutton, “SEDAN III – A generalized electronic material device analysis<br />

program,” Tech. Rep. <strong>Stanford</strong> University, 1985.<br />

[34] R. People, K. W. Wecht, K. Alavi, <strong>and</strong> A. Y. Cho, “Measurement of the conduction-b<strong>and</strong><br />

discontinuity of molecular beam epitaxial grown In 0.52<br />

Al 0.48<br />

As/In 0.53<br />

Ga 0.47<br />

As, N-n<br />

heterojunction by C-V profiling,” Appl. Phys. lett. 43 (1), pp. 118-120, July 1983.<br />

[35] S. W. Corzine, R. H. Yan, <strong>and</strong> L. A. Coldren, “Theoretical gain in strained InGaAs/AlGaAs<br />

quantum wells including valence-b<strong>and</strong> mixing effects,” Appl. Phys. Lett., 57 (26), pp. 2835-<br />

2837, 24 Dec. 1990.<br />

[36] S. E. Laux, “Techniques for small-signal analysis of semiconductor devices,” IEEE Trans. Elec.<br />

Dev., Vol. ED-32, No. 10, pp. 2028-2037, 1985.<br />

[37] Z.-Y. Wang, K.-C. Wu, <strong>and</strong> R. W. Dutton, “An approach to construct pre-conditioning matrices<br />

for block iteration of linear equations,” IEEE Trans. CAD, Vol. 11, No. 11, pp. 1334-1343,<br />

1992.<br />

[38] R. W. Freund, RIACS Tech. Rep. 91.18, NASA Ames Res. Ctr., Sept. 1991.<br />

[39] R. W. Freund <strong>and</strong> N. M. Nachtigal, RIACS Tech. Rep. 90.51, NASA Ames Res. Ctr., Dec.<br />

1990.<br />

[40] K. Wu, Z. Yu, L. So, R.W. Dutton, <strong>and</strong> J. Sato-Iwanaga, “Robust <strong>and</strong> Efficient AC Analysis of<br />

High-speed Devices,” IEDM Technical Digest, pp. 935-938, San Francisco, Dec. 1992.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 95


[41] Z. Yu, R.W. Dutton, <strong>and</strong> M. Vanzi, “An extension to Newton method in device simulators -- on<br />

an efficient algorithm to evaluate small signal parameters <strong>and</strong> to predict initial guess,” IEEE<br />

Trans. CAD, Vol. CAD-6, no. 1, pp.41-45, Jan. 1987.<br />

[42] T. Y. Chan, P. K. Ko, <strong>and</strong> C. Hu, “A simple method to characterize substrate current in<br />

MOSFET’s,” IEEE Elec. Dev. Lett., Vol. 5, no. 12, pp. 505-507, Dec. 1984.<br />

[43] G. G. Shahidi, D. A. Antoniadis, <strong>and</strong> H. I. Smith, “Reduction of channel hot-electron-generated<br />

substrate current in sub-150-nm channel length Si MOSFET’s,” IEEE Elec. Dev. Lett., Vol. 9,<br />

no. 10, pp. 497-499, Oct. 1988.<br />

[44] Chenming Hu, Private communication, 1993.<br />

[45] C. R. Crowell <strong>and</strong> S. M. Sze, “Temperature dependence of avalanche multiplication in<br />

semiconductors,” Appl. Phys. Lett., 9, pp. 242-244, 1966.<br />

[46] D. J. Rose <strong>and</strong> R. E. Bank, Global Approximate Newton Methods, Numerische Mathematik, 37,<br />

pp. 279-295, 1981.<br />

[47] R. Bank, W. M. Coughran, W. Fichtner, E. H. Grosse, D. J. Rose, <strong>and</strong> R. K. Smith, “Transient<br />

simulation of silicon devices <strong>and</strong> circuits,” IEEE Trans. Elec. Dev., pp. 1992-2007, Oct. 1985.<br />

96 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


User’s Manual<br />

CARD FORMAT<br />

<strong>PISCES</strong>-<strong>2ET</strong> takes its input from a user provided ASCII file. Each line is<br />

a particular statement (or card), identified by the first word on the card<br />

(i.e., card name). The remaining parts of the line are the parameters of that<br />

statement. The words on a line are separated by blanks or tabs. If more<br />

than one line of input is necessary for a particular statement, it may be<br />

continued on subsequent lines by placing a plus sign (+) as the first nonblank<br />

character on the continuation lines. Card <strong>and</strong> parameter names do<br />

not need to be typed in full; only enough characters to ensure unique<br />

identification is necessary.<br />

Parameters may be one of three types: numerical, logical, or character<br />

(string). Numerical parameters are assigned values by following the name<br />

of the parameter with an equal sign (=) <strong>and</strong> the value. Character parameters<br />

are assigned values by following the name of the parameter by an<br />

equal sign (=) <strong>and</strong> a string of characters. The first blank or tab delimits the<br />

string. The presence of a logical flag, which is represented by a character<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 97


string, indicates TRUE while a logical flag preceded by a caret (^) indicates<br />

FALSE.<br />

In the card descriptions which follow, the letters required to identify a parameter<br />

(i.e. a word) are printed in upper case, <strong>and</strong> the remainder of the<br />

word in lower case. For each card, parameters are first presented in a SYN-<br />

TAX section <strong>and</strong> are then described in a PARAMETER section.<br />

CARD SEQUENCE<br />

The order of occurrence of cards is significant in some cases. Be aware of<br />

the following dependencies:<br />

• The MESH card must precede all other cards, except TITLE,<br />

COMMENT, <strong>and</strong> OPTIONS cards.<br />

• When defining a rectangular mesh, the order of specification is<br />

as follows:<br />

MESH<br />

X.MESH (all)<br />

Y.MESH (all)<br />

ELIMINATE<br />

SPREAD<br />

REGION<br />

ELECTRODE<br />

ELIMINATE <strong>and</strong> SPREAD cards are optional but if they occur<br />

they must be in that order.<br />

• DOPING cards must follow directly after the mesh definition.<br />

• Before a solution, a symbolic factorization is necessary. Unless<br />

solving for the equilibrium condition (initial solution), a<br />

previous solution must also be loaded to provide an initial<br />

guess.<br />

• Any CONTACT cards must precede the SYMBOLIC card.<br />

• Physical parameters may not be changed using the MATERIAL,<br />

CONTACT, or MODEL cards after the first SOLVE or LOAD<br />

98 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


card is encountered. The MATERIAL <strong>and</strong> CONTACT cards<br />

precede the MODEL card.<br />

• A PLOT.2D must precede a contour plot, to establish the plot<br />

bounds.<br />

• PLOT.2D, PLOT.1D, REGRID, or EXTRACT cards which<br />

access solution quantities (ψ, n, p, φ n , φ p , T n , T p , T L , current<br />

(density), recombination rate, etc.) must be preceded<br />

somewhere in the input deck by a LOAD or SOLVE card to<br />

provide those quantities.<br />

The execution of the program is line based, i.e. whenever a line is read in it<br />

is processed immediately. This feature allows users to run <strong>PISCES</strong> interactively.<br />

In the following, cards are described in an alphabetic order.<br />

CONVENTIONS<br />

Multiple choices of parameters are denoted by putting the parameters in<br />

the braces <strong>and</strong> separated them by vertical bars. Thus<br />

{ par1 | par2 }<br />

states that either par1 or par2 may be specified but not both.<br />

All file names are currently set to no more than 20 characters in length.<br />

Table M.1 lists the abbreviation of symbols for units in this manual.<br />

Table M.1 Abbreviation for units used in this manual.<br />

Abbr.<br />

K<br />

J<br />

s<br />

µ<br />

Units<br />

Kelvin<br />

Joule<br />

second<br />

micrometer<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 99


Table M.1 Abbreviation for units used in this manual.<br />

A<br />

W<br />

C<br />

ampere<br />

watt<br />

coulomb<br />

100 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


CHECK<br />

COMMAND<br />

CHECK<br />

The CHECK card compares a specified solution (input) against the<br />

current solution, returning the maximum <strong>and</strong> average difference in<br />

electrostatic <strong>and</strong> quasi-Fermi potentials. The CHECK card is particularly<br />

useful for comparing solutions that have been obtained on different<br />

generations of regrids. Information for both solution <strong>and</strong> mesh is needed<br />

for check operation. All input files are assumed binary.<br />

SYNTAX<br />

CHeck <br />

file specification:<br />

Infile = Mesh = <br />

Samemesh = <br />

PARAMETERS<br />

Infile<br />

A character string specifying the name of the solution file to compare.<br />

(Default: null)<br />

Meshfile<br />

A character string as the name of the file containing the mesh for the<br />

solution specified by Infile. (Default: null)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 101


CHECK<br />

Samemesh<br />

A logical flag indicating that the solution in Infile used the same mesh as<br />

the current solution. (Default: false)<br />

EXAMPLES<br />

CHECK INFILE=file.sol MESH=file.msh<br />

Compare solution in “file.sol” obtained using mesh “file.msh” against the<br />

current solution.<br />

102 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


COMMENT<br />

COMMAND<br />

COMMENT<br />

The COMMENT card allows comments to be placed in the <strong>PISCES</strong>-<br />

<strong>2ET</strong> input file. The program ignores the information on the COMMENT<br />

card.<br />

SYNTAX<br />

COMment (or $) <br />

PARAMETERS<br />

None.<br />

EXAMPLES<br />

$ **** This is a comment - wow! ****<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 103


CONTACT<br />

COMMAND<br />

CONTACT<br />

The CONTACT card defines the physical parameters of an electrode. If<br />

no CONTACT card is supplied for an electrode, it is assumed to be ohmic<br />

(charge-neutral <strong>and</strong> at the thermal equilibrium). Lumped elements, e.g.,<br />

electrical (or thermal) resistor <strong>and</strong> capacitor, attached to the electrode are<br />

also specified here. See Section 2.3 for details.<br />

SYNTAX<br />

CONTAct <br />

+ <br />

number:<br />

{ NUmber = | ALL = }<br />

workfunction:<br />

{ NEutral = | ALUminum = |<br />

P.polysilicon = | N.polysilicon = |<br />

MOLybdenum = | TUNgsten = |<br />

MO.disilicide = | TU.disilicide = |<br />

Workfunction = }<br />

special conditions:<br />

Surf.rec = VSURFN = <br />

VSURFP = BArrierlow =<br />

{ ALPha = | CUrrent = |<br />

Resistance = | CApacitance = |<br />

COn.resist = | TH.resist = }<br />

104 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


CONTACT<br />

PARAMETERS<br />

ALL<br />

A logical flag to indicate the same properties defined in this card are to be<br />

applied to all electrodes. (Default: false)<br />

ALPha<br />

A real number for the linear, dipole barrier lowering coefficient ( α in<br />

Eq. (C.4)) in units of cm. (Default: 0.0)<br />

ALUminum<br />

A logical flag for using the work function of aluminum (4.17 eV).<br />

(Default: false)<br />

Barrierlow<br />

A logical flag to turn on the barrier lowering mechanism (Eq. (C.4)).<br />

(Default: false)<br />

CApacitance<br />

A real number for the capacitance per unit width (in z-direction) of a<br />

lumped capacitor to be attached to the contact, in units of F µ<br />

-1 .<br />

(Default: 0.0)<br />

COn.resist<br />

A real number for the distributed contact resistance, , in units of Ω cm 2 .<br />

The actual resistance associated with a certain area, A, of the contact is<br />

computed as R = ρ c ⁄ A. (Default: 0.0)<br />

CUrrent<br />

A logical flag to impose the current boundary condition. (Default: false)<br />

ρ c<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 105


CONTACT<br />

MO.disilicide<br />

A logical flag for using the work function of molybdenum silicide<br />

(4.80 eV). (Default: false)<br />

MOLybdenum<br />

A logical flag for using the work function of molybdenum (4.53 eV).<br />

(Default: false)<br />

NEutral<br />

A logical flag to indicate that the work function is to be calculated from<br />

the doping level in the semiconductor at the contact assuming charge<br />

neutrality <strong>and</strong> thermal equilibrium. Note that neutral st<strong>and</strong>s for charge<br />

neutral. (Default: true)<br />

N.polysilicon<br />

A logical flag for using the work function of silicon material, which is<br />

assumed to be the electron affinity for silicon (4.17 eV). (Default: false)<br />

n + Ω µ<br />

NUmber<br />

An integer for the electrode sequence number which must previously be<br />

defined in the ELEctrode card. (No default)<br />

Resistance<br />

A real number for the resistance per unit width (in the z-direction) of a<br />

lumped resistor to be attached to the contact, in units of .<br />

(Default: 0.0)<br />

Surf.rec<br />

A logical flag to indicate that finite surface recombination velocities are to<br />

be used at the respective contact. (Default: false)<br />

106 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


CONTACT<br />

P.polysilicon<br />

A logical flag for using the work function of silicon material, which is<br />

assumed to be the sum of the electron affinity <strong>and</strong> b<strong>and</strong>gap of silicon<br />

(4.17 + E gap eV). (Default: false)<br />

p + µ<br />

TH.resist<br />

A real number for the thermal resistance, as defined in Eq. (2.28), per unit<br />

width (in z-direction) attached to the contact, in units of K s J -1 .<br />

(Default: 0.0)<br />

TU.disilicide<br />

A logical flag for using the work function of tungsten silicide (4.80 eV).<br />

(Default: false)<br />

TUNgsten<br />

A logical flag for using the work function of tungsten (4.63 eV).<br />

(Default: false)<br />

VSURFN, VSURFP<br />

Real number parameters for electron <strong>and</strong> hole surface recombination<br />

velocities, respectively, in units of cm/s. (Defaults: as calculated according<br />

to Eq. (C.1))<br />

Workfunction<br />

A real number for the work function to be used, in units of eV. (Default:<br />

using flag NEutral)<br />

If none of the special conditions above is specified, this contact is a normal<br />

ohmic (Dirichlet) boundary condition.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 107


CONTACT<br />

EXAMPLES<br />

CONTACT ALL NEUTRAL<br />

CONTACT NUM=2 ALUM SURF BARR<br />

Define all electrodes except number 2 to be neutral, <strong>and</strong> number 2 is<br />

aluminum. Besides a workfunction, electrode number 2 also includes<br />

finite surface recombination velocities <strong>and</strong> barrier lowering. Note that the<br />

definition on the second card overrides that of the first.<br />

CONTACT NUM=2 RESIS=1E5<br />

CONTACT NUM=4 CON.RES=1E-6<br />

Attach a lumped resistor to contact number 2 with a value of 10 5 Ω-µ.<br />

Include distributed contact resistance (10 -6 Ω-cm -2 ~ Aluminum) on<br />

contact 4.<br />

108 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


CONTOUR<br />

COMMAND<br />

CONTOUR<br />

The CONTOUR card plots contours on a two-dimensional area of the<br />

device, as specified by the most recent PLOT.2D card. So a PLOT.2D<br />

card must precede a CONTOUR card.<br />

If a quantity specified is a vector, the contour of its magnitude is plotted<br />

unless flag of either X.compon or Y.compon is specified in the same<br />

card. In that case, the corresponding component of the vector quantity is<br />

plotted.<br />

When a solution is loaded, model dependent quantities (e.g., current<br />

density <strong>and</strong> recombination) to be plotted are calculated with the models<br />

currently defined, not with the models that were defined when the solution<br />

was computed. This allows the display of, for instance, Auger <strong>and</strong><br />

Shockley-Read-Hall components of recombination separately. For<br />

consistent value of the current density, the models used in the solution<br />

should be specified. The quantity to be plotted has no default.<br />

SYNTAX<br />

CONTOur <br />

+ <br />

plotted quantity:<br />

{ POtential = | QFN = |<br />

QFP = | VAlenc.b = |<br />

CONduc.b = | DOping = |<br />

ELectrons = | Holes = |<br />

NET.CHarge = | NET.CArrier = |<br />

J.Conduc = | J.Electr = |<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 109


CONTOUR<br />

J.Hole = | J.Displa = |<br />

J.Total = | E.field = |<br />

Recomb = | Flowlines = |<br />

TEMP.Elec = | TEMP.Hole = |<br />

TEMP.Lat = | VELO.Elec = |<br />

VELO.Hole = | Impact = |<br />

GEN.Elec = | GEN.Hole = |<br />

ALPHAN = | ALPHAP = |<br />

E.field }<br />

range definition:<br />

MIn.value = <br />

DEl.value = <br />

MAx.value = <br />

NContours = <br />

control:<br />

LIne.type = <br />

ABsolute = LOgarithm = <br />

{ X.compon = | Y.compon = }<br />

PAuse = COLor = <br />

C1.color = C2.color = <br />

C3.color = C4.color = <br />

C5.color = C6.color = <br />

C7.color = C8.color = <br />

C9.color = C0.color = <br />

PARAMETERS<br />

ABsolute<br />

A logical flag to specify that the absolute value of the plotted quantity be<br />

taken. (Default: false)<br />

110 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


CONTOUR<br />

ALPHAN, ALPHAP<br />

Logical flags for impact ionization rates due to electrons <strong>and</strong> holes (<br />

<strong>and</strong> in Eq. (3.37)), respectively. (Defaults: false)<br />

α p<br />

α n<br />

COLor<br />

A logical flag to specify that color fill, as opposed to simple lines, should<br />

be used to delineate contours. (Default: false)<br />

CONduc.b<br />

A logical flag for potential corresponding to the conduction b<strong>and</strong> edge.<br />

(Default: false)<br />

C1.color, C2.color, ... , C9.color, C0.color<br />

Integer numbers to specify the color types for the contours. (Defaults:<br />

C1.color, 6; C2.color, 7; C3.color, 8; C4.color, 9; C5.color, 10;<br />

C6.color, 11; C7.color, 12; C8.color, 13; C9.color, 14; C0.color, 15)<br />

DEl.value<br />

A real number parameter to specify the interval between values of adjacent<br />

contours. (No default)<br />

DOping<br />

A logical flag for net doping concentration. (Default: false)<br />

E.field<br />

A logical flag for electric field. (Default: false)<br />

ELectrons<br />

A logical flag for electron concentration. (Default: false)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 111


CONTOUR<br />

Flowlines<br />

A logical flag for current flow lines. (Default: false)<br />

GEN.Elec, GEN.Hole<br />

Logical flags for impact ionization generation rates due to electrons <strong>and</strong><br />

holes (first <strong>and</strong> second terms on the right h<strong>and</strong> side of Eq. (3.37)),<br />

respectively. (Defaults: false)<br />

Holes<br />

A logical flag for hole concentration. (Default: false)<br />

Impact<br />

A logical flag for generation rate due to impact ionization (G in Eq.<br />

(3.37)). (Default: false)<br />

J.Conduc, J.Displa, J.Electr, J.Hole, J.Total<br />

Logical flags for the conduction, displacement, electron, hole, <strong>and</strong> total<br />

current densities, respectively. (Default: false)<br />

LIne.type<br />

An integer parameter to define the type of plot line. (Default: 1)<br />

LOgarithm<br />

A logical flag for using logarithmic instead of original value of the<br />

quantity to plot. For rapidly varying quantities, the logarithmic value is<br />

often more revealing. Since many of the quantities may be negative, the<br />

program actually uses<br />

log( x)<br />

= sign( x) ⋅ log( 1 + x )<br />

(M.1)<br />

to avoid overflow. To get the true logarithmic value of a quantity, use<br />

ABsolute <strong>and</strong> LOgarithm. The absolute value is then taken first <strong>and</strong><br />

there is no danger of negative arguments. (Default: false)<br />

112 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


CONTOUR<br />

MIn.value, MAx.value<br />

Real number parameters to specify the minimum <strong>and</strong> maximum values of<br />

the quantity to be plotted, respectively. If the value is logarithmic, the<br />

minimum <strong>and</strong> maximum should be given as the logarithmic bounds.<br />

(Defaults: the actual minimum <strong>and</strong> maximum values of the quantity to be<br />

plotted over the device)<br />

NContours<br />

An integer parameter to specify the number of contours to be plotted. This<br />

is an alternative to the above specification. (No default)<br />

NET.CArrier<br />

A logical flag for net carrier concentration. (Default: false)<br />

NET.CHarge<br />

A logical flag for net charge density. (Default: false)<br />

PAuse<br />

A logical flag to cause the program to stop at the end of the plot so that a<br />

hard copy may be made before continuing. Execution can be resumed by<br />

hitting a carriage return. (Default: false)<br />

POtential<br />

A logical flag for electrostatic potential which is usually defined as the<br />

intrinsic Fermi level. (Default: false)<br />

QFN, QFP<br />

Logical flags for electron <strong>and</strong> hole quasi-Fermi levels, respectively.<br />

(Defaults: false)<br />

Recomb<br />

A logical flag for net recombination rate. (Default: false)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 113


CONTOUR<br />

TEMP.Elec, TEMP.Hole, TEMP.Lat<br />

Logical flags for electron, hole, <strong>and</strong> lattice temperatures, respectively.<br />

(Defaults: false)<br />

VAlenc.b<br />

A logical flag for potential corresponding to the valence b<strong>and</strong> edge.<br />

(Default: false)<br />

VELO.Elec, VELO.Hole<br />

Logical flags for electron <strong>and</strong> hole velocities, which are derived from the<br />

carrier concentration <strong>and</strong> current density, respectively. (Defaults: false)<br />

X.compon, Y.compon<br />

Logical flags for taking x <strong>and</strong> y components of a vector quantity,<br />

respectively. (Default: false)<br />

EXAMPLES<br />

CONTOUR POTEN MIN=-1 MAX=3 DEL=.25<br />

Plots the contours of potential from -1 volts to 3 volts in steps of 0.25<br />

volts.<br />

CONTOUR DOPING MIN=10 MAX=20 DEL=1 LOG ABS<br />

In this example, the log of the doping concentration is plotted from<br />

10<br />

20<br />

1.0×10 to 1.0×10<br />

in steps of 10. By specifying ABsolute, both the n-<br />

type <strong>and</strong> p-type contours are shown.<br />

CONTOUR FLOW NCONT=11<br />

The current flow lines are plotted. The number of flow lines is 11 so that<br />

10% of the current flows between adjacent lines.<br />

114 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


DEEPIMPURITY<br />

COMMAND<br />

DEEPIMPURITY<br />

The DEEPIMPURITY card specifies the impurity doping with variable<br />

ionization energy.<br />

This card has essentially the same features as the DOping card except it<br />

allows users to specify the impurity ionization energy as well. <strong>Its</strong> main<br />

application is for trap DC analysis as shown in the example for MODFET<br />

simulation.<br />

SYNTAX<br />

DEepimpurity <br />

+ <br />

Doping card parameters:<br />

All parameters available in DOping card (see DOping)<br />

ionization energy<br />

Eioniz = <br />

PARAMETERS<br />

Eioniz<br />

Real number parameter to specify the ionization energy for (deep)<br />

impurity level, in units of eV. It is E C - E D for donors <strong>and</strong> E A - E V for<br />

holes. (Default: same as EDb <strong>and</strong> EAb in MAterial card)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 115


DEEPIMPURITY<br />

EXAMPLES<br />

DEEPIMP UNIF X.L=1.625 X.R=1.925 Y.T=0.03<br />

+ Y.B=0.031 ACCEP CONC=1.0e19 EION=0.7<br />

DEEPIMP UNIF X.L=2.075 X.R=2.375 Y.T=0.03<br />

+ Y.B=0.031 ACCEP CONC=1.0e19 EION=0.7<br />

This example shows how the DEEPIMPURITY card can be used to<br />

specify the surface traps. The traps have type of acceptors with ionization<br />

energy 0.7 eV (i.e., E A - E V = 0.7 eV, almost in the mid b<strong>and</strong>gap for<br />

GaAs). The trap density if viewed from per unit area would be<br />

19<br />

–4 12<br />

1×10 × ( 0.031 – 0.03)<br />

× 1×10<br />

= 1×10<br />

cm -2 . And the traps span in the<br />

x-direction from 1.625 to 1.925 µ <strong>and</strong> from 2.075 to 2.375 µ .<br />

116 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


DOPING<br />

COMMAND<br />

DOPING<br />

The DOPING card specifies the impurity doping in selected regions of the<br />

device.<br />

SYNTAX<br />

DOping <br />

<br />

profile type:<br />

{ Erfc = | Gaussian = |<br />

Uniform = | SUprem3 = |<br />

OLD.Suprem3 = | SImpldop = |<br />

S4geom = | AScii = }<br />

location:<br />

X.Left = <br />

Y.Top = <br />

X.Right = <br />

Y.Bottom = <br />

region:<br />

REgion = <br />

profile specification:<br />

If = Erfc or Gaussian:<br />

<br />

COncentrat = JUnction = <br />

J.Conc = SLice.lat = <br />

or<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 117


DOPING<br />

DOSe = CHaracter = <br />

or<br />

COncentrat = CHaracter = <br />

<strong>and</strong><br />

{ N.type or DONor = |<br />

P.type or ACceptor = <br />

<strong>and</strong> any combination of<br />

RAtio.lat = Erfc.lat = <br />

Lat.char = PEak = <br />

DIrection = <br />

If = Uniform:<br />

COncentrat = <br />

{ N.type or DONor = |<br />

P.type or ACceptor = }<br />

If SUprem3 or OLD.Suprem3:<br />

<br />

Infile =<br />

<br />

Boron = PHosphor = <br />

ARsenic = ANtimony = <br />

The selected dopant file will be extracted from the<br />

SUPREM-III save file<br />

<br />

DIrection = STart = <br />

RAtio.lat = <br />

118 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


DOPING<br />

If<br />

= AScii:<br />

<br />

Infile =<br />

<br />

N.type or DONor = <br />

P.type or ACceptor = <br />

The ASCII concentrations in Infile are read <strong>and</strong> added<br />

to (N.type) or subtracted from (P.type) the impurity<br />

profiles.<br />

<br />

DIrection = STart = <br />

RAtio.lat = <br />

If = S4geom or SImpldop:<br />

save:<br />

Infile = <br />

Outfile = <br />

PARAMETERS<br />

ACceptor (P.type)<br />

A logical flag to specify p-type doping impurity (i.e. acceptors).<br />

(Default: false)<br />

AScii<br />

A logical flag for input doping file being in ASCII. If AScii is specified<br />

with SUprem3, then an ASCII SUPREM-III export file is expected.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 119


DOPING<br />

AScii without SUprem3 allows for input a simple ASCII data file<br />

containing information of concentration versus depth. The format of the<br />

ASCII input file is a depth in µ followed by a concentration in cm -3 -- one<br />

pair per line. By convention, positive concentrations refer to donors (ntype),<br />

while negative concentration values refer to acceptors (p-type).<br />

(Default: false)<br />

Boron, PHosphor, ARsenic, ANtimony<br />

Logical flags to indicate that the selected dopant profile will be extracted<br />

from the SUPREM-III save file specified by Infile. (Defaults: false)<br />

CHaracter<br />

A real number parameter for the principal characteristic length used in<br />

computing profiles specified by either Erfc or Gaussian, in units of µ.<br />

(No default)<br />

COncentrat<br />

A real number parameter for the peak doping concentration, in units of<br />

cm -3 . For a Uniform profile, it is the value of the doping level. (No<br />

default)<br />

DIrection<br />

A character of either x or y. Along with STart <strong>and</strong> RAtio.lat, it specifies<br />

where to locate a one-dimensional profile in the two-dimensional device<br />

<strong>and</strong> how to extend it to the second dimension. DIrection is the axis along<br />

which the profile is to be directed. (Default: y)<br />

DONor (N.type)<br />

A logical flag to specify<br />

(Default: false)<br />

n-type doping impurity (i.e. donors).<br />

120 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


DOPING<br />

DOSe<br />

A real number parameter for the total dose, in units of cm -2 . (No default)<br />

ERFC, Gaussian, Uniform<br />

Logical flags used to analytically describe profile shapes in either<br />

complementary error function (Erfc), or Gaussian (Gaussian), or<br />

constant (Uniform) form. Doping is introduced in the intersection of the<br />

location box <strong>and</strong> the region selected. The default box is set up to include<br />

the entire region. (Defaults: false)<br />

ERFC.lat<br />

A logical flag to specify ERFC doping distribution in the lateral direction.<br />

(Default: false)<br />

Infile<br />

A character string for the name of the input file from which the doping is<br />

either directly obtained or interpolated onto an existing mesh. If AScii is<br />

also specified, the doping profile specified in Infile is added to the<br />

previous, if any, impurity profile. (Default: null)Sc<br />

J.conc<br />

A real number parameter for the concentration at the junction, in units of<br />

cm -3 . (Default: COncentrat / 100)<br />

JUnction<br />

A real number parameter for the location of the junction, in units of µ. it<br />

must be located in semiconductor region, outside the constant doping box.<br />

When JUnction is used, the program computes the characteristic length<br />

by examining the doping at a point half way between the ends of the<br />

constant box <strong>and</strong> at the given depth. If some other lateral position is<br />

desired for the computation, use the parameter SLice.lat. (No default)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 121


DOPING<br />

Lat.char<br />

A real number for the characteristic length of the distribution in the lateral<br />

direction as opposed to that in the principal direction (CHaracter). (No<br />

default)<br />

OLd.Suprem3<br />

A logical flag to read the doping profile from the earlier version of<br />

SUPREM-III process simulation program. A binary structure file<br />

specified by Infile is read in. The defaults for the constant doping box are<br />

set up as a line, parallel to the surface, <strong>and</strong> located at STart.<br />

(Default: false)<br />

OUtfile<br />

A character string for the name of a binary file in which all the DOping<br />

cards in the present file will be saved. The first DOping card should have<br />

the OUtfile parameter, so that the doping information on it <strong>and</strong> all<br />

subsequent DOping cards are saved in that file. The file can be re-read<br />

after regridding to calculate the doping profile on a new mesh.<br />

(Default: null)<br />

PEak<br />

A real number parameter specifying the peak position of a doping profile,<br />

in units of µ. (Default: 0.)<br />

RAtio.lat<br />

A real number parameter governing the profile outside the constant doping<br />

box. The lateral profile is assumed to have the same form as the principal<br />

one, but is shrunk/exp<strong>and</strong>ed by the factor RAtio.lat. (Default: 0.8)<br />

REgion<br />

An integer parameter for the sequence number of the region where doping<br />

profile is to be added. This is an optional parameter. Multiple regions may<br />

122 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


DOPING<br />

be included by concatenating their region numbers into a single integer.<br />

(Default: all semiconductor region numbers concatenated)<br />

SImpldop<br />

A logical flag specifying use of the doping profile from a SIMPL-2 file<br />

(rectangular grid) to be interpolated onto an existing <strong>PISCES</strong> mesh.<br />

(default: false)<br />

SLice.lat<br />

A real number parameter, in units of µ, to specify the location in the lateral<br />

direction (as opposed to the principal one), at which the junction depth<br />

specified by JUnction is to be searched along the principal direction. (No<br />

default)<br />

STart<br />

A real number parameter to specify where a one-dimensional doping<br />

profile is to be located along the direction specified by DIrection, used<br />

together with RAtio.lat also. (Default: 0.0)<br />

SUprem3<br />

A logical flag to read the doping profile from the “export” file saved during<br />

a process simulation using the late release of SUPREM-III. The default<br />

is to read binary export files. If the AScii parameter is also specified, then<br />

ASCII SUPREM-III export files will be expected. The defaults for the<br />

constant doping box are set up as a line, parallel to the surface, <strong>and</strong> located<br />

at STart. (Default: false)<br />

S4geom<br />

A logical flag to read the doping profile from the “geometry” file saved<br />

during SUPREM-IV 2D process simulation. (Default: false)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 123


DOPING<br />

X.Left, X.Right, Y.Top, Y.Bottom<br />

Real number parameters to specify the x <strong>and</strong> y bounds of the constant<br />

doping box within the simulation region. Inside the box the doping level is<br />

constant. Outside this area it falls off along the principal axis according to<br />

the profile specifications <strong>and</strong> along the lateral axis according to the lateral<br />

parameters. (The default bounds of the box depend on the type <strong>and</strong><br />

principal direction of the profile as shown in Table M.1. In the case of Erfc<br />

or Gaussian or Suprem3, the bounds are defaulted to a line perpendicular<br />

to the principal axis <strong>and</strong> located at the start (S) / peak (P) of the profile,<br />

respectively. This is denoted by the entry SP in the table.)<br />

Table M.1 Default bounding parameters for constant doping box. Uniform<br />

refers to the Uniform profile while x- <strong>and</strong> y-directions apply to one of<br />

Erfc, Gaussian, SUprem3, OLD.Suprem3, or AScii profiles when the<br />

principal direction is specified as such.<br />

Parameter<br />

X.Left<br />

X.Right<br />

Y.Top<br />

Y.Bottom<br />

Uniform<br />

Default<br />

All other profile type<br />

x - direction<br />

y - direction<br />

– ∞<br />

SP<br />

– ∞<br />

∞<br />

X.Left<br />

∞<br />

– ∞<br />

– ∞<br />

Y.Bot<br />

∞<br />

∞<br />

SP<br />

EXAMPLES<br />

DOP UNIF CONC=1E16 P.TYPE<br />

DOP GAUSS CONC=1E20 JUNC=0.85 N.TYPE PEAK=0<br />

A one-dimensional diode with substrate doping 10 16 cm -3 <strong>and</strong> Gaussian<br />

profile.<br />

124 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


DOPING<br />

DOP UNIF CONC=1E16 P.TYPE<br />

DOP GAUSS CONC=9E19 N.TYPE X.RIGHT=4<br />

+ JUNC=1.3 R.LAT=0.6 ERFC.LAT<br />

DOP GAUSS CONC=9E19 N.TYPE X.LEFT=12<br />

JUNC=1.3 R.LAT=0.6 ERFC.LAT<br />

An n-channel MOSFET with Gaussian source <strong>and</strong> drain. Because the<br />

default X.Right is +∞, for the source we must limit the constant part to<br />

X.Right = 4, <strong>and</strong> conversely for the drain. Thus the profile has a constant<br />

part along the surface, falls off as an error function towards the gate, <strong>and</strong><br />

as a gaussian in the direction of the bulk. In both cases, the vertical<br />

junction is at 1.3 µm.<br />

COM *** SUBSTRATE ***<br />

DOP REGION=1 UNIF CONC=1E16 N.TYPE<br />

COM *** BASE ***<br />

DOP REGION=1 ASCII SUPREM BORON R.LAT=0.7<br />

+ INF=plt3.out1 START=0<br />

COM *** EMITTER ***<br />

DOP REGION=1 ASCII SUPREM PHOS R.LAT=0.8<br />

+ INF=plt3.out1 X.LEFT=12.0 X.RIGHT=13.0<br />

+ START=0<br />

Reads a SUPREM bipolar profile <strong>and</strong> add it to a uniform substrate<br />

concentration. Adds doping only to those points lying in region 1.<br />

COM *** SUBSTRATE ***<br />

DOP REGION=1 UNIFORM CONC=9.999463e+14 p.type<br />

COM *** EMITTER ***<br />

DOP REGION=1 ERFC N.TYPE CON=1e20 CHAR=0.1<br />

+ X.LEF=-1 X.RIG=0 R.LAT=0.8<br />

COM *** BASE ***<br />

DOP REGION=1 SUPREM3 INFILE=base.exp BORON<br />

+ X.LEF=-4 X.RIG=0 R.LAT=0.8<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 125


DOPING<br />

COM *** COLLECTOR ***<br />

DOP REGION=1 GAUSS PHOS CON=1e17 CHAR=0.8<br />

+ X.LEF=-7 X.RIG=0 R.LAT=0.8<br />

Simulates a triple-diffused bipolar by using a mixture of analytic <strong>and</strong><br />

SUPREM-III profiles. Uses an erfc for the emitter, a SUPREM-III profile<br />

for the base, a gaussian for the collector, <strong>and</strong> adding it to a uniform<br />

substrate concentration. Adds doping only to those points lying in<br />

region 1.<br />

126 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


ELECTRODE<br />

COMMAND<br />

ELECTRODE<br />

The ELECTRODE card specifies the location of electrodes including<br />

thermal contacts in a rectangular mesh.<br />

SYNTAX<br />

ELEctrode <br />

number:<br />

position:<br />

Number = <br />

{ IX.Low = IX.High = <br />

IY.Low = IY.High = |<br />

X.Low = X.High = <br />

Y.Low = Y.High = }<br />

Contact = | SURface = <br />

SUBstrate = | SYmmetri = <br />

type:<br />

Thermal = <br />

PARAMETERS<br />

Contact<br />

A logical flag for placing an electrode on the top of the surface of the<br />

semiconductor region (such as at the insulator-semiconductor interface) in<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 127


ELECTRODE<br />

the device structure. If Y.Low is specified, the electrode has thickness of<br />

Y.Low extending to the semiconductor region.<br />

IX.Low, IX.High, IY.Low, IY.High<br />

Integer numbers to indicate that grids having x <strong>and</strong> y indices between<br />

IX.Low <strong>and</strong> IX.High <strong>and</strong> between IY.Low <strong>and</strong> IY.High, respectively, are<br />

designated electrode nodes.<br />

Number<br />

An integer number for the electrode. There may be up to ten electrodes,<br />

numbered 1, 2, 3, ... , 9, 0. They may be assigned in any order, but if there<br />

are N electrodes, none can have an electrode number above N.<br />

SUBstrate<br />

A logical flag for placing an electrode at the bottom of the semiconductor<br />

region in the device structure. If Y.Low is specified, then the electrode has<br />

thickness of Y.Low extending to the semiconductor region.<br />

(Default: false)<br />

SURface<br />

A logical flag for placing an electrode on the top (i.e., surface) of the<br />

device structure.(Default: false)<br />

SYmmetri<br />

A logical flag to place an electrode which is symmetric with the one<br />

specified in this card. The device must have a symmetric structure<br />

(Default: false)<br />

Thermal<br />

A logical flag to specify that the electrode is a thermal contact <strong>and</strong> there is<br />

no equal-potential requirement for those nodes on the same “electrode”<br />

128 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


ELECTRODE<br />

rather lattice temperature is required to be the same for those nodes.<br />

(Default: false, meaning normal electrode)<br />

X.Low, X.High, Y.Low, Y.High<br />

Real number parameters, in units of µ , to indicate that grids having x <strong>and</strong><br />

y coordinates between X.Low <strong>and</strong> X.High <strong>and</strong> between Y.Low <strong>and</strong><br />

Y.High, respectively, are designated electrode nodes. The function of<br />

these parameters is essentially the same as that of IX.Low, IX.High,<br />

IY.Low, <strong>and</strong> IY.High except that the grid location is identified by its real<br />

coordinates. (No defaults)<br />

EXAMPLES<br />

ELEC N=1 IX.LOW=1 IX.HIGH=40 IY.LOW=17<br />

+ IY.HIGH=17<br />

Define a typical back-side contact.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 129


ELIMINATE<br />

COMMAND<br />

ELIMINATE<br />

The ELIMINATE card terminates grids along lines in a rectangular mesh.<br />

SYNTAX<br />

ELIminate <br />

direction:<br />

range:<br />

X.direction = | Y.direction = <br />

IX.Low = <br />

IY.Low = <br />

IX.High = <br />

IY.High = <br />

PARAMETERS<br />

IX.Low, IX.High, IY.Low, IY.High<br />

Integer parameters for indices of grids used to define a rectangular region<br />

where grids along every second line are removed. Successive eliminations<br />

of the same region remove grids following the same principle but are<br />

based on the most recent mesh. For horizontal elimination, the vertical<br />

bounds should be decreased by one at each re-elimination of the same<br />

region, <strong>and</strong> conversely for vertical eliminations.<br />

X.direction, Y.direction<br />

Logical parameters to determine whether to eliminate grids along vertical<br />

(Y.direction) or horizontal (X.direction) lines. One must be chosen.<br />

130 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


ELIMINATE<br />

EXAMPLES<br />

ELIM Y.DIR IY.LO=10 IY.HI=20 IX.LO=1 IX.HI=8<br />

ELIM Y.DIR IY.LO=10 IY.HI=20 IX.LO=1 IX.HI=7<br />

Points along vertical lines between 10 <strong>and</strong> 20 are removed except of those<br />

along line IX = 5.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 131


END (QUIT)<br />

COMMAND<br />

END (QUIT)<br />

The END card specifies the end of a set of <strong>PISCES</strong> input cards. The END<br />

card may be placed anywhere in the input deck; all input lines below the<br />

occurrence of the END card will be ignored. If an END card is not<br />

included, all cards in the input file are processed.<br />

SYNTAX<br />

ENd or Quit<br />

PARAMETERS<br />

None.<br />

EXAMPLES<br />

END<br />

132 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


EXTRACT<br />

COMMAND<br />

EXTRACT<br />

The EXTRACT card extracts integrated electrical quantities, such as net<br />

charge, over a selected region based on the solution.<br />

SYNTAX<br />

EXtract <br />

variable:<br />

NET.CHar = NET.CArr = <br />

Electron = Hole = <br />

Metal.charge = N.Resist = <br />

P.Resist = N.Current = <br />

P.Current = <br />

bounds:<br />

X.MIn = X.MAx = <br />

Y.MIn = Y.MAx = <br />

Contact = Regions = <br />

file i/o:<br />

Outfile = <br />

PARAMETERS<br />

Contact<br />

An integer as the number of the contact for which electrode quantities, e.g.<br />

current <strong>and</strong> (metal) charge, are integrated in its portion intersecting the<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 133


EXTRACT<br />

bounded region designated by X.MIn, X.MAx, Y.MIn, Y.MAx. (No<br />

default)<br />

Metal.charge<br />

A logical flag to indicate that integrated charge on a contact or its portion<br />

is to be calculated. This flag is useful for studies such as capacitance.<br />

(Default: false)<br />

N.Current, P.Current<br />

Logical flags for computing electron <strong>and</strong> hole currents, respectively,<br />

through an electrode or its portion. (Defaults: false)<br />

NET.CHar, NET.CArr, Electron, Hole<br />

Logical flags for integrated net charge, net carriers, electron <strong>and</strong> hole<br />

concentrations, respectively, over a selected region in the device.<br />

(Defaults: false)<br />

N.Resist, P.Resist<br />

Logical flags for the resistance of a cross section due to electrons <strong>and</strong><br />

holes, respectively. The resistance of a cross section is defined as the one<br />

for the resistor with unit thickness in the third dimension <strong>and</strong> using the<br />

cross section as contacts. That is (for electrons),<br />

1<br />

R n = ---------------------<br />

q nµ n ds<br />

∫<br />

(M.2)<br />

where ∫ds<br />

for integration over the cross section, in units of Ω µ<br />

-1 .<br />

(Defaults: false)<br />

Outfile<br />

Character string for the name of an optional ASCII output file to which the<br />

result <strong>and</strong> bias information are to be written. (Default: null)<br />

134 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


EXTRACT<br />

Regions<br />

An integer to identify region(s) as defined in Region card. The<br />

integration will be conducted over only those nodes which fall within both<br />

the bounds specified by X.MIn, X.MAx, Y.MIn, Y.MAx <strong>and</strong> the particular<br />

set of regions specified by Regions. (No default)<br />

X.MIn, X.MAx, Y.MIn, Y.MAx<br />

Real numbers for the coordinates (in units of µ ) of bounds which define<br />

the rectangular region for the integration. (Default: the entire device)<br />

EXAMPLES<br />

EXTRACT P.RESIST<br />

Extracts the resistance of a p-type line diffused into a lightly doped n<br />

substrate. Since the p-conductivity of the substrate is negligible, the<br />

bounds of the integration can include the whole device.<br />

EXTRACT METAL.CH CONT=1 X.MIN=-2.0 X.MAX=2.0<br />

+ Y.MAX=-0.0499 Y.MIN=-0.0501<br />

The charge on the lower surface of a gate electrode is integrated. There is<br />

0.05 µm of gate oxide on the surface, which is at y = 0.0.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 135


IMPACT<br />

COMMAND<br />

IMPACT<br />

The IMPACT card specifies the impact ionization model used for (local)<br />

electric-field dependence. For many devices, the impact ionization model<br />

for continuity equations allows the accurate prediction of avalanche<br />

breakdown. The current models are for Si only. See also, relevant<br />

parameters in the MODELS <strong>and</strong> CONTOUR cards for both field <strong>and</strong><br />

(carrier) energy dependent impact ionization models.<br />

The Newton method with 2-carrier must be specified on the METHOD<br />

card since impact ionization is a 2-carrier process.<br />

SYNTAX<br />

IMpact <br />

model:<br />

CRowell = MOnte =<br />

LAMDAE = LAMDAH = <br />

mode:<br />

Break = <br />

Ionpath =<br />

PARAMETERS<br />

Break<br />

A logical flag to calculate the breakdown voltage using the ionization<br />

integral. (Default: false)<br />

136 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


IMPACT<br />

Crowell<br />

A logical flag to use the analytical expression proposed by Crowell <strong>and</strong><br />

Sze for temperature dependent impact ionization rates [45]. There are four<br />

parameters in this expression: ionization energy, ε i = 1.5E g<br />

, Raman<br />

optical phonon energy, ε r<br />

, carrier mean free path for optical phonon<br />

generation, λ, <strong>and</strong> the low temperature limit of the mean free path, λ 0<br />

. λ<br />

for electrons <strong>and</strong> holes can be altered by users through LAMDAE <strong>and</strong><br />

LAMDAH in this card. The other parameters have values as used in [45].<br />

If Crowell is not specified, the model as specified in Eq. (3.38) <strong>and</strong><br />

Table 3.11 is used. (Default: false)<br />

Ionpath<br />

A logical flag to print the nodes, electric field, carrier ionization rates<br />

along the integration path for calculation of breakdown voltage.<br />

(Default: false)<br />

LAMDAE, LAMDAH<br />

Real number parameters for electron <strong>and</strong> hole mean free paths ( λ in [45]),<br />

–7<br />

respectively, in units of cm. (Default: LAMDAE = 6.2×10<br />

, LAMDAH =<br />

–7<br />

3.8×10<br />

at 300 K [45])<br />

Monte<br />

Character string for the name of the output solution file from a Monte<br />

Carlo (MC) solver. A non-null string serves also as the flag to indicate that<br />

the impact ionization rates ( α ’s) are to be calculated from this MC<br />

solution file. (Default: null)<br />

EXAMPLES<br />

IMPACT CROWELL LAMDAE=6.2e-7 LAMDAH=3.8e-7<br />

Use the Crowell <strong>and</strong> Sze formulae with the default mean free paths.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 137


INCLUDE<br />

COMMAND<br />

INCLUDE<br />

The INCLUDE statement provides a shorth<strong>and</strong> way to include<br />

information from other files in the <strong>PISCES</strong> input file. The statements in<br />

the INCLUDEd file will be inserted into the <strong>PISCES</strong> input file in place of<br />

the INCLUDE statement when the input file is processed. The statements<br />

in the INCLUDEd file must use correct <strong>PISCES</strong> input syntax, <strong>and</strong> they<br />

must be in correct order with respect to the other statements in the present<br />

input file when the INCLUDEd file is exp<strong>and</strong>ed by the input parser. This<br />

is most useful for libraries of material <strong>and</strong> model parameters.<br />

SYNTAX<br />

INClude (SOUrce) <br />

filename:<br />

A character string<br />

PARAMETERS<br />

None.<br />

EXAMPLES<br />

INCLUDE MAT.ini<br />

138 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


INTERFACE<br />

COMMAND<br />

INTERFACE<br />

The INTERFACE card allows the specification of interface parameters<br />

(recombination velocities <strong>and</strong> fixed charges) at semiconductor-insulator<br />

boundaries.<br />

SYNTAX<br />

INTerface <br />

number:<br />

Number = <br />

parameters:<br />

S.N = <br />

Qf = <br />

S.P = <br />

location:<br />

X.MIn = <br />

Y.MIn = <br />

X.MAx = <br />

Y.MAx = <br />

PARAMETERS<br />

Number<br />

An integer for the sequence number of the interface. The maximum<br />

number is currently set to 10. (No default)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 139


INTERFACE<br />

Qf<br />

Real number for the interfacial fixed charge density, in units of cm -2 .<br />

(Default: 0.0)<br />

S.N, S.P<br />

Real number parameters for electron <strong>and</strong> hole surface recombination<br />

velocities, respectively, at the semiconductor surface, in units of cm/s.<br />

(Defaults: 0.0)<br />

X.MIn, X.MAx, Y.MIn, Y.MAx<br />

Real number parameters for the coordinates of bounds to define a<br />

rectangular region, in units of µ. Any oxide/semiconductor interfaces<br />

found within this region are applied with parameters specified in this card.<br />

(Default: entire device)<br />

EXAMPLES<br />

INTERFACE X.MIN=-4 X.MAX=4 Y.MIN=-0.5 Y.MAX=4<br />

+ QF=1E10 S.N=1E4 S.P=1E4<br />

Define an interface with both fixed charge <strong>and</strong> recombination velocities.<br />

140 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


LOAD<br />

COMMAND<br />

LOAD<br />

The LOAD card loads previous solutions from files for plotting or as<br />

initial guess for present solution at other bias point.<br />

SYNTAX<br />

LOAd <br />

solution files:<br />

INFile or IN1file = IN2file = <br />

Outdiff = Ascii = <br />

actions:<br />

Difference = <br />

Restore = <br />

No.check = <br />

PARAMETERS<br />

Ascii<br />

A logical flag to specify that any files read in or written to by Load should<br />

be ASCII rather than binary. (Default: false)<br />

Difference<br />

A logical flag to indicate that the difference between two solutions<br />

(IN1file <strong>and</strong> IN2file) is to be analyzed. The difference may be stored by<br />

specifying Outdiff <strong>and</strong> can only be used for the purpose of data plotting<br />

or extraction. (Default: false)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 141


LOAD<br />

INFile or IN1file, IN2file<br />

Character strings for file names. The INFile (or IN1file) <strong>and</strong> IN2file<br />

specify input files for solutions. INFile (or IN1file) <strong>and</strong> IN2file represent<br />

present <strong>and</strong> previous solutions, respectively. If only one solution is to be<br />

loaded (for plotting or initial guess requiring a single solution), INFile<br />

should be used. If two input files are needed to perform an extrapolation to<br />

obtain an initial guess (i.e., option Extrapolate on the SOLVE card),<br />

IN1file <strong>and</strong> IN2file should be used. The solution in IN2file is the first to<br />

be lost when new solution is obtained. (Defaults: null)<br />

No.check<br />

A logical flag to prevent <strong>PISCES</strong> from checking material parameter<br />

difference between the loaded file(s) <strong>and</strong> those specified in the current<br />

input file. Checking will never be done for loading of ASCII solution<br />

file(s). (Default: false)<br />

Outdiff<br />

Character string for name of file to which the difference from comparison<br />

of loaded solution files (flag Difference) is written to. (Default: null)<br />

Restore<br />

A logical flag to restore the material parameters <strong>and</strong> models in the loaded<br />

file as the current ones. (Default: false)<br />

EXAMPLES<br />

LOAD INF=SOL.IN<br />

Specifies that a single solution file called SOL.IN should be loaded.<br />

142 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


LOAD<br />

LOAD IN1F=SOL1.IN IN2F=SOL2.IN<br />

Two solutions are loaded. The present solution is to SOL1.IN <strong>and</strong> the<br />

previous solution is SOL2.IN. We intend to use SOL1.IN <strong>and</strong> SOL2.IN to<br />

project an initial guess for a third bias point.<br />

LOAD IN1F=SOL1.IN IN2F=SOL2.IN DIFF OUTD=SOL1-2<br />

Two solutions are loaded, <strong>and</strong> the difference calculated <strong>and</strong> stored in a<br />

third file.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 143


LOG<br />

COMMAND<br />

LOG<br />

The LOG card allows the I-V <strong>and</strong>/or AC characteristics of a run to be<br />

logged to ASCII file(s) specified by the user. Any I-V or AC data obtained<br />

subsequent to the card are saved. If a log file is already open, it is closed<br />

<strong>and</strong> a new file opened.<br />

The format of the data saved in AC log file is as follows. The first line in<br />

the file records the number of terminals for the device under simulation.<br />

The lines starting with “*” record the number of the activation terminal,<br />

the magnitude of the AC input signal (sinusoidal), frequency, <strong>and</strong> DC bias<br />

(terminal voltages if lumped external resistors exist). The lines without<br />

“*” record, in sequence, the number of the activation terminal, AC<br />

conductances, capacitances, <strong>and</strong> magnitude of admittances.<br />

SYNTAX<br />

LOG <br />

file specification:<br />

Ivfile or Outfile = <br />

Acfile = <br />

PARAMETERS<br />

Acfile<br />

Character string for the name of file to which the AC simulation results are<br />

to be written. (Default: null, meaning no AC data saved)<br />

144 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


LOG<br />

Ivfile or Outfile<br />

Character string for the name of file to which simulated I-V information is<br />

to written. (Default: null, meaning no DC data saved)<br />

EXAMPLES<br />

LOG IVFIL=out.iv ACFIL=out.ac<br />

Save the simulated I-V data in a file called out.iv <strong>and</strong> AC data in out.ac.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 145


MATERIAL<br />

COMMAND<br />

MATERIAL<br />

The MATERIAL card allows users to change default material parameters<br />

for the base semiconductor in the device (see Section 4.3.1 for explanation<br />

of base material). For the following three parameters: (static) dielectric<br />

constant, ε, thermal conductivity at room temperature, κ, <strong>and</strong> its<br />

temperature coefficient, α (in Eq. (3.36)), they can be changed from<br />

region to region using region number assigned in Region card. For<br />

default parameter value see Table 4.1. Some parameters which are not<br />

included in Table 4.1 are listed here for Si <strong>and</strong> GaAs (Table M.2 <strong>and</strong><br />

Table M.3).<br />

SYNTAX<br />

MAterial <br />

region:<br />

{ NUmber = | Region = }<br />

material parameters:<br />

EG300 = EGAlpha = <br />

EGBeta = AFfinity = <br />

Permittivity = Vsat = <br />

MUN = MUP = <br />

G.surface = TAUN0 = <br />

TAUP0 = NSRHN = <br />

NSRHP = ETrap = <br />

AUGN = AUGP = <br />

NC300 = NV300 = <br />

ARICHN = ARICHP = <br />

146 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


MATERIAL<br />

GCb = GVb = <br />

EDb = EAb = <br />

KP.300 = KP.Alpha = <br />

PARAMETERS<br />

AFfinity<br />

Electron affinity, in eV.<br />

ARICHN, ARICHP<br />

Richardson constants for electrons <strong>and</strong> holes ( <strong>and</strong> in Eq. (C.1)),<br />

respectively, in units of A K -1 cm -2 . (Default: Table M.2).<br />

AUGN, AUGP<br />

Auger coefficients for electrons <strong>and</strong> holes ( <strong>and</strong> in Eq. (3.47)),<br />

respectively, in units of cm 6 s -1 . (Default: Table M.2)<br />

EAb, EDb<br />

Acceptor <strong>and</strong> donor ionization energies ( E A – E V<br />

<strong>and</strong> E C – E D<br />

in Eq.<br />

(C.2)), respectively, in units of eV. (Default: Table M.2)<br />

EGAlpha<br />

α in Eq. (4.2) of units eV K -1 .<br />

EGBeta<br />

β in Eq. (4.2) of units K.<br />

EG300<br />

Energy b<strong>and</strong>gap at 300 K (Eq. (4.2)), in eV.<br />

A n<br />

**<br />

c n<br />

A p<br />

**<br />

c p<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 147


MATERIAL<br />

ETrap<br />

Trap level = E t -E i , in units of eV. (Default: Table M.2)<br />

GCb, GVb<br />

Degeneracy factors for the donor <strong>and</strong> acceptor levels ( <strong>and</strong> in<br />

Eq. (C.2)), respectively, unitless. (Default: Table M.2)<br />

G.surface<br />

Surface mobility reduction factor (g surf in Eq. (C.3)), unitless. (Default:<br />

Table M.2)<br />

KP.300<br />

Thermal conductivity at 300 K ( in Eq. (3.36)), in units of W cm -1 K -1 .<br />

κ 0<br />

(Default: Table 3.10)<br />

KP.Alpha<br />

Temperature coefficient for the thermal conductivity ( α in Eq. (3.36)),<br />

unitless. (Default: 1.2)<br />

MUN, MUP<br />

Low-field mobilities for electrons <strong>and</strong> holes, respectively, in cm 2 V -1 s -1 .<br />

NC300, NV300<br />

Effective densities of states for conduction <strong>and</strong> valence b<strong>and</strong>s,<br />

respectively, at 300 K, in cm -3 .<br />

NSRHN, NSRHP<br />

Reference concentration in SRH recombination formula ( in<br />

Eq. (3.45)) for electrons <strong>and</strong> holes, respectively, in cm -3 .<br />

(Default: Table M.2)<br />

g D<br />

g A<br />

N SRH<br />

148 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


MATERIAL<br />

NUmber or Region<br />

An integer for the sequence number of the region where any of three<br />

material parameters: static dielectric constant (i.e. Permittivity), thermal<br />

conductivity at room temperature (KP.300) <strong>and</strong> its temperature coefficient<br />

(KP.Alpha) can be changed from region to region. Note that all other<br />

material parameters can only be changed for the entire device (base<br />

material). (No default)<br />

Permittivity<br />

Static dielectric constant, unitless.<br />

TAUN0, TAUP0<br />

Minority carrier lifetimes for electrons <strong>and</strong> holes as used in SRH formula<br />

( in Eq. (3.45)), in s. (Default: Table M.2)<br />

τ 0<br />

1.0<br />

Vsat<br />

Carrier saturation velocity, in cm/s. (Default: see Table 3.9 <strong>and</strong> Table 4.1)<br />

Table M.2 material parameters for Si <strong>and</strong> GaAs.<br />

Parameter Constant (units) Silicon GaAs<br />

G.surface Surface mob. reduction 1.0 1.0<br />

TAUN0 Electron lifetime (s)<br />

–7<br />

×10 1.0×10<br />

TAUP0 Hole lifetime (s)<br />

–7<br />

1.0×10 1.0×10<br />

NSRHN SRH ref. conc. in Eq.<br />

(3.45) for n (cm -3 )<br />

16<br />

5.0×10 5.0×10<br />

NSRHP SRH ref. conc. in Eq.<br />

(3.45) for p (cm -3 )<br />

16<br />

5.0×10 5.0×10<br />

ETrap Trap level (eV) 0.0 0.0<br />

AUGN Auger coeff. (n) (cm 6 /s)<br />

–31<br />

2.8×10 2.8×10<br />

AUGP Auger coeff. (p) (cm 6 /s)<br />

–32<br />

9.9×10 9.9×10<br />

–7<br />

–7<br />

16<br />

16<br />

–31<br />

–32<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 149


MATERIAL<br />

Table M.2 material parameters for Si <strong>and</strong> GaAs.<br />

Parameter Constant (units) Silicon GaAs<br />

ARICHN<br />

Eff Richardson const (n)<br />

(A K -1 cm -2 )<br />

110 6.2857<br />

ARICHP Eff Richardson const (p) 30 105<br />

(A K -1 cm -2 )<br />

GCb Cond b<strong>and</strong> degen factor 2.0 2.0<br />

GVb Val b<strong>and</strong> degen factor 4.0 2.0<br />

EDb Donor energy level (eV) 0.044 0.005<br />

EAb Acceptor energy level (eV) 0.045 0.005<br />

Table M.3 Insulator permittivity<br />

Insulator Permittivity<br />

Silicon dioxide 3.9<br />

Silicon nitride 7.5<br />

Sapphire 12.0<br />

EXAMPLES<br />

MATERIAL TAUN0=5.0e-6 TAUP0=5.0e-6 MUN=3000<br />

+ MUP=500<br />

Defines SRH lifetimes <strong>and</strong> concentration-independent low-field mobilities<br />

for all the semiconductor regions within the device (all the other<br />

parameters are assumed to be their defaults, consistent with the<br />

semiconductor type chosen).<br />

150 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


MESH<br />

COMMAND<br />

MESH<br />

The MESH card either initiates the mesh generation phase or reads a<br />

previously generated mesh.<br />

SYNTAX<br />

MESh <br />

+ <br />

type: one of<br />

<br />

Infile = <br />

ASCII.In = <br />

<br />

Rectangular = <br />

NX = NY = <br />

Diag.flip = <br />

<br />

Geometry = Infile = <br />

Flip.y = SCale = <br />

output files:<br />

OUTFile = <br />

ASCII.Out = <br />

grid editor:<br />

OUT.Asc = <br />

SCale = <br />

Flip.y=<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 151


MESH<br />

smoothing key:<br />

SMooth.key = <br />

dimension:<br />

CYLindrical = Width = <br />

electrodes:<br />

Elec.bot = <br />

Poly.elec<br />

PARAMETERS<br />

ASCII.In<br />

A logical flag to indicate that the input mesh file is an ASCII rather than a<br />

binary file. (Default: false)<br />

ASCII.Out<br />

A logical flag to indicate the mesh file, as specified by OUTFile, to be<br />

saved is an ASCII one. Otherwise it will be binary. (Default: false)<br />

Cylindrical<br />

This logical flag specifies that the mesh, whether generated in the current<br />

run or read in from a file, is to be rotated about the right edge of the<br />

rectangular simulation region to permit the simulation of cylindrically<br />

symmetrical devices. This information will not be written to the mesh file;<br />

it must be specified in the input deck for each <strong>PISCES</strong> run. (Default: false)<br />

Diag.flip<br />

A logical flag to flip the diagonals in a rectangular mesh about the center<br />

line of the mesh. If not set, all the diagonals will be in the same direction.<br />

(Default: false)<br />

152 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


MESH<br />

Elec.bot<br />

A logical flag to add an electrode to the bottom of the simulation region<br />

when the mesh file read in is a geometry file generated by a 2D process<br />

simulator such as SUPREM-IV. One of the possible applications of this<br />

flag is to add a substrate contact for a MOSFET structure. Currently, the<br />

electrode number assigned to this contact is hard-wired to 4 in the code.<br />

(Default: false)<br />

Flip.y<br />

A logical flag which reverses the sign of the y-coordinate. (Default: false)<br />

Geometry<br />

A logical flag to indicate that the input ASCII mesh file as specified by<br />

Infile was generated by either a 2D process simulator or by an external<br />

mesh generator. (Default: false)<br />

Infile<br />

The name of the previously generated mesh file. If flag ASCII.In is set,<br />

this file is an ASCII file. Otherwise, it is binary. If flag Geometry is set,<br />

this mesh file, which must be an ASCII one, was generated by either a 2D<br />

process simulator such as SUPREM-IV or by an external mesh generator.<br />

(Default: null)<br />

NX, NY<br />

Integer parameters for numbers of grids in the x- <strong>and</strong> y-directions for a<br />

rectangular mesh, respectively. (No defaults)<br />

OUT.ascii<br />

This logical flag indicates that an ASCII mesh file will be saved for later<br />

editing by an external grid editor. See Appendix B of [3] for details of the<br />

format. (Default: false)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 153


MESH<br />

OUTFile<br />

Specifies the name of the mesh file to be saved. The saved mesh file is<br />

either ASCII or binary depending on the flag ASCII.Out <strong>and</strong> can be read<br />

in by a later <strong>PISCES</strong> run. (Default: null)<br />

Poly.elec<br />

A logical flag to convert the region with material type of polysilicon to an<br />

electrode. The condition <strong>and</strong> application scope of this flag are the same as<br />

those of Elec.bot. Because of the potential difference in integer<br />

representation of the polysilicon region for different process simulators,<br />

this flag is not guaranteed to work properly but it has been tested using one<br />

of the commercial versions of SUPREM-IV. Currently the electrode<br />

number assigned to this contact is hard-wired to 3 in the code. (Default:<br />

false)<br />

Rectangular<br />

A logical flag which initiates the generation of a rectangular mesh.<br />

(Default: true)<br />

SCale<br />

An integer factor by which all the coordinates read in are multiplied.<br />

(Default: 1)<br />

SMooth.key<br />

This integer parameter causes mesh smoothing as described in Section 4.6<br />

of [3]. The digits of the integer are read in reverse order <strong>and</strong> decoded as<br />

follows:<br />

1. Triangle smoothing, maintaining all region boundaries fixed.<br />

2. Triangle smoothing, maintaining only material boundaries.<br />

3. Node averaging.<br />

Options 1 <strong>and</strong> 3 are the most common; 2 is used only if a device has<br />

154 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


MESH<br />

several regions of the same material <strong>and</strong> the border between the different<br />

regions is unimportant. (No default)<br />

Width<br />

This real number parameter specifies the width of the simulation region,<br />

i.e., the dimension in the z-direction, in units of microns. When this<br />

parameter is used, all units for currents become amperes instead of A/µ,<br />

otherwise simulated terminal currents are considered as current densities<br />

per micron in width. (Default: 1.0)<br />

EXAMPLES<br />

MESH RECTANGULAR NX=40 NY=17 OUTF=mesh1.msh<br />

Initiates a rectangular mesh with number of grids 40 in x-direction <strong>and</strong> 17<br />

in y-direction before possible grid elimination <strong>and</strong> requests the finished<br />

mesh to be stored in a (binary) file named mesh1.msh.<br />

MESH INF=mesh1.msh OUT.ASC=mesh1.msh FLIP<br />

+ ASCII.OUT<br />

Reads a previously generated (binary) mesh file <strong>and</strong> generates an ASCII<br />

file for a mesh editor (the y-axis is inverted as specified by flag FLIP<br />

because the grid editor obeys the convention that positive y is upward,<br />

while <strong>PISCES</strong> follows the semiconductor convention of positive y being<br />

into the bulk).<br />

MESH GEOM INF=geom1 SMOOTH.K=13131<br />

+ OUTF=mesh1.msh<br />

Reads an ASCII geometry file, smooths the mesh, <strong>and</strong> stores the file for a<br />

later run (ASCII format). The smoothing does several averaging <strong>and</strong><br />

flipping steps. The digits are read in a reverse order, so that the flipping<br />

comes first, followed by node averaging, <strong>and</strong> so on.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 155


MESH<br />

MESH GEOM INF=mos.geom POLY.ELEC ELEC.BOT<br />

Reads in an ASCII geometry (mesh) file for a MOS structure generated by<br />

one of 2D process simulators, converts the polysilicon layer into the third<br />

contact (the first two are source <strong>and</strong> drain contacts), <strong>and</strong> add the fourth<br />

contact to the substrate. The numbering convention for contacts is<br />

currently hard-wired in the code.<br />

156 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


METHOD<br />

COMMAND<br />

METHOD<br />

The METHOD card sets parameters associated with the particular<br />

solution algorithm chosen on the SYMBOLIC card. There can be more<br />

than one METHOD card in a single simulation, so that parameters can be<br />

altered. The default values of the parameters are used on the first<br />

occurrence of the METHOD card; subsequent METHOD cards only alter<br />

those coefficients specified.<br />

SYNTAX<br />

METhod <br />

+ <br />

general parameters:<br />

ITlimit = Xnorm = <br />

C.toler = P.toler = <br />

T.toler = TL.toler = <br />

Rhsnorm = LImit=<br />

PRint = Fix.qf=<br />

Biasparti or TRap = ATrap = <br />

method-dependent parameters:<br />

<br />

(The following parameters are for damping the Poisson updates)<br />

{ DVlimit = | DAMPEd = }<br />

DElta = DAMPLoop = <br />

DFactor = <br />

(The following parameters select acceleration methods for the<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 157


METHOD<br />

Gemmul iteration)<br />

SInglepois = ICcg=<br />

LUcrit or LU1crit = LU2crit = <br />

Maxinner = ACCElerat = <br />

ACCSTArt = ACCSTOp = <br />

ACCSTEp = <br />

<br />

AUtonr = NRcriter = <br />

2ndorder = TAuto = <br />

TOl.time = L2norm = <br />

Dt.min = Extrapolate = <br />

PARAMETERS<br />

ACCElerat, ACCSTArt, ACCSTOp, ACCSTEp<br />

These parameters deal with an acceleration method for attaining faster<br />

overall convergence in the single-Poisson mode (Carriers = 0 in<br />

SYmbolic card). The logical flag ACCElerat specifies that acceleration<br />

is to be used. ACCSTArt is the starting value of the acceleration<br />

parameter, ACCSTOp is the final (limiting) value of the acceleration<br />

parameter <strong>and</strong> ACCSTEp is the step to be added to the value of the<br />

acceleration parameter after each iteration [3]. (Defaults: ACCElerat,<br />

false; ACCSTArt, 0.3; ACCSTOp, 0.6; ACCSTEp, 0.04)<br />

AUtonr, Nrcriter<br />

These two parameters are for implementing an automated Newton-<br />

Richardson procedure which attempts to reduce the number of LU<br />

decompositions per bias point. The logical flag AUtonr indicates that this<br />

algorithm is to be used. Real number parameter Nrcriter is the ratio by<br />

158 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


METHOD<br />

which the norm from the previous Newton loop must go down in order to<br />

be able to use the same Jacobian (i.e., LU decomposition) for the current<br />

Newton loop. This is strongly recommended for full Newton iteration.<br />

(Defaults: AUtonr, false; Nrcriter, 0.1)<br />

Biasparti or TRap, ATrap<br />

Logical flag Biasparti (TRap) specifies that if a solution process starts to<br />

diverge, the electrode bias steps taken from the initial guess are reduced by<br />

the multiplicative factor ATrap, a real number. (Defaults: Biasparti,<br />

TRap, false; ATrap, 0.5)<br />

DAMPEd<br />

A logical flag to indicate the use of a more sophisticated damping scheme<br />

proposed by Bank <strong>and</strong> Rose [46] (this is the recommended option,<br />

particularly for large bias steps). (Default: false)<br />

DAMPLoop<br />

An integer for the maximum number of damping loops allowed to find a<br />

suitable damping coefficient. (Default: 10)<br />

DElta<br />

Real number parameter for the threshold value to determine the damping<br />

factor for ∆ψ, must be between 0 <strong>and</strong> 1. (Default: 0.5)<br />

DFactor<br />

Real number parameter for the factor which serves to increase the initial<br />

damping coefficient for the next Newton loop. (Default: 10.0)<br />

DT.min<br />

Real number parameter used in transient simulation for the minimum<br />

–25<br />

time-step allowed, in seconds. (Default: 1×10<br />

)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 159


METHOD<br />

DVlimit<br />

Real number parameter to limit the maximum update in ψ for a single<br />

loop, in units of the thermal voltage kT/q. (Default: 0.1)<br />

Extrapolate<br />

A logical flag used in transient simulation. Uses a second-order<br />

extrapolation to compute initial guess for the successive time-step.<br />

(Default: false)<br />

Fix.qf<br />

A logical flag to fix the quasi-Fermi potential of each non-solved for<br />

carrier to a single value, instead of picking a value based on local bias (see<br />

Section 5 of Chapter 2 [3] <strong>and</strong> the ‘‘P.bias'' <strong>and</strong> ‘‘N.bias'' parameters on<br />

the SOlve card). (Default: false)<br />

ICcg<br />

A logical flag to choose whether or not to use iteration to solve the multi-<br />

Poisson loops. It should be set whenever doing multi-Poisson.<br />

(Default: false)<br />

ITlimit<br />

An integer parameter for the maximum number of allowed outer loops<br />

(i.e., Newton loops or Gummel continuity iterations). (Default: 15)<br />

LImit<br />

A logical flag to indicate that the convergence criterion should be ignored,<br />

<strong>and</strong> iterations are to proceed until ITlimit is reached. (Default: false)<br />

LUCrit (LU1crit), LU2crit<br />

Real number parameters to specify how much work is to be done per<br />

Poisson loop (see Section 3 [3]) in Gummel sequential solution method<br />

(flag Gummel in SYmbolic card). The inner norm is required to<br />

160 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


METHOD<br />

decrease by at least LUcrit before returning, or to reach a factor of<br />

LU2crit below the projected Newton error, whichever is the smaller. (If<br />

the inner norm is allowed to exceed the projected Newton error, quadratic<br />

convergence is lost). (Default: LUCrit, LU1crit, 3×10<br />

;<br />

–2<br />

LU2crit, 3×10<br />

)<br />

L2norm<br />

A logical flag to indicate use of L2 norm in transient simulation. It<br />

specifies that the error norms be L2 as opposed to infinity norms for<br />

calculating the time-steps. (Default: true)<br />

Maxinner<br />

An integer to set the maximum number of ICCG iterations. (Default: 25)<br />

PRint<br />

A logical flag to print the terminal fluxes/currents after each continuity<br />

iteration; if this parameter is not set, the terminal fluxes/currents are only<br />

printed after the solution converges. (Default: false)<br />

P.toler, C.toler, T.toler, TL.toler<br />

Real number parameters for the termination criteria in iterations for<br />

solving the Poisson, carrier continuity, energy balance, <strong>and</strong> lattice thermal<br />

diffusion equations, respectively, unitless. (Defaults: 1×10<br />

)<br />

Rhsnorm<br />

A logical flag. If selected, the Poisson error is measured in C µ -1 <strong>and</strong> the<br />

continuity error in A µ -1 . P.toler then defaults to 1×10<br />

C µ -1 , <strong>and</strong><br />

–18<br />

C.toler to 5×10<br />

A µ -1 . (Default: false)<br />

SInglepois<br />

A logical flag to indicate that only a single Poisson iteration is to be<br />

performed per Gummel loop as opposed to the default where the<br />

–5<br />

–26<br />

–3<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 161


METHOD<br />

continuity equation is only solved after Poisson has fully converged.<br />

(Default: false)<br />

TAuto<br />

A logical flag used in transient simulation to force the program to select<br />

time-steps automatically from the local truncation error estimates. Note<br />

that automatic time-stepping is the default for the second-order<br />

discretization but is not allowed for the first-order scheme. (Default: true<br />

when flag 2ndorder set)<br />

TOl.time<br />

Real number parameter used in transient simulation for the maximum<br />

allowed local truncation error, unitless. (Default: 5×10<br />

)<br />

Xnorm<br />

A logical flag to indicate that the error norm in Poisson updates is<br />

measured in units of kT/q, <strong>and</strong> that in carrier updates is measured relative<br />

to the local carrier concentration. In this case the default value for both<br />

P.toler <strong>and</strong> C.toler is 1×10<br />

2ndorder<br />

–5<br />

. (Default: true)<br />

A logical flag used in transient simulation to specify that the second-order<br />

discretization of Bank, et al. [47] be used as opposed to the first-order<br />

backward difference method. (Default: true)<br />

–3<br />

EXAMPLES<br />

METHOD DAMPED P.TOL=1.e-30 RHSNORM<br />

+ XNORM=FALSE<br />

Specifies that for a simulation using the Gummel method (as previously<br />

specified by an appropriate symbolic card), damping is to be employed<br />

162 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


METHOD<br />

<strong>and</strong> the Poisson error tolerance should be 1×10<br />

C µ -1 . Note that because<br />

Xnorm defaults to true, Xnorm must be turned off to use the rhs norm as<br />

a convergence criterion. If Xnorm = false had not been specified, the rhs<br />

norm <strong>and</strong> the update norm would have both been printed, but only the<br />

update norm would have been used to determine convergence.<br />

METHOD TRAP ATRAP=0.5<br />

SOLVE INIT<br />

SOLVE V2=3 V3=5 OUTFILE=outa<br />

This example illustrates the TRap feature, which can be quite useful for<br />

capturing knees of IV curves for devices such as SCRs. The first SOLVE<br />

card solves for the initial, zero bias case. On the second SOLVE card, we<br />

attempt to solve for V2 = 3 volts V3 = 5 volts. If such a large bias change<br />

caused the solution algorithms to diverge for this bias point, the bias steps<br />

would be multiplied by ATrap (0.5); i.e., an intermediate point (V2 = 1.5<br />

volts, V3 = 2.5 volts) would be attempted before trying to obtain V2 = 3<br />

volts <strong>and</strong> V3 = 5 volts again. If the intermediate point can not be solved for<br />

either, <strong>PISCES</strong>-II will continue to reduce the bias step (the next would<br />

be V2 = 0.75 volts <strong>and</strong> V3 = 1.25 volts) up to 4 times. Note also that the<br />

intermediate solutions will be saved in output files in a manner similar to<br />

voltage stepping using the VStep parameter on the SOLVE card; i.e., if<br />

two intermediate steps to V2/V3 = 3/5 volts were required, they would be<br />

stored in “outa'' <strong>and</strong> “outb'' while V2/V3 = 3/5 volts would be stored in<br />

“outc”.<br />

METHOD TOL.TIME=1E-3 AUTONR<br />

This is an example of transient simulation. By default, the second-order<br />

discretization is used, but the required LTE, 1×10<br />

, is smaller than the<br />

default. Newton-Richardson is also used. Note that because the Jacobian is<br />

exact for the second part (BDF-2) of the composite time-step, there should<br />

be very few factorizations for the BDF-2 interval when AUtonr is<br />

specified (see chapter 2 of this report).<br />

–30<br />

–3<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 163


MOBILITY<br />

COMMAND<br />

MOBILITY<br />

The MOBILITY card specifies the values for the parameters in the<br />

mobility models.<br />

SYNTAX<br />

MOBility <br />

carrier:<br />

HOle = <br />

region:<br />

BULk = <br />

numerical parameters:<br />

UMAx = UMIn = <br />

EXP1.tem = EXP.Conc = <br />

EXP2.tem = Ncrit = <br />

Vsat = EC.Crit = <br />

UConst = G.surface = <br />

CHar.int = Alpha = <br />

U0.unv = ETa = <br />

EC.Unv = Qss.conc = <br />

Int.off = DIst.epe = <br />

EXP.Eper = BNL = <br />

BPL = CNPre = <br />

CPPre = CNExp = <br />

CPExp = DELTAN = <br />

DELTAP = <br />

164 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


MOBILITY<br />

PARAMETERS<br />

Alpha<br />

Real number for the coefficient α in Intel’s local field dependent mobility<br />

model of transverse field reduction (Eq. (3.16)). (Defaults: 1.02 for<br />

electrons <strong>and</strong> 0.95 for holes)<br />

BNL, BPL<br />

Real number parameters for coefficient B in Eq. (3.18) (Lombardi’s<br />

mobility model) for electrons <strong>and</strong> holes, respectively. (Defaults: BNL,<br />

7<br />

4.75×10 ; BPL, 9.93×10<br />

)<br />

7<br />

BUlk<br />

A logical flag to indicate that parameters specified in the present card<br />

apply to the bulk as opposed to the surface mobility model. These<br />

parameters include: EXP1.tem, EXP.Conc, EXP2.tem, Ncrit, UMAx,<br />

<strong>and</strong> UMIn (Default: false, meaning that the surface mobility parameters<br />

are applied)<br />

CHar.int<br />

Real number parameter of λ in Eq. (3.5) to specify the decay length for<br />

the complementary error function used for the transition from bulk to<br />

surface mobility, in units of µ. (Default: 0.03)<br />

CNExp, CPExp<br />

Real number parameters for β in Eq. (3.18) (Lombardi’s mobility model)<br />

for electrons <strong>and</strong> holes, respectively. (Defaults: CNExp, 0.125 ;<br />

CPExp, 0.0317 )<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 165


MOBILITY<br />

CNPre, CPPre<br />

Real number parameters for α in Eq. (3.18) (Lombardi’s mobility model)<br />

for electrons <strong>and</strong> holes, respectively. (Defaults: CNPre, 1.74×10<br />

,<br />

CPPre, 8.84×10<br />

)<br />

DELTAN, DELTAP<br />

Real number parameters for δ in Eq. (3.18) (Lombardi’s mobility model)<br />

for electrons <strong>and</strong> holes, respectively. (Defaults: DELTAN, 5.82×10<br />

,<br />

DELTAP, 2.05×10<br />

)<br />

5<br />

14<br />

DIst.epe<br />

Real number parameter for the characteristic length L in computing the<br />

structure-dependent transverse field (Eq. (3.21)), in units of µ .<br />

(Default: 0.5)<br />

EC.Crit<br />

Real number parameter for E crit<br />

in Eq. (3.15) (Intel’s local field mobility<br />

4<br />

4<br />

model), in units of V/cm. (Default: 4.2×10 for electrons <strong>and</strong> 3.0×10<br />

for<br />

holes)<br />

EC.Unv<br />

Real number parameter for E univ in Eq. (3.16) (Intel’s local field mobility<br />

model), in units of V/cm. (Defaults: 5.71×10 for electrons <strong>and</strong> 2.57×10<br />

for holes)<br />

ETa<br />

Real number coefficient for η in Eq. (3.22) of Watt’s surface mobility<br />

model. (Defaults: 0.5 for electrons <strong>and</strong> 0.33 for holes)<br />

EXP.Conc<br />

Real number parameter of c in Eq. (3.6) for analytical low-field mobility<br />

model. (Defaults: see Table 3.3)<br />

5<br />

5<br />

14<br />

5<br />

166 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


MOBILITY<br />

EXP.Eper<br />

Real number parameter of β in Eq. (3.15) for Intel’s local field mobility<br />

model (Section 3.1.2.1). (Defaults: 0.5)<br />

EXP1.tem<br />

Real number parameter of b in Eq. (3.6) for the analytical low-field<br />

mobility model. (Defaults: see Table 3.3)<br />

EXP2.tem<br />

Real number parameter of d in Eq. (3.6) for the analytical low-field<br />

mobility model. (Defaults: see Table 3.3)<br />

G.surface<br />

Real number parameter of the reduction factor for the surface mobility<br />

with respect to the bulk one (g surf in Eq. (C.3)), unitless. (Default: 1.)<br />

Hole<br />

Logical parameter to indicate that the parameters specified in the present<br />

card apply to holes if their values are different for holes from electrons.<br />

These parameters include: EC.Unv, ETa, UCons, UMAx, <strong>and</strong> UMIn<br />

(Default: false, meaning that parameters apply to electrons)<br />

Int.off<br />

Real number parameter of d in Eq. (3.5) to specify the vertical offset from<br />

the Si/SiO 2 interface, in units of µ. (Default: 0.06)<br />

Ncrit<br />

Real number parameter of N 0 in Eq. (3.6) for the analytical low-field<br />

mobility model. (Defaults: see Table 3.3).<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 167


MOBILITY<br />

Qss.conc<br />

Real number parameter of c in Eq. (3.7) to specify the conversion factor<br />

for converting q ss into equivalent impurity concentration for mobility<br />

reduction, in units of cm -1 . (Default: 1.0×10<br />

)<br />

UMAx, UMIn<br />

Real number parameters of µ max<br />

<strong>and</strong> µ min<br />

in Eq. (3.6) for analytical lowfield<br />

mobility model. (Defaults: see Table 3.3)<br />

UConst<br />

Real number parameter of the low-field mobility for general<br />

semiconductor unknown to the program, in units of cm 2 V -1 s -1 . (No<br />

default)<br />

U0.unv<br />

Real number parameter of in Eq. (3.8) for Intel’s surface mobility<br />

model, in units of cm 2 V -1 s -1 . (Defaults: 783.5 for electrons <strong>and</strong> 247.4 for<br />

holes)<br />

7<br />

µ 0<br />

8<br />

Vsat<br />

Real number parameter for carrier saturation velocity. (Defaults: see<br />

Table 3.9)<br />

EXAMPLES<br />

MODELS conmob intelmob print<br />

MOBILITY ec.perp=8e4 char.int=0.04<br />

Using Intel’s structural mobility model for transverse field mobility<br />

reduction, with parameter of the critical field ×10 V/cm (default value:<br />

4<br />

168 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


MOBILITY<br />

4<br />

4.2×10 ) in Eq. (3.15) <strong>and</strong> characteristic length 0.04 µ (default value: 0.03)<br />

in Eq. (3.5).<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 169


MODELS<br />

COMMAND<br />

MODELS<br />

The MODELS card sets the temperature for the simulation <strong>and</strong> specifies<br />

model flags to indicate the inclusion of various physical mechanisms <strong>and</strong><br />

models.<br />

SYNTAX<br />

MODels <br />

model flags:<br />

{ SRH = | CONSrh = }<br />

AUger = BGn = <br />

CONMob = <br />

{ ANalytic = | ARora = |<br />

CCsmob = | User1 = }<br />

FLDmob = |<br />

{ ENgy.mob = | FMob.new = )<br />

Hypertang = }<br />

TFldmob = <br />

{ SRFmob = | INTELMOB = <br />

INTELMOB.par = | STrfld = <br />

Lombardi = ) | OLdtfld = }<br />

{ IMPAct = | IMP.Jt = |<br />

IMP.NT = | IMP.NVt = }<br />

IMP.TN = IMP.TP = <br />

{ BOltzmann = | FErmidirac = }<br />

INComplete = PHotogen = <br />

PRint = <br />

170 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


MODELS<br />

numerical parameters:<br />

TEmperature = B.Electrons = <br />

B.Holes = E0=<br />

FLUx = ABs.coef = <br />

ACc.sf = INV.sf = <br />

OX.Left = OX.Right = <br />

OX.Bottom = TAU.WN = <br />

TAU.WP = II.AN=<br />

II.BN = II.CN=<br />

II.AP = II.BP = II.CP=<br />

PARAMETERS<br />

ABs.coef<br />

The optical absorption coefficient ( α in Eq. (3.43), Section 3.3.2) in units<br />

of cm -1 , used in photo-generation (flag PHotogen) modeling.<br />

(Default: 0.0)<br />

ACc.sf<br />

The low-field mobility reduction factor for surface accumulation layers,<br />

used in conjunction with the non-local, transverse-field mobility model<br />

TFldmob (refer to [13] for details). (Default: 0.87)<br />

ANalytic<br />

A logical flag specifying an analytical doping <strong>and</strong> lattice-temperature<br />

dependent mobility model for silicon only (see Section 3.1.1.3).<br />

(Default: false)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 171


MODELS<br />

ARora<br />

A logical flag specifying an alternative doping <strong>and</strong> lattice-temperature<br />

dependent mobility model originally developed by Arora [5] for silicon<br />

<strong>and</strong> now is available for both silicon <strong>and</strong> GaAs [6] (see Section 3.1.1.4 for<br />

details). (Default: false)<br />

AUger<br />

A logical flag to specify the use of Auger recombination mechanism (Eq.<br />

(3.47)). (Default: false)<br />

B.Electrons, B.Holes<br />

Real number parameters used in the longitudinal field-dependent mobility<br />

reduction for silicon ( β in Eq. (3.30)). (Defaults: B.Electrons, 1.395;<br />

B.Holes, 1.215)<br />

BGn<br />

A logical flag for including b<strong>and</strong>-gap narrowing mechanism.<br />

(Default: false)<br />

BOltzmann<br />

A logical flag for using Boltzmann carrier statistics. (Default: true)<br />

CCsmob<br />

A logical flag to invoke the mobility model of Dorkel <strong>and</strong> Leturcq for<br />

silicon [7], which includes carrier-carrier scattering effect, doping <strong>and</strong><br />

lattice-temperature dependence (see Section 3.1.1.6). (Default: false)<br />

CONMob<br />

A logical flag to specify use of doping-dependent mobility. The default<br />

model is a table look-up for data in both silicon <strong>and</strong> GaAs at 300K. When<br />

used with other flags for doping dependent mobility such as ANalytic <strong>and</strong><br />

CCsmob, the default model is overritten. (Default: false)<br />

172 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


MODELS<br />

CONSrh<br />

A logical flag to specify use of Shockley-Read-Hall recombination with<br />

doping-dependent carrier lifetimes (Eq. (3.45)). (Default: false).<br />

ENgy.mob<br />

A logical flag for using the carrier-temperature dependent mobility model<br />

as described in Section 3.1.3.3. Currently it applies to silicon only.<br />

(Default: false)<br />

E0<br />

A real number parameter used in the (longitudinal) field-dependent<br />

mobility model for GaAs ( in Eq. (3.31), Section 3.1.3.2).<br />

(Default: 4×10<br />

V/cm)<br />

3<br />

E 0<br />

FErmidirac<br />

A logical flag for using Fermi-Dirac carrier statistics. (Default: false)<br />

FLDmob<br />

A logical flag for considering the longitudinal field-dependent mobility<br />

reduction. The default model is Caughey-Thomas formulation [14] (Eq.<br />

(3.30)) for silicon <strong>and</strong> Thim’s model (with negative differential mobility)<br />

[15] (Eq. (3.31)) for GaAs. (Default: false)<br />

FLUx<br />

The incident photon flux at the y=0 surface (F ph in Eq. (3.43),<br />

Section 3.3.2) in units of photons/cm 2 . (Real number, default: 0.0)<br />

FMob.new<br />

A logical flag for use of a longitudinal field-dependent mobility model<br />

which is derived from the carrier-temperature dependent model (flag<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 173


MODELS<br />

ENgy.mob) by field-temperature (of carriers) mapping. See Eq. (3.35)<br />

for the formulation. It applies to silicon only. (Default: false)<br />

Hypertang<br />

A logical flag to use hyperbolic tangent form for electron mobility in<br />

GaAs (Eq. (3.32)). This model avoids the negative differential mobility as<br />

exhibited in Thim’s model [15], thus improving the numerical stability.<br />

(Default: false)<br />

II.AN, II.BN, II.CN; II.AP, II.BP, II.CP<br />

Real number parameters used in the carrier-temperature dependent impact<br />

ionization model (Eq. (3.42), flagged by IMP.NT). (For defaults see<br />

Table 3.13)<br />

IIV.AN, IIV.BN; IIV.AP, IIV.BP<br />

Real number parameters used in carrier-temperature dependent impact<br />

ionization model (Eq. (3.41), flagged by IMP.NVt). (For defaults see<br />

Table 3.12)<br />

IMPAct<br />

A logical flag to include the impact ionization as part of the carrier<br />

generation term in the solution process. The default impact ionization<br />

model is the local field-dependent one (Eqs. (3.37)-(3.38)), <strong>and</strong> the model<br />

parameters can be changed through IMPACT card. This default model can<br />

be overwritten by one of the following flags: IMP.Engy (IMP.NT),<br />

IMP.NVt, <strong>and</strong> IMP.JT. (Default: false)<br />

IMP.Engy<br />

A logical flag to indicate that the carrier energy (i.e. temperature)<br />

dependent impact ionization model is to be used as opposed to the local<br />

field dependent model (default of flag IMPAct). There are several carrier-<br />

174 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


MODELS<br />

energy dependent models available (see Section 3.3.1.2 for details) <strong>and</strong> the<br />

default one is invoked by flag IMP.NT. (Default: false)<br />

IMP.Jt<br />

A logical flag for using carrier-temperature dependent ionization rate (Eq.<br />

(3.39)) in the impact ionization model as described in Eqs. (3.37)-(3.38).<br />

(Default: false)<br />

IMPJt.ratio<br />

Real number parameter, γ , in Eq. (3.39). It can be used to change the<br />

energy relaxation length in the mapping between electric field <strong>and</strong> carrier<br />

temperature to fit the experimental data. (Default: 1.0)<br />

IMP.NT<br />

A logical flag for using carrier-temperature dependent ionization model as<br />

described in Eq. (3.42). The unique feature of this model is that the carrier<br />

drift velocity (or equivalently, the current density) does not play any role<br />

in the generation rate due to the impact ionization. (Default: false)<br />

IMP.NVt<br />

A logical flag for using carrier-temperature dependent impact ionization<br />

model in which the carrier (drift) velocity is approximated by the<br />

saturation velocity (Eq. (3.40)). (Default: false)<br />

IMP.TN<br />

A logical flag to indicate that carrier-temperature dependent impact<br />

ionization model is to apply to electrons, whereas the impact ionization<br />

model for holes can be either local-field (no flag IMP.TP) or temperature<br />

(flag IMP.TP set) dependent. (Default: false)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 175


MODELS<br />

IMP.TP<br />

A logical flag to indicate that carrier-temperature dependent impact<br />

ionization model is to apply to holes, whereas the impact ionization model<br />

for electrons can be either local-field (no flag IMP.TN) or temperature<br />

(flag IMP.TN set) dependent. (Default: false)<br />

INComplete<br />

A logical flag to Indicate that incomplete-ionization of impurities should<br />

be accounted for (Eq. (C.2)). (Default: false)<br />

INV.sf<br />

The low-field mobility reduction factor for surface inversion layer, used in<br />

conjunction with the non-local, transverse-field mobility model TFldmob<br />

(refer to [13] for details). (Default: 0.75)<br />

INTELMOB, INTELMOB.par<br />

Logical flags for using Intel’s local field dependent mobility models (Eqs.<br />

(3.15)-(3.16)). Mobility reduction due to both transverse <strong>and</strong> longitudinal<br />

fields are taken into consideration simultaneously. The difference between<br />

these two models is in the expression for transverse field reduction.<br />

(Default: false)<br />

Lombardi<br />

A logical flag to specify use of Lombardi local transverse filed dependent<br />

mobility model (Eq. (3.17), also see [8]). (Default: false)<br />

OLdtfld<br />

A logical flag to specify use of the earlier version of UT Austin’s non-local<br />

transverse field dependent mobility model (Eq. (3.24), see also [11]).<br />

(Default: false)<br />

176 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


MODELS<br />

OX.Left, OX.Right, OX.Bottom<br />

Real number parameters to define the location of the gate oxide region<br />

(left, right, <strong>and</strong> bottom edges) in conjunction with the use of UT Austin’s<br />

non-local mobility models (flags OLdfld <strong>and</strong> TFldmob). (No default<br />

values but initialized to 0.0)<br />

PHotogen<br />

A logical flag to specify the use of external photo-generation as part of the<br />

carrier generation term. Two model parameters: FLUx <strong>and</strong> ABs.coef<br />

must also be specified to use this model (Eq. (3.43)). (Default: false)<br />

PRint<br />

A logical flag to print the status of all models <strong>and</strong> a variety of coefficients<br />

<strong>and</strong> constants. (Default: false)<br />

SRFmob<br />

A logical flag to invoke Watt’s surface mobility model (Eqs. (3.22)-<br />

(3.23)). (Default: false)<br />

SRH<br />

A logical flag to specify the Shockley-Read-Hall recombination (Eq.<br />

(3.44)) with constant carrier lifetimes. (Default: true)<br />

STrfld<br />

A logical flag to specify that the surface transverse field is evaluated by the<br />

structure information (Eq. (3.21)) rather by definition (Eq. (3.20). This<br />

flag is usually used together with one of the transverse field dependent<br />

mobility models such as INTELMOB. (Default: false)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 177


MODELS<br />

TAU.WN, TAU.WP<br />

Real number parameters of carrier energy relaxation times for electrons<br />

<strong>and</strong> holes (Eq. (3.34) <strong>and</strong> Table 3.9), in units of ps (pico-second).<br />

(Defaults: tau.wn=0.42 <strong>and</strong> tau.wp=0.25)<br />

TEmperature<br />

Specifies the environment temperature, in units of Kelvin. (Default: 300)<br />

TFldmob<br />

A logical flag to invoke the second version (as opposed to flag OLdfld) of<br />

UT Austin’s non-local transverse field mobility model (Eq. (3.28), see also<br />

[13]). It is based on an extended version of the Schwarz-Russek<br />

formulation [12]. (Default: false)<br />

User1<br />

A logical flag to specify Arora’s (ARora) doping <strong>and</strong> lattice temperature<br />

dependent mobility model but with the user-definable parameters (refer to<br />

Section 3.1.1.5). (Default: false)<br />

EXAMPLES<br />

MODELS CONMOB SRH FERMI TEMP=290<br />

Selects concentration-dependent mobility <strong>and</strong> SRH recombination. Fermi-<br />

Dirac statistics are used, <strong>and</strong> the simulation is specified to be performed at<br />

290K.<br />

MODELS CONMOB SRH ENGY.MOB IMP.TN IMP.JT<br />

+ IMPJ.Rat=0.81<br />

Selects concentration-dependent mobility, SRH recombination <strong>and</strong> a<br />

carrier temperature-dependent mobility reduction model. An impact<br />

178 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


MODELS<br />

ionization model IMP.JT for the electron system is specified. The energy<br />

relaxation time ratio in computing impact ionization rate is set to be 0.81.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 179


OPTIONS<br />

COMMAND<br />

OPTIONS<br />

The OPTIONS card sets options for an entire run.<br />

SYNTAX<br />

Options <br />

run control:<br />

G.debug or Debug = N.debug = <br />

CPUStat = CPUFile = <br />

plot control:<br />

PLOTDevice or PLOTTer or Terminal= <br />

PLOTFile = <br />

X.Screen = Y.Screen=<br />

X.Offset = Y.Offset=<br />

PARAMETERS<br />

CPUFile<br />

Character string for the name of the file to log the CPU statistics during<br />

<strong>PISCES</strong> run. (Default: null)<br />

CPUStat<br />

A logical flag to indicate that CPU statistics during <strong>PISCES</strong> run is to be<br />

outputted to the file specified by CPUFile. (Default: false)<br />

180 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


OPTIONS<br />

G.debug (Debug), N.debug<br />

Logical flags to print debugging information to the st<strong>and</strong>ard output.<br />

G.debug (or Debug) prints general information, while N.debug<br />

outputs more specifically numerical parameters. (Defaults: false)<br />

PLOTDevice (PLOTTer, Terminal)<br />

A character string to specify the output plot device. If no device is given, a<br />

default (usually the user's graphics terminal) will be used. <strong>PISCES</strong> uses<br />

the PLOTCAP graphics package from <strong>Stanford</strong> for plotting purpose. Refer<br />

to the PLOTCAP document for further details. The full set of supported<br />

devices is contained in the PLOTCAP data base (an ASCII file). Table M.4<br />

list many of the common possibilities.<br />

Table M.4 Possibilites for supported PLOTCAP devices.<br />

hp2648 hp2623 hp9873 tek4107<br />

xterm sunview vt240 tek4010<br />

ditroff PSfile tplot gplot<br />

If PSfile is used, a PostScript file named print.ps will be generated for the<br />

plot <strong>and</strong> can later be printed to obtain a hard copy using laser printers.<br />

Plots will be scaled to the size of the specific device. Also note that on<br />

color graphics terminals, the different line types are implemented as<br />

different colors; on the black <strong>and</strong> white monitors they are implemented as<br />

dot <strong>and</strong> line patterns. (Default: login terminal)<br />

PLOTFile<br />

A character string for name of the output file which is generally defined by<br />

the plot device. For example, a graphics terminal will use the terminal as<br />

the output file. Printers may have the output file be a spooler. The graphics<br />

output file can explicitly be set by the PLOTFile comm<strong>and</strong>. All graphics<br />

output will then be routed to the given file. Note that the contents of the<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 181


OPTIONS<br />

file will be in a format specific to the given device. (Default: device<br />

specific)<br />

X.Offset, Y.Offset<br />

Real number parameters, in units of inches, to indicate the x- <strong>and</strong> y-offsets<br />

from the bottom-left corner of the screen, respectively. (Defaults: 0.0)<br />

X.Screen, Y.Screen<br />

Real number parameters, in units of inches, for the physical width <strong>and</strong><br />

height of the screen, respectively. They are set automatically, depending<br />

on the plot device. They, however, can be altered for special effects (split<br />

screen plots, for instance). (Defaults: device’s size)<br />

EXAMPLES<br />

OPTIONS PLOTDEV=tek4107 X.S=6 Y.S=5 X.Off=1<br />

+ Y.OFF=0.5 CPUSTAT<br />

This sets up a plot for a Tektronix terminal, using a small centered<br />

window. CPU information is also logged to the default file.<br />

OPTIONS PLOTDEV=lw PLOTFILE=plot.ps<br />

Here we set the plot device to the LaserWriter <strong>and</strong> save the output in a file<br />

called plot.ps.<br />

182 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


PLOT.1D<br />

COMMAND<br />

PLOT.1D<br />

The PLOT.1D card plots a specific quantity along a line segment through<br />

the device (mode A), or plots an I-V curve of data (mode B). In mode A,<br />

one of the solution variables is plotted versus distance into the device. For<br />

vector quantities, the magnitude is plotted. In mode B, terminal<br />

characteristics can be plotted against each other by choosing the value to<br />

be plotted on each axis.<br />

SYNTAX<br />

PLOT.1d <br />

+ <br />

segment definition:<br />

X.Start or A.X = <br />

X.End or B.X = <br />

Y.Start or A.Y = <br />

Y.End or B.Y = <br />

plotted quantity:<br />

{ POTential = | QFN = |<br />

QFP = | DOping = |<br />

ELectrons = | Holes = |<br />

NET.CHarge = | NET.CArrier = |<br />

J.Conduc = | J.Electr = |<br />

J.Hole = | J.Displa = |<br />

J.Total = | E.field = |<br />

Recomb = | BAND.Val = |<br />

BAND.Con = | VAcuum = |<br />

VELO.Ele = | VELO.Hol = |<br />

XMole = | TEMP.Ele = |<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 183


PLOT.1D<br />

or<br />

TEMP.Hol = | TEMP.Lat = |<br />

GEN.Elec = | GEN.Hole = |<br />

IMpact or II.gener = }<br />

X.Axis = Y.Axis = <br />

INFile = DAta = <br />

control:<br />

LOgarithm or Y.Log = X.Log = <br />

ABsolute = X.ABsolute = <br />

NO.Clear = NO.Axis = <br />

AScii = Unchanged = <br />

INTegral = NEGative = <br />

NO.Order = POInts = <br />

PAuse = LIne.type = <br />

MIn.value = MAx.value = <br />

X.MAx = X.MIn = <br />

X.Component = Y.Component = <br />

Spline = NSpline = <br />

OUTFile = <br />

PARAMETERS<br />

ABsolute, X.ABsolute<br />

Logical flags to indicate use of absolute values for quantities to be plotted<br />

in y- <strong>and</strong> x-axes, respectively. (Defaults: false)<br />

AScii<br />

Specifies that the output file will have an ascii format (the default binary<br />

format is for use with the <strong>Stanford</strong> dplot system). (Default: false)<br />

184 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


PLOT.1D<br />

BAND.Val<br />

A logical flag for plotting valence-b<strong>and</strong> potential. (Default: false)<br />

BAND.Con<br />

A logical flag for plotting conduction-b<strong>and</strong> potential. (Default: false)<br />

DAta<br />

Logical flag to indicate an HP measured I-V file will be used as an input<br />

file for plotting. (Default: false)<br />

DOping<br />

A logical flag for plotting doping. (Default: false)<br />

E.field<br />

A logical flag for plotting electric field. (Default: false)<br />

ELectrons<br />

A logical flag for plotting electron concentration. (Default: false)<br />

GEN.Elec, GEN.Hole<br />

Logical flags to plot the generation rates due to impact ionization caused<br />

by electron <strong>and</strong> hole currents, respectively. (Defaults: false)<br />

Holes<br />

A logical flag for plotting hole concentration. (Default: false)<br />

IMpact (II.gener)<br />

A logical flag for generation rate due to impact ionization (G in<br />

Eq. (3.37)). (Default: false)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 185


PLOT.1D<br />

INFile<br />

Character string for name of the input file in which the solution is stored.<br />

(Default: null)<br />

INTegral<br />

Plots the integral of the specified ordinate. (Default: false)<br />

J.Conduc, J.Electr, J.Hole, J.Displa, J.Total<br />

Logical flags to plot conductive, electron, hole, displacement, <strong>and</strong> total<br />

currents, respectively. (Defaults: false)<br />

LIne.type<br />

Specifies the line type for the plotted curve. (Default: 1)<br />

MIn.value, MAx.value<br />

Specify minimum <strong>and</strong> maximum values, respectively, for the ordinate of<br />

the graph. Default: found automatically from the data to be plotted.<br />

NEGative<br />

Negates the ordinate values. <strong>PISCES</strong>-II by default will order the plot<br />

coordinates by abscissa value; this ordering will result in unusual plots for<br />

IV curves with negative resistance, for example. (Default: false)<br />

NET.CArrier<br />

Plot net carrier concentration. (Default: false)<br />

NET.CHarge<br />

Plot net charge concentration. (Default: false)<br />

NO.Axis<br />

Indicates that the axes for the graph are not to be plotted. (Default: false)<br />

186 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


PLOT.1D<br />

NO.Clear<br />

Indicates that the screen is not to be cleared before the current plot so that<br />

several curves can be plotted on the same axis. (Default: false)<br />

NO.Order<br />

A logical flag to force <strong>PISCES</strong> to plot the data points as they naturally<br />

appear. (Default: false)<br />

Outfile<br />

Character string for name of an output file in which the data points plotted<br />

are to be put. If specified, the graphics output will be directed to that file.<br />

For further discussion, see the Options card. (Default: from Options<br />

card)<br />

PAuse<br />

Causes <strong>PISCES</strong>-II to stop at the end of the plot so that a hard copy may<br />

be made before continuing. Execution can be resumed by hitting a<br />

carriage return. (Default: false)<br />

POInts<br />

Marks the data points on the plotted curve. (Default: false)<br />

POTential<br />

Plot mid-gap potential. (Default: false)<br />

QFN, QFP<br />

Logical flags to plot electron <strong>and</strong> hole quasi-fermi levels, respectively.<br />

(Defaults: false)<br />

Recomb<br />

Plot net recombination. (Default: false)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 187


PLOT.1D<br />

Spline, NSpline<br />

The Spline option indicates that spline-smoothing should be performed on<br />

the data using NSpline interpolated points (maximum is 500). (Default:<br />

Spline, false; NSpline, 100)<br />

TEMP.Ele, TEMP.Hol, TEMP.Lat<br />

Logical flags to plot electron, hole, <strong>and</strong> lattice temperatures, respectively.<br />

(Defaults: false)<br />

Unchanged<br />

A synonym for NO.Axis <strong>and</strong> NO.Clear, but additionally it forces the use<br />

of the previous axis bounds so that a number of curves can easily be put on<br />

the same axis. (Default: false)<br />

VAcuum<br />

Logical flag to plot the vacuum energy level, a useful quantity for<br />

simulation of heterostructures because it is always continuous even at the<br />

abrupt material interface. (Default: false)<br />

VELO.Ele, VELO.Hol<br />

Logical flags to plot the electron <strong>and</strong> hole velocities, respectively.<br />

(Defaults: false)<br />

X.AXis, Y.Axis<br />

Character strings to indicate which quantities are to be used as x- <strong>and</strong> y-<br />

axes, respectively.<br />

In mode B, terminal characteristics can be plotted against each other by<br />

choosing the value to be plotted on each axis. Quantities available for<br />

plotting include applied biases (VA1, VA2,..., VA9, VA0), actual contact<br />

bias which may differ from applied bias in the case of lumped element<br />

boundary conditions (V1, V2, etc.), terminal current (I1, I2, etc.), AC<br />

188 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


PLOT.1D<br />

capacitances (C11, C12, C21, etc.), AC conductance (G11, G12, G21,<br />

etc.) <strong>and</strong> the magnitude of AC admittance (Y11, Y12, Y21, etc.).<br />

Additionally, any of the voltages or currents can be plotted versus time for<br />

transient simulations, <strong>and</strong> any AC quantity can be plotted versus<br />

frequency. The values plotted are the I-V or AC data of the present run,<br />

provided a log is being kept (see the LOG card). (Defaults: null)<br />

X.Component, Y.Component<br />

Logical flags to force the x or y components, respectively, of any vector<br />

quantities to be plotted, as opposed to the default magnitude. (Defaults:<br />

false)<br />

X.Log, Y.Log (LOgarithm)<br />

Logical flags for using logarithmic values of the quantities for plotting in<br />

x- <strong>and</strong> y-axes, respectively.<br />

For rapidly varying quantities, the use of logarithmic values is often more<br />

revealing. Since many of the quantities may become negative, <strong>PISCES</strong><br />

actually uses the following expression<br />

log( x)<br />

= sign( x) ⋅ log 10 ( 1 + x )<br />

(M.3)<br />

to avoid overflow. To get the true logarithm of a quantity, specify<br />

ABsolute <strong>and</strong> X.Log / Y.Log - the absolute is taken first <strong>and</strong> there is no<br />

danger of negative arguments. (Default: false)<br />

X.MAx, X.MIn<br />

Real number parameters to specify the maximum <strong>and</strong> minimum values for<br />

the abscissa to be plotted. (Defaults: the maximum <strong>and</strong> minimum abscissa<br />

values in the data to be plotted)<br />

XMole<br />

A logical flag to plot the mole fraction of a compound material. For<br />

quaternaries, only x nor y mole fraction is plotted. (Default: false)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 189


PLOT.1D<br />

X.Start, X.End, Y.Start, Y.End (A.X, B.X, A.Y, B.Y)<br />

Real number parameters to define the Cartesian coordinates of the start<br />

(X.Start, Y.Start or A.X, A.Y) <strong>and</strong> end (X.End, Y.End or B.X, B.Y) of<br />

a line segment along which the specified quantity is to be plotted. The data<br />

is plotted as a function of distance from the start (A). (The line segment<br />

may not be defaulted <strong>and</strong> it is required in mode A.)<br />

EXAMPLES<br />

PLOT.1D POTEN A.X=0 A.Y=0 B.X=5 B.Y=0<br />

Plots a graph of potential along a straight line from (0.0,0.0) to (5.0,0.0).<br />

PLOT.1D ELECT LOG A.X=1 A.Y=-.5 B.X=1 B.Y=8<br />

+ MIN=10 MAX=20 SPLINE NSPL=300 POINTS<br />

The log of the electron concentration is plotted from (1.0,-0.5) to (1.0,8.0)<br />

with bounds on the plotted electron concentration of 1.0e10 <strong>and</strong> 1.0e20. A<br />

spline interpolation is performed with 300 interpolated points. The nonspline-interpolated<br />

points are marked.<br />

PLOT.1D X.AXIS=V2 Y.AXIS=I1<br />

PLOT.1D X.AXIS=V2 Y.AXIS=I1 INF=logf0 UNCH<br />

The current in contact 1 is plotted as a function of contact 2 voltage, then<br />

the curve is compared with a previous run.<br />

PLOT.1D X.AXIS=V3 Y.AXIS=VA3 OUTFILE=save.plot<br />

Plots the actual contact voltage on a contact versus the applied voltage.<br />

PLOT.1D INFIL=FILE.AC X.AXIS=FREQ Y.AXIS=C21<br />

+ X.LOG<br />

190 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


PLOT.1D<br />

PLOT.1D INFIL=FILE.AC X.AXIS=FREQ Y.AXIS=C31<br />

+ X.LOG UNCH LINE=4<br />

This shows a plot of two capacitance components versus frequency saved<br />

in an AC log file from either a previous or present run. A different line<br />

type is chosen for the second component.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 191


PLOT.2D<br />

COMMAND<br />

PLOT.2D<br />

The PLOT.2D card plots quantities in a specified two-dimensional area of<br />

the device. A PLOT.2D card is also required before performing a contour<br />

plot (see CONTOUR card) in order to obtain the plot boundaries.<br />

SYNTAX<br />

PLOT.2d <br />

+ <br />

area definition:<br />

X.MIn = <br />

Y.MIn = <br />

X.MAx = <br />

Y.MAx = <br />

plotted quantity:<br />

Grid or Mesh = Crosses = <br />

Boundary = Depl.edge = <br />

Junction = <br />

control:<br />

NO.TIc = NO.TOp = <br />

NO.Fill = NO.Clear = <br />

NO.Diag = LAbels = <br />

Flip.x = Pause = <br />

L.Elect = L.Deple = <br />

L.Junct = L.Bound = <br />

L.Grid = Outfile = <br />

192 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


PLOT.2D<br />

PARAMETERS<br />

Crosses<br />

A logical flag to plot crosses at the locations of grid points. (Default: false)<br />

Boundary<br />

A logical flag to indicate that the boundaries around the device <strong>and</strong><br />

between regions are to be plotted. (Default: false)<br />

Depl.edge<br />

A logical flag to indicate that depletion edges are to be plotted. Note that<br />

depletion edges can only be plotted when a solution is present. (Default:<br />

false)<br />

Grid (Mesh)<br />

A logical flag to plot the grid including lines which delineate elements.<br />

(Default: false)<br />

Flip.x<br />

A logical flag to flip the plot about the y-axis; i.e., it negates all x<br />

coordinates so that the plot is mirrored. (Default: false)<br />

Junction<br />

A logical flag to specify that the junctions from the doping profile are to be<br />

plotted. (Default: false)<br />

LAbels<br />

A logical flag to indicate that room is to be made for color contour labels<br />

on the right side of the plot device. (Default: false)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 193


PLOT.2D<br />

L.Elect, L.Deple, L.Junct, L.Bound, L.Grid<br />

Integers to set line types for electrodes, depletion edges, junctions, region<br />

boundaries, <strong>and</strong> grids (i.e, mesh), respectively. (Defaults: 1)<br />

NO.Clear<br />

A logical flag to specify that the screen is not to be cleared before plotting.<br />

(Default: false)<br />

NO.Diag<br />

A logical flag to indicate not to plot the diagonals for a rectangle-based<br />

mesh. (Default: false)<br />

NO.Fill<br />

A logical flag to force the program to draw the device area plotted to scale.<br />

If this option is not specified, the plot will fill the screen <strong>and</strong> the triangles<br />

will appear distorted. (Default: false)<br />

NO.TIc<br />

A logical flag to indicate that tic marks are not to be included around the<br />

plotted area. (Default: false)<br />

NO.TOp<br />

A logical flag to indicate that tic marks are not to be put on the top of the<br />

plotted region. (Default: false)<br />

Outfile<br />

Character string for name of an output file in which the data points plotted<br />

are to be put. If specified, the graphics output will be directed to that file.<br />

For further discussion, see the Options card. (Default: from Options<br />

card)<br />

194 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


PLOT.2D<br />

Pause<br />

A logical flag causing the program to stop at the end of the plotting so that<br />

a hard copy may be made before continuing. Execution can be resumed by<br />

hitting a carriage return. (Default: false)<br />

X.MIn, X.MAx, Y.MIn, Y.MAx<br />

Real number parameters to define a rectangular area in the device to be<br />

plotted. (Defaults: a rectangle encircling the entire device)<br />

EXAMPLES<br />

PLOT.2D GRID NO.FILL<br />

Plots the entire grid to scale with tic marks.<br />

PLOT.2D X.MIN=0 X.MAX=5 Y.MIN=0 Y.MAX=10<br />

+ JUNCT BOUND DEPL NO.TOP<br />

The device <strong>and</strong> region boundaries, junctions <strong>and</strong> depletion edges are<br />

plotted in the rectangular area bounded by 0 < x < 5 µ <strong>and</strong> 0 < y < 10 µ.<br />

The plot is allowed to fill the screen <strong>and</strong> tic marks are not included along<br />

the top of the plot.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 195


PRINT<br />

COMMAND<br />

PRINT<br />

The PRINT card prints specific quantities at grids within a defined area of<br />

the device.<br />

SYNTAX<br />

PRint <br />

location:<br />

{ X.MIn = X.MAx = <br />

Y.MIn = Y.MAx = }<br />

|<br />

{ IX.Low = IX.High = <br />

IY.Low = IY.High = }<br />

quantity:<br />

POints = Elements = <br />

Geometry = Solution = <br />

P.SOL1 = P.SOL2 = <br />

Current = P.CURR1 = <br />

P.CURR2 = Que = <br />

P.QUE1 = P.QUE2 = <br />

Material = <br />

flags:<br />

X.Compon = <br />

Y.Compon = <br />

196 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


PRINT<br />

PARAMETERS<br />

Current<br />

A logical flag to print currents (electron, hole, conduction, displacement,<br />

<strong>and</strong> total) at each grid for the present solution. (Default: false)<br />

Elements<br />

A logical flag to print information on triangular elements (sequence<br />

number, nodes, <strong>and</strong> material). (Default: false)<br />

Geometry<br />

A logical flag to print geometrical information (vertex coordinates) of<br />

triangles. (Default: false)<br />

IX.Low, IX.High, IY.Low, IY.High<br />

Integers for bounding indices (valid only for a rectangular mesh) to define<br />

an area in which the points of interest lie. (Defaults: a rectangle encircling<br />

the entire device)<br />

Material<br />

A logical flag to print material information (permittivity, b<strong>and</strong>-gap, etc.)<br />

including the value of the doping dependent mobility <strong>and</strong> lifetime (if<br />

model flags specified) at each grid. (Default: false)<br />

P.CURR1, P.CURR2<br />

Logical flags to print currents (electron, hole, conduction, displacement,<br />

<strong>and</strong> total) at each grid for previous first <strong>and</strong> second solutions, respectively.<br />

(Defaults: false)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 197


PRINT<br />

POints<br />

A logical flag to print grid information (coordinates, doping, etc.).<br />

(Default: false)<br />

P.QUE1, P.QUE2<br />

Logical flags to print space charge, recombination rate, <strong>and</strong> electric field<br />

for the previous first <strong>and</strong> second solutions, respectively. (Defaults: false)<br />

P.SOL1, P.SOL2<br />

Logical flags to print previous first <strong>and</strong> second solutions (ψ, n, p, <strong>and</strong><br />

quasi-Fermi potentials), respectively. (Defaults: false)<br />

Que<br />

A logical flag to print space charge, recombination rate, <strong>and</strong> electric field<br />

for the present solution. (Default: false)<br />

Solution<br />

A logical flag to print the present solution (ψ, n, p, <strong>and</strong> quasi-Fermi<br />

potentials). (Default: false)<br />

X.Compon, Y.Compon<br />

Logical flags to specify how any of the various vector quantities (current<br />

<strong>and</strong> field) should be printed. The default is the magnitude of the vector.<br />

X.Compon specifies that the magnitude of the x-component of the vector<br />

be printed, while Y.Compon specifies the y-component. Only one of<br />

these (or neither) can be specified on a single card. (Defaults: false)<br />

X.MIn, X.MAx, Y.MIn, Y.MAx<br />

Real number parameters for the physical coordinates, in units of µ, to<br />

define an area in which the points of interest lie. (Default: a rectangle<br />

encircling the entire device)<br />

198 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


PRINT<br />

EXAMPLES<br />

PRINT POINTS IX.LO=10 IX.HI=10 IY.LO=1 IY.HI=20<br />

Prints the physical coordinates, doping <strong>and</strong> region/electrode information<br />

for points along the 10th x grid line, from the 1st to the 20th y grid lines.<br />

PRINT SOLUTION X.MIN=0 X.MAX=1 Y.MIN=0 Y.MAX=2<br />

Solution information is printed for 0 < x < 1 µm <strong>and</strong> 0 < y < 2 µm.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 199


REGION<br />

COMMAND<br />

REGION<br />

The REGION card assigns material type <strong>and</strong> its composition, i.e., mole<br />

fraction profile for a compound semiconductor, to a rectangular region<br />

bounded by high <strong>and</strong> low node numbers in x- <strong>and</strong> y-directions. Every<br />

triangular element must be given a certain type of material. If there is an<br />

overlap among region assignments, the latter one takes precedence.<br />

Currently, there are four types of compound semiconductors available in<br />

the code <strong>and</strong> they are Ge x Si 1-x , Al x Ga 1-x As, Al x In 1-x As, <strong>and</strong> Ga x In 1-<br />

x As y P 1-y . The composition profile can be either constant or linear.<br />

SYNTAX<br />

REGIon <br />

number:<br />

NUmber = <br />

position:<br />

IX.Low = <br />

IY.Low = <br />

material:<br />

IX.High = <br />

IY.High = <br />

SILicon = | GAAs = |<br />

SIGe or GEsi = | ALGaas = |<br />

ALInas = | GAInasp = |<br />

SEmiconductor = | Oxide or SIO2 = |<br />

NItride or SI3n4 = | SApphire = |<br />

INsulator = <br />

200 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


REGION<br />

mole spec:<br />

XMole = YMole = <br />

YLinear = XInitial = <br />

{ XEnd = | XSlope = }<br />

YInitial = <br />

{ YEnd = | YSlope = }<br />

PARAMETERS<br />

ALGaas<br />

A logical flag indicating an Al x Ga 1-x As region. (Default: false)<br />

ALInas<br />

A logical flag indicating an Al x In 1-x As. (Default: false)<br />

GAAs<br />

A logical flag to indicate a gallium arsenide (GaAs) region.<br />

(Default: false)<br />

GAInasp<br />

A logical flag indicating a Ga x In 1-x As y P 1-y region. (Default: false)<br />

INsulator<br />

A logical flag to indicate a general insulator region. (Default: false)<br />

IX.Low, IX.High, IY.Low, IY.High<br />

These parameters are the indices of a box in the rectangular mesh.<br />

(Default: the entire device)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 201


REGION<br />

NItride or SI3n4<br />

A logical flag to indicate a nitride (Si 3 N 4 ) insulator region. (Default: false)<br />

NUmber<br />

This parameter selects the rectangular region in question. Currently in the<br />

code the maximum number of regions is set to 1,000, but can be changed<br />

under the user's request.<br />

Oxide or SIO2<br />

A logical flag to indicate a silicon dioxide (SiO 2 ) region. (Default: false)<br />

SApphire<br />

A logical flag to indicate a sapphire (Al 2 O 3 ) region. (Default: false)<br />

SEmiconductor<br />

A logical flag to indicate a general semiconductor region. Forty material<br />

parameters can be defined by the user through MATERIAL card. (Default:<br />

false)<br />

SIGe or GEsi<br />

A logical flag indicating a Ge x Si 1-x region. (Default: false)<br />

SILicon<br />

A logical flag to indicate a silicon (Si) region. (Default: true)<br />

STrained<br />

A logical flag to indicate that the material is a strained layer. Currently in<br />

the code, it is only applied to Ga x In 1-x As y P 1-y <strong>and</strong> only the b<strong>and</strong>gap <strong>and</strong><br />

the effective mass for holes (both light <strong>and</strong> heavy ones) are affected by this<br />

flag (for details see Section 4.4.3). (Default: false)<br />

202 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


REGION<br />

XInitial, XEnd, XSlope (YInitial, YEnd, YSlope)<br />

These real number parameters are used to specify the linear profile of mole<br />

fraction (x or y) in the region. Two combinations of parameters can be<br />

used to uniquely specify the profile. When XInitial <strong>and</strong> XEnd are used,<br />

the position-dependent mole fraction is computed as<br />

XEnd – XIinital<br />

mole( d) = XIinital + ---------------------------------------- ⋅ ( d – d (M.4)<br />

d high – d low )<br />

low<br />

where d is either x or y depending upon the logical flag YLinear (see<br />

YLinear) <strong>and</strong> are coordinates corresponding to XInitial <strong>and</strong><br />

d low<br />

d high<br />

XEnd, respectively. Another possible combination is for XInitial to be<br />

used with XSlope, the mole fraction is then computed as<br />

mole( d) = XIinital + XSlope ⋅ ( d – d low )<br />

The same rules apply to y mole fraction.<br />

(M.5)<br />

XMole, YMole<br />

These real number parameters are used to specify the mole fraction for<br />

compound semiconductors, be binary (Ge x Si 1-x ), ternary (Al x Ga 1-x As <strong>and</strong><br />

Al x In 1-x As), or quaternary (Ga x In 1-x As y P 1-y ). If the composition profile is<br />

flat (constant) in the region, the mole fraction is specified using XMole for<br />

x in binary/ternary <strong>and</strong> XMole <strong>and</strong> YMole for x <strong>and</strong> y, respectively, in<br />

quaternary.<br />

YLinear<br />

A logical flag to indicate that the linear composition profile changes along<br />

the y-direction instead of x-direction. (Default: false)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 203


REGION<br />

EXAMPLES<br />

REGION NUM=1 IX.LO=1 IX.HI=25 IY.LO=4 IY.HI=20<br />

+ SIL<br />

Defines a silicon region extending from nodes 1 to 25 in the x direction<br />

<strong>and</strong> nodes 4 to 20 in the y direction.<br />

Note that region cards are cumulative in effect:<br />

REGION NUM=1 IX.LO=4 IX.HI=5 IY.LO=1 IY.HI=20<br />

+ OXIDE<br />

REGION NUM=1 IX.LO=36 IX.HI=37 IY.LO=1 IY.HI=40<br />

+ OXIDE<br />

defines one region comprised of two separate strips.<br />

REGION NUM=1 IX.L=1 IX.H=100 IY.L=1 IY.H=3<br />

+ INSUL<br />

REGION NUM=2 IX.L=1 IX.H=3 IY.L=1 IY.H=9<br />

+ GAINASP XMOL=0.47 YMOL=1.0<br />

REGION NUM=2 IX.L=98 IX.H=100 IY.L=1 IY.H=9<br />

+ GAINASP XMOL=0.47 YMOL=1.0<br />

REGION NUM=2 IX.L=3 IX.H=6 IY.L=1 IY.H=3<br />

+ GAINASP XMOL=0.47 YMOL=1.0<br />

REGION NUM=2 IX.L=41 IX.H=98 IY.L=1 IY.H=3<br />

+ GAINASP XMOL=0.47 YMOL=1.0<br />

Defines an oxide layer partially overwritten by the source <strong>and</strong> drain<br />

regions consisting of Ga 0.47 In 0.53 As (y is set to 1.0 such that quaternary<br />

GaInAsP becomes ternary GaInAs).<br />

REGION NUM=2 IX.L=1 IX.H=40 IY.L=18 IY.H=24<br />

+ ALGAAS XINI=0.27 XEND=0.0<br />

204 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


REGION<br />

REGION NUM=3 IX.L=1 IX.H=40 IY.L=24 IY.H=27<br />

+ ALGAAS XMOLE=0.0<br />

This example shows the specification of linear grade of AlAs composition<br />

in Al x Ga 1-x As ternary along the y direction in region 2.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 205


REGRID<br />

COMMAND<br />

REGRID<br />

The REGRID card allows refinement of a crude mesh. Any triangle<br />

across which the chosen variable changes by more than a specified<br />

tolerance, or in which the chosen variable exceeds a given value, is<br />

refined. The default regrid is to refine all regions for potential <strong>and</strong> electric<br />

field.<br />

SYNTAX<br />

REGRid <br />

+ <br />

location:<br />

{ X.MIn = X.MAx = <br />

Y.MIn = Y.MAx = } |<br />

Region = | Ignore = <br />

plotted quantity:<br />

Potential = | EL.field = |<br />

QFN = | QFP = |<br />

DOPIng = | ELEctrons = |<br />

Holes = | NET.CHarge = |<br />

NET.CArr = | Min.carr = <br />

control:<br />

STep or RAtio = CHange = <br />

ABsolute = LOGarithm = <br />

LOCaldop = MAx.level = <br />

SMooth.key =< logical> COs.angle=<br />

206 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


REGRID<br />

files:<br />

Outfile = <br />

AScii = <br />

DOPFile=<br />

PARAMETERS<br />

ABsolute<br />

A logical flag to specify that the absolute value of the quantity is to be<br />

used. (Default: false)<br />

AScii<br />

A logical flag to indicate that all mesh files <strong>and</strong> triangle trees (not<br />

including DOPFile) for this card should be done in ASCII rather than<br />

binary (a default). (Default: false)<br />

CHange<br />

A logical flag to determine whether to use the magnitude (false) or the<br />

difference (true) of a variable in a triangle as the criterion of refinement.<br />

(Default: true)<br />

COs.angle<br />

A real number for the cosine of the angle, which defines the “obtuse<br />

criterion'' to limit the creation of obtuse angles in the mesh. If regrid would<br />

create a triangle with an angle whose cosine ( cos ) is less than -<br />

COs.angle, nodes are added so that this does not occur. The test can be<br />

turned off locally by using the Ignore flag in this card. It can be turned off<br />

everywhere by using a value of COs.angle greater than 1.0. The default<br />

is to turn it off everywhere. (Default: 2.0)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 207


REGRID<br />

DOPFile<br />

Character string for the name of the binary mesh file, which contains the<br />

doping for the device (see DOPING card). If set to a non-null string,<br />

interpolation of doping values at any newly created grid points to re-dope<br />

the structure based on the initial doping specification (a default action)<br />

will not occur. (Default: null)<br />

DOPIng<br />

A logical flag to indicate regriding based on doping concentration (in units<br />

of cm -3 ). (Default: false)<br />

ELEctrons<br />

A logical flag to indicate regriding based on electron concentration (in<br />

units of cm -3 ). (Default: false)<br />

EL.field<br />

A logical flag to indicate regriding based on electric filed (in units of V/<br />

cm). (Default: false)<br />

Holes<br />

A logical flag to indicate regriding based on hole concentration (in units of<br />

cm -3 ). (Default: false)<br />

Ignore<br />

An integer number for region(s). In these regions, regriding will not<br />

happen (i.e., ignored), nor will be smoothed after regriding. This flag is<br />

similar to REGion in function, but opposite in effect. (Default: 0, i.e.,<br />

none ignored)<br />

208 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


REGRID<br />

LOCaldop<br />

A logical flag related to the minority carrier regrids. If set, when the<br />

minority carrier concentration exceeds the local doping, the grid will be<br />

refined. (Default: false)<br />

LOGarithm<br />

A logical flag to use logarithmic instead of the actual value of the quantity<br />

concerned. If set, parameter STep (RAtio) is interpreted in the logarithm.<br />

(Default: false.)<br />

MAx.level<br />

An integer for the maximum level of any triangle relative to the original<br />

mesh. It defaults to one more than the maximum level of the grid, but can<br />

be set to a smaller value to limit refinement. Values less than or equal to<br />

zero are interpreted relative to the current maximum level. (Default:<br />

dynamic)<br />

MIn.carr<br />

A logical flag to indicate regriding based on minority carrier concentration<br />

(in units of cm -3 ). (Default: false)<br />

NET.CHarge<br />

A logical flag to indicate regriding based on the net charge density (in<br />

units of cm -3 ). (Default: false)<br />

NET.CArr<br />

A logical flag to indicate regriding based on net carrier concentration (in<br />

units of cm -3 ). (Default: false)<br />

Outfile<br />

Character string for the binary output mesh file, which is necessary if the<br />

mesh is to be used for subsequent runs. A history of the triangle tree is<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 209


REGRID<br />

always generated to assist further regriding steps <strong>and</strong> its name is the one<br />

specified by Outfile <strong>and</strong> concatenated by the letters “tt” to the end. In the<br />

case that this file is used as an input mesh file for a <strong>PISCES</strong> run including<br />

a regrid action, the program will look for a file with the same name as the<br />

input mesh file plus “tt” at the end. (Default: null)<br />

Potential<br />

A logical flag to indicate regriding based on electrostatics potential which<br />

usually refers to the intrinsic Fermi level (in units of V). (Default: false)<br />

QFN, QFP<br />

Logical flags to indicate regriding based on electron <strong>and</strong> hole quasi-Fermi<br />

levels, (in units of cm -3 ), respectively. (Defaults: false)<br />

Region<br />

An integer for region(s) in which mesh is to be refined according to the<br />

user criterion. Note that other regions might be refined as well as a side<br />

effect to maintain well-shaped triangles. (Default: all regions)<br />

SMooth.key<br />

An integer parameter which has the same meaning as SMooth.key in<br />

MEsh card. See MEsh card for details. (Default: 0)<br />

STep (RAtio)<br />

Real number parameter as the numerical criterion for refining a triangle. It<br />

is interpreted in logarithm if flag LOGarithm is set. (No default)<br />

X.MIn, X.MAx, Y.MIn, Y.MAx<br />

Real number parameters for the bounds of the region for mesh refinement;<br />

Only those triangles which have nodes falling inside the region are<br />

considered for refinement. (Defaults: a rectangle encircling the entire<br />

device).<br />

210 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


REGRID<br />

EXAMPLES<br />

REGRID LOG DOPING STEP=6 OUTF=grid1 DOPF=dopxx1<br />

REGRID LOG DOPING STEP=6 OUTF=grid2 DOPF=dopxx1<br />

Starting with an initial grid, we refine twice, requesting that all triangles<br />

with large doping steps be refined.<br />

REGRID LOG DOPING STEP=6 OUTF=grid2 DOPF=dopxx1<br />

+ MAX.LEVEL=2<br />

A similar effect is obtained with just one REGRID statement. In both<br />

cases two levels of refinement are done. The first choice is preferable<br />

however, because new doping information is introduced at each level of<br />

refinement. This gives a better criterion for refinement, <strong>and</strong> fewer<br />

triangles.<br />

SOLVE INIT OUT=grid2.si<br />

REGRID POTENTIAL STEP=0.2 OUTF=grid3<br />

This time we perform an initial solution <strong>and</strong> refine triangles which exhibit<br />

large potential steps.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 211


SOLVE<br />

COMMAND<br />

SOLVE<br />

The SOLVE card instructs <strong>PISCES</strong> to perform a solution for one or more<br />

specified bias points.<br />

SYNTAX<br />

SOLve <br />

+ <br />

initial guess:<br />

{ INitial = | PREvious = |<br />

EXtrapolate = | PROject = |<br />

LOCal = }<br />

dc bias:<br />

V1 = I1 = T1 = <br />

V2 = I2 = T2 = <br />

. . .<br />

V9 = I9 = T9 = <br />

V0 = I0 = T0 = <br />

ELectrode = VSTep = <br />

IStep = NSteps = <br />

N.bias = P.bias = <br />

transient:<br />

Dt or TSTEp = TSTOp or TFinal = <br />

Ramptime = ENdramp = <br />

212 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


SOLVE<br />

ac:<br />

{{ AC.analysis = FRequency = <br />

SOr = Qmr = <br />

FStep = MUlt.freq = <br />

NFstep = VSS = <br />

S.omega = MAx.inner = <br />

TOlerance = <br />

} | LOWfreq.ac = <br />

} TErminal = <br />

files:<br />

Outfile = <br />

Currents = <br />

AScii = <br />

BAnd = <br />

PARAMETERS<br />

AC.analysis<br />

A logical flag to indicate that AC sinusoidal small-signal analysis be<br />

performed after the DC condition is solved for. Note that the full Newton<br />

method (2 carriers) must be used for this analysis. Use of flag G.Debug<br />

in the Options card will provide some detailed information on the AC<br />

solution procedure. (Default: false)<br />

AScii<br />

A logical flag to indicate that the solution file saved in Outfile will be<br />

ASCII as opposed to binary (a default). (Default: false)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 213


SOLVE<br />

BAnd<br />

A logical flag to include the b<strong>and</strong> profile (vacuum level, conduction <strong>and</strong><br />

valence b<strong>and</strong> edges) in the output solution file in addition to potential,<br />

carrier concentrations, etc. (Default: false)<br />

Currents<br />

A logical flag to indicate that the electron, hole, <strong>and</strong> displacement<br />

currents, <strong>and</strong> the electric field, will be computed <strong>and</strong> stored with the<br />

solution. (Default: false)<br />

Dt or TSTEp<br />

Real number for the time-step to be taken during time transient analysis.<br />

For automatic time-step runs (flag TAuto in MEthod card), it is used to<br />

select the first time step only. (Default: 0.0)<br />

ELectrode<br />

An integer for the number of the electrode being stepped. If more than one<br />

electrode is to be stepped, ELectrode should then be an n-digit integer,<br />

where each of the n-digits is a separate electrode number. Note that if there<br />

are 10 electrodes, don't put electrode 0 first in the sequence!). (Default: 0)<br />

EXtrapolate<br />

A logical flag to indicate that the initial guess for the solution at the<br />

present bias is to be obtained by linear extrapolation of the previous two<br />

solutions which are either just obtained in the current <strong>PISCES</strong> run or<br />

loaded in using parameters IN1file <strong>and</strong> IN2file in LOad card.<br />

(Default: false)<br />

FRequency<br />

Real number parameter for the frequency, in units of Hz, at which AC<br />

analysis is to be performed. (No default)<br />

214 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


SOLVE<br />

FStep, MUlt.freq, NFstep<br />

The AC analysis can be repeated at a number of different frequencies<br />

(without resolving the DC condition) by selecting a real number parameter<br />

FStep. FStep is a frequency increment which is added to the previous<br />

frequency by default, or it may be multiplied to by setting logical flag<br />

MUlt.freq. The number of increments is given by integer parameter<br />

NFsteps. (Defaults: FStep, 0.0; MUlt.freq, false; NFsteps, 0)<br />

INitial<br />

A logical flag to indicate the solution at the thermal equilibrium (i.e., zero<br />

bias) is to be sought. Note that the first bias point in any <strong>PISCES</strong> run must<br />

be set with this flag unless there is a solution loaded using LOad card.<br />

(Default: false)<br />

IStep<br />

Real number parameter for the current increment to be added to one or<br />

more electrodes, as specified by the integer assigned using parameter<br />

ELectrode in this card. (Default: 0.0)<br />

I1, I2, ... , I9, I0<br />

Real number parameters for the terminal currents, in units of A µ −1 ,<br />

applied to contacts 1, 2, ... , 9, 0. (Default: currents from the previous<br />

solution)<br />

LOCal<br />

A logical flag to use the carrier quasi-Fermi levels in the previous solution<br />

(INFile in LOAd card) as the initial guess. (Default: false)<br />

LOWfreq.ac<br />

A logical flag to use zero-frequency for AC analysis (see Section 5.1.4 for<br />

details). (Default: false)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 215


SOLVE<br />

MAx.inner<br />

Integer parameter for the maximum number of SOR iterations.<br />

(Default: 25)<br />

N.bias, P.bias<br />

Real number parameters to set the levels for electron <strong>and</strong> hole quasi-Fermi<br />

potentials, respectively. These parameters only apply to those carriers<br />

which are not being solved for in the <strong>PISCES</strong> run (e.g. holes when only<br />

electrons are specified to solve in Solve card). If N.bias or P.bias is not<br />

specified, then program will either choose local quasi-Fermi potentials<br />

based on bias <strong>and</strong> doping (see Chapter 2 of [3]) or if Fix.qf is set on the<br />

MEthod card, set the quasi-Fermi levels where applicable to values which<br />

produce the least amount of free carriers (maximum bias for electrons <strong>and</strong><br />

minimum bias for holes).<br />

NSteps<br />

The number of bias increments (steps) to be taken; i.e., if VStep (IStep)<br />

is specified, the specified electrode is incrementted NSteps times.<br />

(Default: 0.0)<br />

Outfile<br />

Character string for the name of the binary output file to save the solution<br />

at this bias point. If an electrode is stepped so that more than one solution<br />

is generated by this card, the last non-blank character of the supplied file<br />

name will have its ASCII code incrementted by one for each bias point in<br />

succession, resulting in a unique file for each bias point. (Default: null)<br />

PREvious<br />

A logical flag to specify that the solution at the previous bias point, either<br />

loaded in using LOad card or just solved, be used as the initial guess for<br />

the solution at the present bias point. (Default: true)<br />

216 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


SOLVE<br />

PROject<br />

A logical flag to indicate Newton Projection method (NPM) is to be used<br />

in obtaining the initial guess to the solution at the present bias based on the<br />

previous solution. For details of NPM, see Section 5.4. (Default: false)<br />

Qmr<br />

A logical flag to use QMR (Quasi-Minimal Residual) method for AC<br />

analysis (see Section 5.1.3 for details) (Default: true)<br />

Ramptime, ENdramp<br />

Real number parameters to specify the time duration of a bias ramp <strong>and</strong><br />

the ending instant of the ramp, respectively, for transient analysis, in units<br />

of seconds. Note that bias ramp must be linear. Specifically, is the ramp<br />

begins at t = t 0 , then it ends either at t = t 0 + Ramptime or at t =<br />

ENdramp, depending on which parameter is used. (Defaults: 0.0)<br />

S.omega<br />

A real number parameter for the relaxation factor used in SOR method ( ν<br />

in Eqs. (5.13)-(5.14)). Note that it is not a frequency. (Default: 1.0)<br />

SOr<br />

A logical flag to use SOR method for AC analysis (refer to Section 5.1.1.<br />

<strong>and</strong> [36] for details) (Default: false)<br />

TErminal<br />

An integer parameter for the sequence number of contact(s) to which the<br />

AC bias (i.e., stimulus) is to be applied. More than one contact number<br />

may be specified (via concatenation), but each will be solved separately.<br />

Each contact that is specified yields a column of the admittance matrix.<br />

(Default: all contacts)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 217


SOLVE<br />

TOlerance<br />

Real number parameter used as the criterion for the iteration to terminate<br />

in AC analysis, unitless. (Default: 1×10<br />

)<br />

TSTOp (TFinal)<br />

Real number parameter to specify the end of the time interval to be<br />

simulated, in units of seconds. Thus the simulation begins at t = t 0 , it will<br />

end at t = TSTOp (TFinal). Alternatively, NSteps can be used to signal<br />

the end of the interval; That is, the final time would be t = t 0 + NSteps x<br />

TSTEp. (Default: 0.0)<br />

T1, T2, ... , T9, T0<br />

Real number parameters for the lattice temperatures at terminals (either<br />

thermal or electrical) if thermal Dirichlet boundary conditions are applied<br />

to the corresponding contacts. (Defaults: from previous solution)<br />

VSS<br />

Real number parameter for the magnitude of the applied small-signal bias<br />

(stimulus) (V i in Eq. (2.19) of [4]). (Default: 0.1 x kT/q where T is the<br />

environment temperature)<br />

VSTep<br />

Real number parameter for the voltage increment to be added to one or<br />

more electrodes, as specified by the integer assigned to parameter<br />

Electrode in Solve card. (Default: 0.0)<br />

V1, V2, ... , V9, V0<br />

Real number parameters for the bias voltages (for non-current boundaries<br />

only) applied at contacts 1, 2, ... , 9, 0. (Default: the potentials from the<br />

previous solution)<br />

–5<br />

218 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


SOLVE<br />

EXAMPLES<br />

SOLVE INIT OUTF=OUT0<br />

Performs an initial bias point, saving the solution to the data file OUT0.<br />

SOLVE PREV V1=0 V2=.5 V3=-.5 OUTF=OUT1<br />

SOLVE V1=1 V2=.5 V3=0 VSTEP=1 NSTEPS=4<br />

+ ELECT=1 OUTF=OUTA<br />

In this example, bias stepping is illustrated. The two SOLVE cards<br />

produce the following bias conditions:<br />

Bias point # V1 V2 V3<br />

1 0.0 0.5 0.5<br />

2 1.0 0.5 0.0<br />

3 2.0 0.5 0.0<br />

4 3.0 0.5 0.0<br />

5 4.0 0.5 0.0<br />

6 5.0 0.5 0.0<br />

The solutions for these bias points will be saved to the files OUT1, OUTA,<br />

OUTB, OUTC, OUTD <strong>and</strong> OUTE. Note that the initial guess for the first<br />

bias point is obtained directly from the preceding solution because the<br />

PREvious option was specified. The initial guesses for bias points 2 <strong>and</strong><br />

3 will also be obtained as if PREvious had been specified since two<br />

electrodes (numbers 1 <strong>and</strong> 3) had their biases changed on bias point 2.<br />

However, for bias points 4, 5 <strong>and</strong> 6, <strong>PISCES</strong>-II will use a projection to<br />

obtain an initial guess since starting with bias point 4, both of its preceding<br />

solutions (bias points 2 <strong>and</strong> 3) only had the same electrode bias (number 1)<br />

altered.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 219


SOLVE<br />

SOLVE V1=0 V2=0 V3=1 VSTEP=.5 NSTEPS=2 ELECT=23<br />

SOLVE V2=2 V3=3<br />

Here is a case where two electrodes are stepped (2 <strong>and</strong> 3). The bias points<br />

solved for will be (0,0,1), (0,.5,1.5), (0,1,2) <strong>and</strong> (0,2,3). <strong>PISCES</strong>-II will<br />

use the PROject option to predict an initial guess for the third <strong>and</strong> fourth<br />

bias points since the bias voltages on both electrodes 2 <strong>and</strong> 3 have been<br />

altered by the same amount between each point.<br />

SOLVE V1=0 V2=0 V3=1<br />

SOLVE VSTEP=.5 NSTEPS=2 ELECT=23<br />

SOLVE VSTEP=1 NSTEPS=1 ELECT=23<br />

This repeats the previous example as a three-card sequence. If no new<br />

voltages are specified <strong>and</strong> a VStep is included, the first bias point solved<br />

for is the preceding one incrementted appropriately by VStep.<br />

METHOD 2ND TAUTO AUTONR<br />

SOLVE V1=1 V2=0<br />

SOLVE V1=2 TSTART=1E-12 TSTOP=25E-9<br />

+ RAMPTIME=10E-9 OUTF=UP1<br />

SOLVE V1=-1 TSTOP=100E-9 RAMPTIME=20E-9<br />

+ OUTF=DOWN1<br />

SOLVE V1=-1 V2=0<br />

This sequence is an example of a time-dependent solution. The<br />

METHOD card specifies the second-order discretization <strong>and</strong> automatic<br />

time-step selection option, along with Newton-Richardson. The first<br />

SOLVE card then computes the solution for a device with 1 volt on V1<br />

<strong>and</strong> 0 on V2 in steady-state. The second SOLVE card specifies that V1 is<br />

to be ramped to 2 volts over a period of 10ns <strong>and</strong> is left on until 25ns. Each<br />

solution is written to a file; the name of the file is incrementted in a<br />

manner similar to that described above for a dc simulation (UP1, UP2,<br />

etc.). Note that an initial time step had to be specified on this card. The<br />

third SOLVE card ramps V1 down from 2 volts to -1 volts in 20 ns (end of<br />

220 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


SOLVE<br />

ramp is at t = 45ns). The device is then solved at this bias for another 55ns<br />

(out to 100ns). Note that again each solution is saved in a separate file<br />

(DOWN1, DOWN2, etc.) <strong>and</strong> that no initial time-step was required since<br />

one had been estimated from the last transient solution for the previous<br />

SOLVE card. Finally, the fourth SOLVE card performs the steady-state<br />

solution at V1 = -1 <strong>and</strong> V2 = 0.0<br />

SOLVE V1=0 V2=0 V3=0 VSTEP=0.5 NSTEPS=4<br />

+ ELECT=1 AC FREQ=1E6 FSTEP=10 MULT.F<br />

+ NFSTEP=5 VSS=0.01<br />

Here an AC example is presented. Assume the device to be simulated has<br />

3 electrodes. Starting from solved DC conditions at V1 = 0, 0.5, 1.0, 1.5<br />

<strong>and</strong> 2.0 volts, 10 mV AC signals of frequency 1 MHz, 10 MHz, 100 MHz,<br />

1 GHz, 10 GHz <strong>and</strong> 100GHz are applied to each electrode in the device.<br />

Note that the number of AC solutions to be performed is 5 X 6 X 3 = 90.<br />

SOLVE V1=0 V2=0 V3=0 VSTEP=0.5 NSTEPS=4<br />

+ ELECT=1 lowf<br />

Same as the above example but use zero-frequency analysis to extract<br />

quasi-static y-parameters.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 221


SPREAD<br />

COMMAND<br />

SPREAD<br />

The SPREAD card provides a way to distort rectangular grids in the<br />

vertical direction to follow surface <strong>and</strong> junction contours. SPREAD is<br />

very useful in reducing the amount of grid for some specific problems,<br />

most notably MOSFETs. The SPREAD card is somewhat complicated; it<br />

is suggested to follow the supplied examples very carefully (particularly<br />

the MOSFET example in Chapter 5 in [3]).<br />

SYNTAX<br />

SPread <br />

direction:<br />

{ LEft = | Right = }<br />

region:<br />

Width = <br />

Upper = <br />

LOwer = <br />

specifics:<br />

{ Y.Lower = | Thickness = }<br />

Vol.ratio = Encroach = <br />

GRAding = <br />

GR1 = GR2 = <br />

Middle = Y.Middle=<br />

222 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


SPREAD<br />

PARAMETERS<br />

Encroach<br />

A real number factor which defines the abruptness of the transition<br />

between a distorted <strong>and</strong> non-distorted mesh. The transition region<br />

becomes more abrupt with smaller Encroach factors (the minimum is<br />

0.1). An important note: depending on the characteristics of the<br />

undistorted mesh, very bad triangles (long, thin, <strong>and</strong> obtuse) may result if<br />

Encroach is set too low. (Default: 1.0)<br />

GRAding<br />

A real number parameter to specify a grid ratio (identical to the Ratio<br />

parameter on the X.Mesh <strong>and</strong> Y.Mesh cards) to produce a non-uniform<br />

grid in the distorted region. (Default: 1.0)<br />

GR1, GR2, Middle, Y.Middle<br />

Real number parameters used as an alternative to a single GRAding<br />

parameter. GR1 <strong>and</strong> GR2 can be specified along with the y grid line<br />

Middle <strong>and</strong> location Y.Middle so that GR1 is used as the grading in the<br />

spread region from Upper to Middle <strong>and</strong> GR2 is the grading from<br />

Middle to LOwer. (Defaults: GR1, 1.0; GR2, 1.0; <strong>and</strong> no defaults for<br />

Middle <strong>and</strong> Y.Middle)<br />

LEft, Right<br />

Logical flags to specify that the left <strong>and</strong> right sides of the grid,<br />

respectively, will be distorted. (Defaults: false)<br />

Upper, LOwer<br />

Integer parameters to specify the upper <strong>and</strong> lower y-grid lines,<br />

respectively, between which the distortion will take place. (No default)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 223


SPREAD<br />

Vol.ratio<br />

Real number parameter as the ratio of the downward displacement of the<br />

lower grid line to the net increase in thickness. It is ignored if Y.Lower is<br />

specified. (Default: 0.44 which is derived from oxide/silicon growth/<br />

consumption ratio during oxidation such that the Si/SiO 2 interface can<br />

move correctly)<br />

Width<br />

A real number parameter to specify the width from the left or right edge<br />

(depending on the LEft <strong>and</strong> Right parameters) of the distorted area. The<br />

actual x-coordinate specified by Width (min[x] + Width for LEft <strong>and</strong><br />

max[x] - Width for Right) will lie in the middle of the transition region<br />

between the distorted <strong>and</strong> undistorted grid regions, in units of<br />

default)<br />

µ . (No<br />

Y.Lower <strong>and</strong> Thickness<br />

Real number parameters to define the distorted grid region, in units of µ .<br />

Only one of them should be supplied. Y.Lower is the physical location in<br />

the distorted region at which the line specified by LOwer will be moved.<br />

The line specified by Upper is not moved. Thickness is the thickness of<br />

the distorted region <strong>and</strong> it will usually move the positions of both the<br />

Upper <strong>and</strong> LOwer grid lines unless Vol.ratio is set to 0 or 1. (No<br />

default)<br />

EXAMPLES<br />

$ *** Mesh definition ***<br />

MESH NX=30 NY=20 RECT<br />

X.M N=1 L=0<br />

X.M N=30 L=2<br />

Y.M N=1 L=-.04<br />

224 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


SPREAD<br />

Y.M N=5 L=0<br />

Y.M N=20 L=1 R=1.4<br />

$ *** Thin oxide ***<br />

REGION X.L=1 X.H=30 Y.L=1 Y.H=5<br />

$ *** Silicon substrate ***<br />

REGION X.L=1 X.H=30 Y.L=5 Y.H=20<br />

$ *** Spread ***<br />

SPREAD LEFT WIDTH=0.5 UP=1 LO=5 THICK=0.1<br />

ENC=1.3<br />

This spreads what was previously a uniform 400Å of oxide to 1000Å on<br />

the left side of the device. This will result in a net increase in thickness of<br />

600Å of oxide. Because the default Vol.ratio is used, 0.44 X (600) =<br />

264Å of the net increase will lie below the original 400Å <strong>and</strong> 0.56 X (600)<br />

= 336Å of the net increase will lie above the original 400Å. The width of<br />

the spread region is 0.5 µm <strong>and</strong> the oxide taper is quite gradual because of<br />

the high encroachment factor. The grid is left uniform in the spread region.<br />

DOPING UNIFORM N.TYPE CONC=1E15<br />

DOPING GAUSS P.TYPE X.LEFT=1.5 X.RIGHT=2<br />

+ PEAK=0 CONC=1e19 RATIO=.75 JUNC=0.3<br />

SPREAD RIGHT WIDTH=0.7 UP=5 LO=10 Y.LO=0.3<br />

+ ENC=1.2 GRAD=0.7<br />

The right side of the grid is distorted in order to follow a junction contour.<br />

Assume that the initial grid is defined as above. Y.Lower is used so that<br />

there is no increase in the size of the device, just grid redistribution. With<br />

Y.Lower set to the junction, the Encroach parameter should be chosen<br />

such that the lower grid line (LOwer=10) follows the junction as closely<br />

as possible. Note that the grid is graded so that the grid lines are spaced<br />

closer together as they approach the junction. Because the point specified<br />

by Width on the SPREAD card lies in the middle of the transition region,<br />

it should be chosen to be slightly larger than the width of the doping “box''<br />

(Width < X.Left - X.Right = 0.5 µm).<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 225


SYMBOLIC<br />

COMMAND<br />

SYMBOLIC<br />

The SYMBOLIC card performs a symbolic factorization in preparation<br />

for the LU decompositions in the solution phase of <strong>PISCES</strong>. Because<br />

each of the available numerical solution techniques used by <strong>PISCES</strong> may<br />

result in entirely different linear systems, the method used <strong>and</strong> the number<br />

of carriers to be simulated must be specified at this time. The symbolic<br />

factorization may be optionally read from or written to a file; if an input<br />

file is specified, the symbolic factorization information in that file must be<br />

consistent with the method specified on the present card.<br />

SYNTAX<br />

SYmbolic <br />

+ <br />

solution method:<br />

{ Newton = | Gummel = }<br />

device equation:<br />

Carriers = <br />

{ Electrons = | Holes = }<br />

ENGY.Elect = | ENGY.Hole = <br />

ENGY.Lat = <br />

options:<br />

Min.degree = Strip = <br />

Infile = Outfile = <br />

Print = <br />

226 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


SYMBOLIC<br />

PARAMETERS<br />

Carriers<br />

An integer parameter to specify the number of types of carriers to be<br />

simulated. 0 for solving the Poisson’s equation only, 1 for solving either<br />

electrons or holes depending on flags ELectrons <strong>and</strong> Holes, <strong>and</strong> 2 for<br />

solving both electrons <strong>and</strong> holes. (Default: 1)<br />

ELectrons, Holes<br />

Logical flags to indicate which type of carriers is to be solved if Carriers<br />

is set to 1. (Defaults: false)<br />

ENGY.Elect, ENGY.Hole<br />

Logical flags to indicate if electron or hole or both carrier energy balance<br />

equation(s) is to be solved in the simulation. (Defaults: false)<br />

ENGY.Lat<br />

A logical flag to indicate that the lattice thermal diffusion equation is to be<br />

solved during the simulation. (Defaults: false)<br />

Infile, Outfile<br />

Character strings (up to 20 characters long) to specify the input <strong>and</strong> output<br />

(binary) file names, respectively, for the symbolic factorization. Note that<br />

these binary files can be quite large, so it is advised not to use this feature.<br />

(In some computing environments it is also faster to compute the symbolic<br />

information for each run than to read it from the file). (No default, strings<br />

set to null)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 227


SYMBOLIC<br />

Min.degree<br />

A logical flag to specify the use of a minimum degree ordering of the<br />

pivots for decomposition in order to reduce the size of the generated L <strong>and</strong><br />

U matrices, hence to reduce the amount of CPU time spent in solving<br />

linear systems. This parameter is definitely recommended. (Default: true)<br />

Newton, Gummel<br />

Logical flags to specify the Newton simultaneous or Gummel sequential<br />

method in solving the Poisson’s, electron <strong>and</strong> hole continuity equations. In<br />

the case of solving the Poisson’s equation only (Carriers = 0), Gummel<br />

method is the default one. When one of or both carrier energy balance<br />

equations is to be solved, Newton method must be used for the current<br />

implementation. (Defaults: false)<br />

Print<br />

A logical flag to indicate that information about the memory allocated for<br />

the run is to be printed to the st<strong>and</strong>ard output file. (Default: false)<br />

Strip<br />

A logical flag to specify redundancy (zero couplings) be removed from the<br />

symbolic map, <strong>and</strong> is naturally on. (Default: true)<br />

EXAMPLES<br />

SYMBOLIC GUMMEL CARR=1 HOLES OUTF=SYMB.OUT<br />

Specifies a symbolic factorization for a simulation with only holes <strong>and</strong><br />

using the Gummel method (the symbolic factorization is saved in a file<br />

called SYMB.OUT).<br />

228 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


SYMBOLIC<br />

SYMBOLIC NEWTON CARR=2 INF=SYMB.IN PRINT<br />

A previously generated symbolic factorization is read in from a file called<br />

SYMB.IN. The method used is the full Newton method, <strong>and</strong> both carriers<br />

are included in the simulation. Additionally, the sizes <strong>and</strong> dimensions of<br />

all arrays associated with the sparse matrix solution are printed.<br />

SYMBOLIC NEWTON CARR=2 engy.ele<br />

Solve electron energy balance equation together with Poisson’s <strong>and</strong> two<br />

carrier continuity equations for electron temperature <strong>and</strong> ψ , n, <strong>and</strong> p.<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 229


TITLE<br />

COMMAND<br />

TITLE<br />

The TITLE card specifies a title (up to 60 characters) to be used in<br />

<strong>PISCES</strong> st<strong>and</strong>ard output.<br />

SYNTAX<br />

Title<br />

<br />

PARAMETERS<br />

None.<br />

EXAMPLES<br />

TITLE *** CMOS p-channel device ***<br />

230 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


VECTOR<br />

COMMAND<br />

VECTOR<br />

The VECTOR card plots vector quantities over an area of the device<br />

defined by the previous PLOT.2D card.<br />

SYNTAX<br />

Vector <br />

plotted quantity:<br />

{ J.Conduc = | J.Electr = |<br />

J.Hole = | J.Displa = |<br />

J.Total = | E.field = }<br />

control:<br />

LOgarithm = MInimum = <br />

MAximum = Scale = <br />

Clipfact = LIne.type = <br />

PARAMETERS<br />

Clipfact<br />

A threshold below which vectors are not plotted. (Default: 0.1)<br />

E.field<br />

Plot the electric field. (Default: false)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 231


VECTOR<br />

J.Conduc, J.Displa, J.Electr, J.Hole, J.Total<br />

Logical flags for plotting the conduction, displacement, electron, hole, <strong>and</strong><br />

total current densities, respectively. (Defaults: false)<br />

LIne.type<br />

An integer parameter for the vector line type for plotting. (Default: 1, a<br />

solid line)<br />

LOgarithm<br />

A logical flag to specify use of logarithmic value of the magnitude. By<br />

default, all vectors in a linear plot are scaled by the maximum magnitude<br />

of the quantity of interest over the grid, while if LOgarithm is set, the<br />

default scaling uses the minimum (non-zero) magnitude. (Default: false)<br />

MAximum, MInimum<br />

Real number parameters for the minimum <strong>and</strong> maximum values of the<br />

quantities to be plotted. These values will be printed during the execution<br />

of a plot. With these parameters is possible to plot two bias conditions or<br />

two devices with the same scaling. (Defaults: 0.0)<br />

Scale<br />

A real number parameter used as the scale factor by which all magnitudes<br />

are multiplied. (Default: 1.0)<br />

EXAMPLES<br />

PLOT.2D BOUN NO.FILL<br />

VECTOR J.ELEC LINE=2<br />

VECTOR J.HOLE LINE=3<br />

Plot electron <strong>and</strong> hole currents over a device.<br />

232 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


X.MESH, Y.MESH<br />

COMMAND<br />

X.MESH, Y.MESH<br />

The X.MESH <strong>and</strong> Y.MESH cards specify the location of lines of nodes<br />

in a rectangular mesh.<br />

SYNTAX<br />

X.mesh or Y.mesh <br />

node:<br />

location:<br />

Node = <br />

ratio:<br />

Location = <br />

Ratio = <br />

PARAMETERS<br />

Location<br />

Real number parameter to specify where to locate the line, in units of µ .<br />

(No default)<br />

Node<br />

An integer parameter for the numbering of the line in the mesh. Lines<br />

should be assigned consecutively, beginning with the first <strong>and</strong> ending with<br />

the last. (No default)<br />

<strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures 233


X.MESH, Y.MESH<br />

Ratio<br />

Real number parameter as the ratio used for the interpolation of lines<br />

between the given lines, unitless. The spacing grows/shrinks by ratio in<br />

each subinterval, <strong>and</strong> the ratio should usually lie between 0.667 <strong>and</strong> 1.5.<br />

(Default: 1.0)<br />

EXAMPLES<br />

Y.MESH N=1 LOC=0.0<br />

Y.MESH N=20 LOC=0.85 RATIO=0.75<br />

Y.MESH N=40 LOC=2 RATIO=1.333<br />

Space grid lines closely around a junction in a 1-d diode with the junction<br />

at 0.85 microns.<br />

234 <strong>PISCES</strong>-<strong>2ET</strong> – 2D Device Simulation for Si <strong>and</strong> Heterostructures


PART II<br />

Curve Tracer<br />

Stephen G. Beebe, Zhiping Yu, Ronald J. G. Goossens,<br />

<strong>and</strong> Robert W. Dutton


Acknowledgment<br />

This project was supported by Semiconductor Research Corporation Contract Numbers, SRC 94-SJ-<br />

116 <strong>and</strong> SRC 93-MC-106. We would also like to acknowledge the mentorship of Dr. Ben Tseng of<br />

AMD as well as AMD’s support of both a summer internship <strong>and</strong> ongoing access to their facilities <strong>and</strong><br />

device technology during the period of this study.<br />

Curve Tracer 235


236 Curve Tracer


SECTION 7<br />

Introduction<br />

In <strong>Technology</strong> CAD, the use of software to simulate the testing of semiconductor devices is known as<br />

the Virtual Instrumentation. A virtual instrument should be able to automatically generate simulation<br />

data, e.g., I-V curve along a bias sweep, given only the simple specifications a user would input to a<br />

real programmable instrument testing an IC device. Numerical device simulators such as <strong>PISCES</strong><br />

provide a means of creating virtual devices <strong>and</strong> simulating electrical tests on the devices. However,<br />

these simulators cannot trace through I-V curves with sharp turns unless the user carefully controls the<br />

bias conditions near these turns -- a tedious <strong>and</strong> time-consuming process. This deficiency prompted<br />

the creation of Tracer.<br />

Tracer is a C program which automatically guides <strong>PISCES</strong> <strong>and</strong> other semiconductor device<br />

simulators through complex I-V traces <strong>and</strong> is ideally suited for device-failure phenomena such as<br />

latchup, BV CEO , <strong>and</strong> electrostatic-discharge (ESD) protection. Given a <strong>PISCES</strong> input deck <strong>and</strong> a<br />

specification file with a <strong>PISCES</strong>-like syntax, a simulation can be run over any current or voltage range<br />

without the user’s intervention. Tracer is limited to DC, one-dimensional traces, i.e., only one<br />

electrode can be swept per run. It sweeps the electrode by dynamically setting the most stable bias<br />

condition at each solution point. Additionally, Tracer has the ability to maintain zero-current bias<br />

conditions at one or two electrodes during the trace, even at low device-current levels where such bias<br />

conditions are unstable using traditional device simulation. The theory implemented in the Tracer<br />

program can be found in [1].<br />

Curve Tracer 237


SECTION 8<br />

Shell Comm<strong>and</strong> Line<br />

Usage: %tracer inputfile tracefile [outputfile]<br />

where<br />

• tracer is the program name, i.e. it is the shell comm<strong>and</strong> name<br />

• inputfile is the name of the <strong>PISCES</strong> input deck which defines the device structure to be<br />

simulated <strong>and</strong> specifies what physical models are to be used. Basically, it contains everything<br />

in a normal <strong>PISCES</strong> deck except the solve card specifications (SECTION 10).<br />

• tracefile is a file containing instructions on how to conduct the tracing as well as<br />

specifying bias conditions for all electrodes (SECTION 9).<br />

• outputfile is an optional specification of the name of the file where the simulation data is<br />

to be written (SECTION 11). If outputfile is not given, the name of the output file defaults<br />

to inputfile.out.<br />

238 Curve Tracer


SECTION 9<br />

Trace File<br />

The trace specification file, tracefile, is similar to a <strong>PISCES</strong> or SUPREM input deck. Each line<br />

begins with a word designating what type of statement (or “card”) it is. The four available cards are<br />

CONTROL, FIXED, OPTION, <strong>and</strong> SOLVE. Also, a line may start with a “$” for comments. Such<br />

lines are ignored during program execution. The cards may appear in any order. A card may be<br />

continued on following lines by placing a “+” at the beginning of each subsequent line. The “+” should<br />

be separated from the parameters on the line by at least one space.<br />

Each option in a card should have the following structure: “param = paramvalue”. Spaces<br />

separating the “=” sign are optional. The parameters for each card are described below. As with<br />

<strong>PISCES</strong> syntax, parameter names <strong>and</strong> values are not case-sensitive <strong>and</strong> may be abbreviated provided<br />

they remain unambiguous. Square brackets, [], enclosing a parameter indicate that it is optional (note<br />

that some of these parameters are optional only in the sense that they will default to a certain value if<br />

not specified in tracefile). A vertical line, |, represents a logical OR -- only one of a list of<br />

parameters separated by “|” signs can be specified.<br />

All electrodes in the device must have representation in the tracefile. Each electrode<br />

must appear as one, <strong>and</strong> only one, of the following: the CONTROL electrode, a FIXED electrode, or<br />

an open contact (OPENCONT1 or OPENCONT2) on the SOLVE card.<br />

Curve Tracer 239


Trace File<br />

9.1 CONTROL Card<br />

9.1.1 Description<br />

The CONTROL card is used to designate the electrode which will be swept through the trace as well<br />

as the boundaries of the trace. This electrode is referred to as the control electrode. To define the start<br />

of the simulation range, an initial voltage <strong>and</strong> an initial voltage step must be specified for the control<br />

electrode. The end of the trace is specified by either a maximum electrode voltage, a maximum<br />

electrode current, or the total number of simulated points to be found.<br />

9.1.2 Syntax<br />

NUM= CONTROL= [BEGIN=] [INITSTEP=]<br />

[ENDVAL= | STEPS=]<br />

9.1.3 Parameters<br />

• NUM is the sequence number of the electrode in the <strong>PISCES</strong> input deck designated as the<br />

control electrode, whose voltage or current is swept through the trace. <strong>Its</strong> integer value must be<br />

between 1 <strong>and</strong> 9, inclusive. (Default: none)<br />

• CONTROL is either VMAX, IMAX, or STEP. VMAX denotes that a maximum voltage on<br />

the control electrode, specified by ENDVAL, is used as the upper bound on the trace. IMAX<br />

denotes that ENDVAL specifies a maximum control-electrode current for the trace. STEP<br />

signifies that the trace will proceed for a certain number of simulation points, specified by the<br />

STEPS parameter. In most cases VMAX or IMAX will be used because it is not known how<br />

many simulation steps will be taken to reach a certain voltage or current. (Default: none)<br />

• BEGIN is the value of the voltage, in volts, at the starting point of the curve trace for the<br />

electrode designated by NUM (the control electrode). If an initial solution is performed by<br />

Tracer, BEGIN should be 0.0. If a previous solution is loaded into the input deck at the start<br />

of Tracer (see SOLVE card below), BEGIN should be equal to the voltage of the control<br />

electrode in this solution. (Default: 0.0V)<br />

• INITSTEP is the initial voltage increment, in volts, of the control electrode. Thus, at the<br />

second solution point the control electrode will have a voltage of BEGIN + INITSTEP. A<br />

recommended initial step size is 0.1V. The sign of INITSTEP determines the direction in<br />

240 Curve Tracer


Trace File<br />

which the curve tracing will initially be proceeded. If INITSTEP proves to be too large <strong>and</strong><br />

<strong>PISCES</strong> cannot converge on the second solution point, Tracer will automatically reduce<br />

INITSTEP until convergence is attained, then proceed with the trace from this point. (Default:<br />

0.1V)<br />

• ENDVAL is used when CONTROL=VMAX or IMAX. Tracer stops tracing when the<br />

voltage (CONTROL=VMAX) or current (CONTROL=IMAX) of the specified electrode<br />

equals or exceeds the value specified by ENDVAL. Note that it is the absolute values of the<br />

voltage or current <strong>and</strong> of ENDVAL which are compared. (Default: 10.0V<br />

(CONTROL=VMAX), 10.0A/µm (CONTROL=IMAX))<br />

• STEPS is used when CONTROL=STEP. It specifies the number of solution points Tracer<br />

should find. (Default: 10)<br />

9.1.4 Examples<br />

1. Electrode 3 is the control electrode. Tracer will initially proceed in the negative-voltage direction<br />

with an initial step of -0.1V. Tracer will proceed until the absolute value of the control current<br />

equals or exceeds 3A/µm.<br />

control num=3 begin=0.0 initstep=-0.1 control=IMAX end=-3.0<br />

2. Electrode 4 is the control electrode. Tracer will run until 65 solutions are found, starting at<br />

v4=0.0V with an initial v4 step of 0.5V.<br />

control num=4 begin=0.0 initstep=0.5 control=step steps=65<br />

9.2 FIXED Card<br />

9.2.1 Description<br />

A FIXED card is used to designate an electrode whose bias remains fixed throughout the simulation.<br />

There should always be at least one FIXED electrode <strong>and</strong> usually there are two or more. The two types<br />

of bias conditions available are voltage sources <strong>and</strong> current sources. The value of the bias is arbitrary,<br />

with one exception: a zero-current source (open contact) should be specified through the open-contact<br />

option on the SOLVE card <strong>and</strong> not on the FIXED card. If non-zero current sources are used for some<br />

Curve Tracer 241


Trace File<br />

electrodes in a simulation, in inputfile the user must create contact cards with the “current” option<br />

for each of these electrodes (see SECTION 10).<br />

9.2.2 Syntax<br />

NUM= [TYPE=] [VALUE=] [RECORD=]<br />

9.2.3 Parameters<br />

• NUM is the sequence number of an electrode in the <strong>PISCES</strong> deck. <strong>Its</strong> integer value must be<br />

between1 <strong>and</strong> 9, inclusive. (Default: none)<br />

• TYPE is either VOLTAGE or V for a voltage source or CURRENT or I for a current source.<br />

(Default: VOLTAGE)<br />

• VALUE is the fixed value of the current or voltage for the electrode specified by NUM.<br />

VALUE has units of either volts or amps/µm, depending on the specification of TYPE. Note<br />

that the specification of VALUE is optional since it is merely for reference <strong>and</strong> is not used by<br />

Tracer. (Default: 0.0)<br />

• RECORD is either YES or NO. For RECORD=YES, the simulated current is recorded in the<br />

output file for a fixed-voltage electrode, while the simulated voltage is recorded for a fixedcurrent<br />

electrode. (Default: NO)<br />

9.2.4 Examples<br />

In every Tracer solution, electrode 1 has a voltage of 0.0V. The current in this node is recorded in<br />

outputfile at every solution point.<br />

fixed num=1 type=voltage value=0.0 record=yes<br />

9.3 OPTION Card<br />

9.3.1 Description<br />

An OPTION card is used to specify convergence criteria <strong>and</strong> solution-method options for any open<br />

electrodes, parameters which affect the smoothness <strong>and</strong> step-size control of the trace, which <strong>PISCES</strong><br />

solution files are saved, <strong>and</strong> whether extra solution data is saved in outputfile.<br />

242 Curve Tracer


Trace File<br />

9.3.2 Syntax<br />

Simulations with one or two open contacts:<br />

[ABSMAX=] [RELMAX=] [DAMP=] [TRYCBC=]<br />

Smoothness <strong>and</strong> step-size control:<br />

[ANGLE1=] [ANGLE2= [ANGLE3=] [ITLIM=]<br />

[MINCUR=] [MINDL=]<br />

Control of output files:<br />

[FREQUENCY=] [TURNINGPOINTS=] [VERBOSE=]<br />

9.3.3 Parameters<br />

• ABSMAX is the maximum current allowed in an open contact <strong>and</strong> is only relevant when open<br />

contacts are used <strong>and</strong> voltage biases are applied to these contacts. Convergence is satisfied<br />

–19<br />

when either the ABSMAX or RELMAX condition is met. (Default: 1.0×10 A/ µ m)<br />

• RELMAX is the maximum ratio of open-contact current to control-electrode current <strong>and</strong> is<br />

only relevant when open contacts are used <strong>and</strong> voltage biases are applied to these contacts.<br />

Convergence is satisfied when either the ABSMAX or RELMAX condition is met. (Default:<br />

–9<br />

1.0×10<br />

)<br />

• DAMP is a number between 0 <strong>and</strong> 1.0 determining how quickly Tracer will converge on an<br />

open-contact solution using voltage biasing. The closer DAMP is to 1.0, the more quickly<br />

Tracer will converge, but there is also an increased chance of slower convergence due to<br />

overshoot. Usually the user should not be concerned with the value of DAMP. (Default: 0.9)<br />

• TRYCBC is used only if there is an open contact. Tracer will only attempt to use zerocurrent<br />

biasing when the current of the control electrode is greater than TRYCBC. Otherwise,<br />

voltage biasing is used. In most cases the user does not have to worry about this parameter.<br />

–17<br />

(Default: 1.0×10<br />

A/m)<br />

• ANGLE1, ANGLE2, <strong>and</strong> ANGLE3 are critical angles (in degrees) affecting the smoothness<br />

<strong>and</strong> step size of the trace. They are described in detail in [1]. If the difference in slopes of the<br />

Curve Tracer 243


Trace File<br />

last two solution points is less than ANGLE1, the step size will be increased for the next<br />

projected solution. If the difference is between ANGLE1 <strong>and</strong> ANGLE2, the step size remains<br />

the same. If the difference is greater than ANGLE2, the step size is reduced. ANGLE3 is the<br />

maximum difference allowed, unless overridden by the MINDL parameter. ANGLE2 should<br />

always be greater than ANGLE1 <strong>and</strong> less than ANGLE3. (Defaults: ANGLE1 = 5˚,<br />

ANGLE2 = 10˚, ANGLE3 = 15˚)<br />

• ITLIM is the maximun number of Newton loops for a given solution as specified in the<br />

method card of the <strong>PISCES</strong> input deck. The user should make sure that the value of ITLIM<br />

specified here is the same as that in the input deck. In certain cases, a <strong>PISCES</strong> solution may be<br />

aborted in Tracer because the solution will not converge within the given number of<br />

iterations. In some of these cases Tracer will try to redo the solution with a doubled number<br />

of iterations. If ITLIM is specified here, such attempts will be made. If there is no itlim<br />

statement or ITLIM=0, no attempts will be made. It is recommended that ITLIM be set to a<br />

low value, around 10 or 15 (or at least high enough to allow convergence of the initial<br />

solution). However, for GaAs devices a larger ITLIM of 20 or 25 is recommended.<br />

(Default: 0)<br />

• MINCUR is the value of the control current, in A/µm, above which Tracer carefully controls<br />

step size <strong>and</strong> guarantees a smooth trace. Below this current level, the program simply takes<br />

voltage steps as large as possible, i.e., as long as numerical convergence can be achieved,<br />

without regard for smoothness. If MINCUR is set to 0.0, Tracer will not begin smoothness<br />

control until it is past the first sharp turn in the I-V curve. This value should be used when the<br />

user is only interested in the rough location of a break in the curve, such as the breakdown<br />

voltage of a single-junction device. If smoothness is required, a lower value should be<br />

–15<br />

specified. Setting MINCUR below 1.0×10 A/ µ m is not recommended because Tracer has<br />

problems controlling smoothness at such low currents. (Default: 0.0A/ µ m)<br />

• MINDL is the minimum normalized step size allowed in the trace. Usually the user does not<br />

need to adjust this parameter. Increasing MINDL will reduce the smoothness of the trace by<br />

overriding the angle criteria, resulting in more aggressive projection <strong>and</strong> fewer simulation<br />

points. Reducing MINDL will enhance the smoothness <strong>and</strong> increase the number of points in<br />

the trace. (Default: 0.1)<br />

• FREQUENCY specifies how often the binary output (solution) files of the trace are saved. All<br />

I-V points are saved in outputfile. However, the <strong>PISCES</strong> solution files corresponding to<br />

these points are saved only if they are designated by FREQUENCY. If FREQUENCY=0,<br />

244 Curve Tracer


Trace File<br />

none of the solutions is saved, except perhaps the turning points (see below). If<br />

FREQUENCY=5, e.g., the solution file of every fifth point will be saved to files named soln.5,<br />

soln.10, etc., along with its <strong>PISCES</strong> input file (input.5, input.10,...) <strong>and</strong> output I-V file (iv.5,<br />

iv.10,...). (Default: 0)<br />

• TURNINGPOINTS is either YES or NO. If it is YES, the binary output (solution) file from<br />

<strong>PISCES</strong> will be saved whenever the slope of the I-V curve changes sign, i.e., there is a turning<br />

point. The name of the output file is soln.num,where num is the number of the current<br />

solution. For example, if the 25th point has a different sign than the 24th point, Tracer will<br />

save a file called soln.25. (Default: NO)<br />

• VERBOSE is either YES or NO. If it is YES, certain information about each solution (which<br />

the user may not be interested in) is printed in outputfile. The information consists of the<br />

external control-electrode voltage, the load resistance on the control electrode, the slope<br />

(differential resistance) of the solution, the normalized projected distance of the next<br />

simulation I-V point, <strong>and</strong> the normalized angle difference between the last two simulation<br />

points. (Default: NO)<br />

9.3.4 Examples<br />

1. Step-size control will begin when the control electrode’s current exceeds 1.0×10<br />

A/µm. In the<br />

input deck itlim has been set to 12. Only essential information is saved in outputfile. The<br />

solution file of every tenth point, as well as any turning points, will be saved.<br />

option mincur=1e-14 itlim=12 verbose=no frequency=10<br />

+ turningpoints=yes<br />

2. In a simulation with one or two open contacts, we want to keep the current through the open<br />

–16<br />

electrodes below 1.0×10<br />

A/µm, regardless of the current through the control electrode. Thus<br />

RELMAX is set to a very low value so that it will not be a factor in determining the current at the<br />

open contact(s).<br />

option absmax=1e-16 relmax=1e-25<br />

–14<br />

Curve Tracer 245


Trace File<br />

9.4 SOLVE Card<br />

9.4.1 Description<br />

The solve card is used to specify how the initial solution is obtained, what simulator is used, <strong>and</strong><br />

whether there are any open contacts (zero-current bias conditions). A Tracer run will start either with<br />

an initial solution or by loading a solution from a previous <strong>PISCES</strong> simulation. If such a previous<br />

simulation has one or two zero-current electrodes, the user has the option of either specifying the<br />

voltages on these electrodes or of simply designating them as open contacts.<br />

9.4.2 Syntax<br />

FIRSTSOLUTION= [OPENCONT1=] [OPENCONT2=]<br />

[SIMULATOR=] [VOPEN1=] [VOPEN2=]<br />

9.4.3 Parameters<br />

• FIRSTSOLUTION is either INITIAL, LOAD, or CURRLOAD. In all cases a solve<br />

statement should be present in the <strong>PISCES</strong> input deck (inputfile). The parameters of this<br />

solve card in inputfile are not used but rather the card itself is used to mark where a<br />

<strong>PISCES</strong> solve card should be placed by Tracer in inputfile (see SECTION 10).<br />

If FIRSTSOLUTION=INITIAL, a solution at thermal equilibrium will be solved by Tracer<br />

first. This implies that there cannot be any non-zero voltages or currents on a FIXED card. If<br />

the device has an open contact, i.e., a zero-current source, the user should not specify “current”<br />

on the contact line of the <strong>PISCES</strong> input deck to indicate a zero-current bias condition.<br />

Specifying OPENCONT1 or OPENCONT2 on the tracefile solve card is all that is<br />

needed.<br />

If FIRSTSOLUTION=LOAD, a load statement should be present directly above the solve<br />

card in inputfile, <strong>and</strong> it should designate the infile (see SECTION 10). This option is used<br />

if the trace is to begin from a previously generated input solution file. The simulation which<br />

created this solution file must have used only voltage bias conditions. An open-contact trace<br />

can still be generated from such an input solution file if the voltage bias condition on the open<br />

electrode(s) results in near-zero current for that electrode (see VOPEN1, VOPEN2 below).<br />

Such an open-contact case would most likely arise if the user wanted to extend a previous<br />

246 Curve Tracer


Trace File<br />

Tracer run in which voltage bias conditions were used on the zero-current electrodes for the<br />

last simulation point.<br />

If the loaded solution is from a simulation using a zero-current bias condition,<br />

FIRSTSOLUTION=CURRLOAD should be used. In this case “current” should be specified<br />

on a contact card for each open electrode. As in the FIRSTSOLUTION=LOAD case, the<br />

existing inputfile load card is used by Tracer, which means the correct “infile” should be<br />

specified on a load card directly above the solve card in inputfile. (Default: none)<br />

• OPENCONT1 <strong>and</strong> OPENCONT2 are the numbers of electrodes (between 1 <strong>and</strong> 9, inclusive)<br />

with a zero-current bias condition. There can be either zero, one, or two open contacts. When a<br />

device has an open contact, the user does not have to worry about convergence at low devicecurrent<br />

levels. Tracer will automatically adapt the bias conditions to guarantee convergence.<br />

(Default: none)<br />

• SIMULATOR is either PISC<strong>2ET</strong> (<strong>PISCES</strong>-<strong>2ET</strong>) or MD3200 or MD10000 (TMA). It<br />

designates the device simulator to be used by Tracer. Other additions may be made in the<br />

future. (Default: PISC<strong>2ET</strong>)<br />

• VOPEN1 <strong>and</strong> VOPEN2 must be used if <strong>and</strong> only if there is an open contact <strong>and</strong><br />

FIRSTSOLUTION=LOAD (voltage bias condition on open contact(s)). The values of<br />

VOPEN1 <strong>and</strong> VOPEN2 are the voltages of the open contacts OPENCONT1 <strong>and</strong><br />

OPENCONT2, respectively, in the loaded solution file designated on the load card of<br />

inputfile. If there is only one open contact, VOPEN2 should not be specified. (Defaults:<br />

0.0)<br />

9.4.4 Examples<br />

1. The trace starts by solving an initial solution at zero bias <strong>and</strong> uses <strong>PISCES</strong>-<strong>2ET</strong> as the simulator.<br />

Electrode 2 is an open contact.<br />

solve opencont1=2 firstsolution=init simulator=pisc<br />

2. The trace starts with a previous solution using only voltage bias conditions. In this loaded solution<br />

the open contacts 2 <strong>and</strong> 4 have voltages of 0.641V <strong>and</strong> 0.509V, respectively.<br />

solve firstsolution=load simulator=pisc opencont1=2<br />

+ opencont2=4 vopen1=0.641 vopen2=0.509<br />

Curve Tracer 247


SECTION 10<br />

Input Deck Specifications<br />

The input deck used by Tracer, inputfile, is a st<strong>and</strong>ard <strong>PISCES</strong> file, but Tracer has certain<br />

requirements. For underst<strong>and</strong>ing the basic flow of an input deck, consult the <strong>PISCES</strong> manual. The<br />

mesh, region, electrode, doping, <strong>and</strong> model cards must already be present in the input deck.<br />

Additionally, the Newton solution method must be specified in the symbolic card. Other requirements<br />

are described below.<br />

10.1 Load <strong>and</strong> Solve Cards<br />

In Tracer, the user specifies whether to start with an initial solution or to load a previous solution (see<br />

Section 9.4). In either case, the user must mark a line in inputfile where the solve statement should<br />

go by starting the line with “solve”. Any parameter specified in this solve statement is irrelevant. If<br />

Tracer is to start with a previous solution, inputfile must contain a st<strong>and</strong>ard load statement,<br />

above the solve line, containing the name of the input file to be used (i.e., load infil=). In the case of loading a solution with a zero-current bias condition, “current” should be<br />

specified on a contact card for the open electrode.<br />

10.2 Contact Card<br />

Contact cards are optional in inputfile except in the case of electrodes biased with a current<br />

source. The case of the zero-current source is noted in Section 10.1 above. If there are any electrodes<br />

with a finite-current bias condition, a contact card with the “current” option should be placed in<br />

248 Curve Tracer


Input Deck Specifications<br />

inputfile for each such electrode, regardless of whether Tracer is to begin with an initial solution<br />

or a loaded solution.<br />

Even if no contact cards are required in inputfile, a line starting with “$contact” must be<br />

present so that Tracer will know where to add a contact statement. This contact card is necessary<br />

because this is where the load resistance of the control electrode is specified by Tracer. There is no<br />

problem with placing a contact card for the control electrode in the input deck as long as it does not<br />

specify a resistance value (which should never happen). Note that at least the first five letters of<br />

“contact” must appear for Tracer (<strong>and</strong> <strong>PISCES</strong>) to recognize it.<br />

10.3 Method Card<br />

In order to specify the maximum number of Newton iterations per solution, the itlim statement of the<br />

method card must be used in inputfile. If no method card is present, <strong>PISCES</strong> uses a default itlim<br />

of 20. However, in order to use the double-itlimit option (see Section 9.3), a method card must be<br />

present in the input deck <strong>and</strong> itlim must be set to some value.<br />

Another option must be specified in the method card if TMA’s MEDICI is used. In MEDICI,<br />

if a solution is aborted MEDICI will try to solve for an intermediate solution <strong>and</strong> then retry the original<br />

solution. This is not desirable when using Tracer since Tracer needs to keep track of aborted<br />

solutions. Thus, “stack=0” should be specified in the method card of MEDICI so that it does not<br />

attempt intermediate solutions. Analogously, the “trap” option should not be specified on the method<br />

card in a <strong>PISCES</strong>-<strong>2ET</strong> deck.<br />

10.4 Options Card<br />

When using <strong>PISCES</strong>-<strong>2ET</strong>, “curvetrace” should be specified on the options card so that <strong>PISCES</strong> will<br />

abort nonconverging solutions. Additionally, “nowarning” can be specified to prevent <strong>PISCES</strong> from<br />

printing warning messages which clutter the output, especially the warning issued when the load<br />

resistance changes value from one solution to the next.<br />

Curve Tracer 249


SECTION 11<br />

Data Format in Output Files<br />

As each solution is found, it is recorded in outputfile. Naming outputfile is described in<br />

SECTION 8. At the start of each line is the number of the solution. The second column of data contains<br />

voltage values of the control electrode, while the third column contains current values of the control<br />

electrode. If there is a zero-current electrode, the voltage <strong>and</strong> current values of OPENCONT1 will go<br />

in the next two columns, followed by the voltage <strong>and</strong> current of OPENCONT2 if there is a second<br />

open electrode.<br />

Values in the next columns depend on which data are recorded. If requested in the FIXED<br />

statements of tracefile, current values of fixed-voltage electrodes <strong>and</strong> voltage values of fixedcurrent<br />

electrodes will be recorded for each solution point in outputfile. The order from left to<br />

right is from low to high electrode number.<br />

After the electrode information is recorded, further columns contain information about each<br />

solution if VERBOSE=YES in the SOLVE card of tracefile. These columns are, from left to<br />

right, external control-electrode voltage, load resistance on the control electrode, differential<br />

resistance, normalized distance of the next projection, <strong>and</strong> the angle difference between the current <strong>and</strong><br />

previous solution points (see [1] for a description of these parameters).<br />

The FREQUENCY <strong>and</strong> TURNINGPOINTS parameters in the OPTION card allow data to<br />

be saved for certain specified solutions. In outputfile, those points which are saved are marked<br />

250 Curve Tracer


Data Format in Output Files<br />

with an asterisk next to the solution number. The files saved are the input deck, input.i; the I-V data<br />

file, iv.i; <strong>and</strong> the solution file, soln.i; where i is the number of the solution in outputfile.<br />

Curve Tracer 251


SECTION 12<br />

Comments<br />

As of January 1994, Tracer works with <strong>PISCES</strong>-<strong>2ET</strong>, some in-house versions of <strong>Stanford</strong> <strong>PISCES</strong>,<br />

<strong>and</strong> to some extent md3200 or md10000, MEDICI Version 1.2.2. 1 Use of MEDICI is not yet robust<br />

<strong>and</strong> thus Tracer may or may not complete a trace using MEDICI. Also, MEDICI cannot yet be used<br />

for simulations with open contacts. Tracer has not been thoroughly tested for simulations with two<br />

open contacts.<br />

The capability to calculate admittances using the difference method must be added to Tracer<br />

if it is to use simulators which cannot perform AC analysis when a load resistor is present (a previous<br />

version has this capability, so it should not be hard to implement).<br />

A tar file has been created which contains the Tracer source code; an executable version of<br />

<strong>PISCES</strong>; this document in FrameMaker, MIF, <strong>and</strong> postscript formats; <strong>and</strong> a test suite of verified<br />

examples. This test suite contains all the files needed to run the examples in the appendix.<br />

1. These implementations were developed in connection with Advanced Micro Devices, where TMA<br />

software is used, as part of a summer internship.<br />

252 Curve Tracer


SECTION 13<br />

Examples<br />

In each of the Tracer examples below, a description of the simulation is given along with the<br />

comm<strong>and</strong> line used to invoke Tracer <strong>and</strong> figures with the listings of inputfile (the <strong>PISCES</strong> input<br />

deck), tracefile, <strong>and</strong> outputfile.<br />

13.1 BV CEO<br />

The BV CEO experiment is conducted by biasing an npn bipolar transistor’s collector positively with<br />

respect to the emitter while the base is left open. The <strong>PISCES</strong> input deck, bvceo.pis, shown in Figure<br />

13.1, defines the mesh, region, electrodes, doping, emitter contact, physical models, <strong>and</strong> solution<br />

method. Even though the contact card is not for the collector, which will be the control electrode, the<br />

presence of the card ensures that Tracer will be able to find the correct place to insert a contact card<br />

for the collector when it needs to. If we did not wish to use the contact card in bvceo.pis, we would<br />

still have to insert a line beginning with “$contact” above the model <strong>and</strong> symbolic cards. Notice that<br />

“nowarn” <strong>and</strong> “curvetrace” are specified on the options card <strong>and</strong> “newton” is specified on the symbolic<br />

card, while nothing is specified on the solve card.<br />

In the trace file bvceo.tra (Figure 13.2), the FIXED card sets the voltage on the emitter<br />

electrode (num=1, as defined by bvceo.pis) to a constant value of 0.0V <strong>and</strong> states that the current<br />

through this electrode will not be recorded in outputfile. Electrode 3, the collector electrode, is<br />

designated as the control electrode. The CONTROL card states that the first solution will have a<br />

Curve Tracer 253


Examples<br />

title NPN Simulation for Toshiba w/ coarse mesh (1/19/92)<br />

options nowarn curvetrace<br />

mesh rect nx=11 ny=12<br />

x.m n=1 l=0 r=1<br />

x.m n=4 l=0.7 r=0.65<br />

x.m n=11 l=2 r=1.2<br />

y.m n=1 l=0 r=1.0<br />

y.m n=3 l=0.2 r=0.7<br />

y.m n=7 l=0.4 r=1.0<br />

y.m n=12 l=2.5 r=1.3<br />

region num=1 ix.l=1 ix.h=11 iy.l=1 iy.h=12 silicon<br />

$electrode 1=emitter 2=base 3=collector<br />

elec num=1 ix.l=1 ix.h=3 iy.l=1 iy.h=1<br />

elec num=2 ix.l=10 ix.h=11 iy.l=1 iy.h=1<br />

elec num=3 ix.l=1 ix.h=11 iy.l=12 iy.h=12<br />

dop ascii n.type infil=npn1.p x.l=0 x.r=2 ra=0.8<br />

dop ascii p.type infil=npn1.b x.l=0 x.r=2 ra=0.8<br />

dop ascii n.type infil=npn1.as x.l=0 x.r=0.6 ra=0.8<br />

dop gauss conc=1e18 p.type x.left=1.9 x.r=2 y.top=0 y.bot=0<br />

+ char=0.3 ra=0.8<br />

contact num=1 surf.rec vsurfn=8e5 vsurfp=8e5<br />

model temp=300 srh auger conmob fldmob bgn impact<br />

symbolic newton carr=2<br />

method itlimit=15<br />

solve<br />

end<br />

Figure 13.1 The input file bvceo.pis for the BV CEO example.<br />

254 Curve Tracer


Examples<br />

fixed num = 1 type=voltage value=0.0 record = no<br />

control num=3 begin=0.0 initstep=0.1 control=vmax end=20<br />

solve opencont1=2 first=init sim=pisc<br />

option verbose=no itlim=15 turnpts=yes freq=5<br />

+ mincur=5e-12 absmax=5e-19<br />

Figure 13.2 The trace file bvceo.tra for the BV CEO example.<br />

collector voltage of 0.0V, while the second solution will have a collector voltage of 0.1V. Tracing will<br />

continue until the collector voltage equals or exceeds 20V. If the initial step of 0.1V proves to be too<br />

large for convergence, Tracer will cut the step size in half, possible more than once, until it converges<br />

on a solution, <strong>and</strong> then will proceed from this solution.<br />

In the SOLVE card, we specify that the base electrode (num=2) is to be treated as an open<br />

contact during the trace. Also, tracing will begin with a thermal-equilibrium solution <strong>and</strong> <strong>PISCES</strong>-<br />

<strong>2ET</strong> will be used for the simulation. Finally, the OPTION card specifies that only essential I-V data<br />

will be saved in the output file; the <strong>PISCES</strong> iteration limit is set to 15, agreeing with the <strong>PISCES</strong> deck<br />

in the input file; <strong>PISCES</strong> solutions will be saved for any turning points as well as for every fifth<br />

solution point; smoothness of the I-V curve will not be enforced until the collector current is greater<br />

–12<br />

than 5×10<br />

A/µm; <strong>and</strong> while voltage biasing is used on the open base contact, a solution will be<br />

–19<br />

accepted only if the current through the base is less than 5×10<br />

A/µm (unless the RELMAX<br />

condition predominates).<br />

To run Tracer, the following comm<strong>and</strong> is typed at the prompt:<br />

machine-prompt% tracer bvceo.pis bvceo.tra bvceo.out<br />

While Tracer is running, the output of the <strong>PISCES</strong> runs are sent to the st<strong>and</strong>ard output,<br />

along with messages announcing when solutions are written to the output file. The output file, named<br />

bvceo.out in the comm<strong>and</strong> line, is shown in Figure 13.3, <strong>and</strong> a plot of the collector current vs. collector<br />

voltage is shown in Figure 13.4. In bvceo.out, we see that every fifth solution, along with solutions 24<br />

<strong>and</strong> 36 (the turning points), has been saved in files named soln.5, soln.10, etc. Additionally, the last<br />

solution was saved in the file soln.last, although there is no asterisk marking the last solution in<br />

bvceo.out.<br />

Curve Tracer 255


Examples<br />

Soln #Vctrl Ictrl Vcurr Icurr<br />

1 0.000000e+00 6.640216e-19 0.000000e+00 -1.365566e-18<br />

2 1.000000e-01 4.536067e-17 1.000000e-01 1.341435e-19<br />

3 3.000000e-01 1.625653e-14 2.519331e-01 1.110998e-19<br />

4 7.000000e-01 1.258870e-13 3.047182e-01 -1.057191e-19<br />

*5 1.500000e+00 5.969134e-13 3.445794e-01 -6.215285e-20<br />

6 3.100000e+00 9.010139e-13 3.543271e-01 3.507138e-20<br />

7 6.300000e+00 1.937138e-12 3.725358e-01 -2.823590e-20<br />

8 1.270000e+01 5.523255e-12 3.960896e-01 4.401873e-20<br />

9 1.303983e+01 7.789304e-12 4.048689e-01 7.261209e-20<br />

10 1.331971e+01 1.233772e-11 4.167027e-01 -2.392157e-20<br />

11 1.351640e+01 2.144845e-11 4.310039e-01 -3.015821e-20<br />

12 1.364322e+01 3.968015e-11 4.469627e-01 -2.586306e-20<br />

13 1.375854e+01 1.126228e-10 4.740828e-01 -3.055604e-20<br />

14 1.383613e+01 4.044189e-10 5.073686e-01 2.662945e-20<br />

15 1.389759e+01 1.571640e-09 5.427516e-01 -6.997169e-20<br />

16 1.395684e+01 6.240608e-09 5.787376e-01 4.017923e-20<br />

17 1.401870e+01 2.491678e-08 6.149198e-01 5.800187e-20<br />

18 1.408638e+01 9.962280e-08 6.512089e-01 2.496370e-19<br />

19 1.416639e+01 3.984529e-07 6.876080e-01 -7.339886e-20<br />

20 1.427994e+01 1.593805e-06 7.241677e-01 -1.364024e-19<br />

21 1.450307e+01 6.375431e-06 7.610238e-01 1.500092e-21<br />

22 1.508580e+01 2.550435e-05 7.985911e-01 1.631978e-19<br />

23 1.653961e+01 1.020878e-04 8.384486e-01 -8.203646e-20<br />

24 1.743830e+01 2.563710e-04 8.696470e-01 -1.839253e-19<br />

25 1.721139e+01 3.337692e-04 8.797490e-01 2.752857e-21<br />

26 1.608475e+01 4.874279e-04 8.953096e-01 -6.556564e-20<br />

27 1.467484e+01 6.389540e-04 9.070167e-01 4.997494e-19<br />

28 1.349730e+01 7.523351e-04 9.136248e-01 -3.868294e-19<br />

29 1.275292e+01 8.310109e-04 9.178346e-01 1.061968e-19<br />

30 1.208031e+01 9.464580e-04 9.248369e-01 7.411538e-21<br />

31 1.149536e+01 1.064806e-03 9.311878e-01 -4.402454e-19<br />

32 1.072725e+01 1.238428e-03 9.391391e-01 -1.234551e-19<br />

33 1.032238e+01 1.369005e-03 9.444611e-01 -5.772530e-19<br />

34 1.018224e+01 1.459092e-03 9.480149e-01 3.337310e-19<br />

35 1.012632e+01 1.578200e-03 9.526528e-01 5.859350e-19<br />

36 1.015785e+01 1.736090e-03 9.586154e-01 1.039733e-19<br />

37 1.033709e+01 2.050704e-03 9.697170e-01 3.375426e-19<br />

38 1.082413e+01 2.676637e-03 9.898170e-01 -5.421011e-20<br />

39 1.216369e+01 3.909572e-03 1.027822e+00 -3.201785e-19<br />

40 1.300269e+01 4.379769e-03 1.042119e+00 3.947174e-19<br />

41 1.372551e+01 4.658421e-03 1.050298e+00 -6.979551e-19<br />

42 1.482329e+01 4.950367e-03 1.058339e+00 1.677125e-19<br />

43 1.612039e+01 5.192516e-03 1.064355e+00 1.389134e-19<br />

44 1.757689e+01 5.415434e-03 1.068990e+00 -4.269046e-19<br />

45 1.886187e+01 5.634169e-03 1.071871e+00 -2.778268e-19<br />

46 2.017690e+01 6.057492e-03 1.073324e+00 6.572976e-19<br />

Figure 13.3 The output file bvceo.out for the BV CEO example.<br />

256 Curve Tracer


Examples<br />

Collector Current / amps/µm<br />

Collector Voltage / volts<br />

Figure 13.4 Collector current vs. collector voltage for the BV CEO example.<br />

At the top of bvceo.out, column headings mark the solution number, control-electrode<br />

(collector) voltage, control-electrode current, open-contact (base) voltage, <strong>and</strong> open-contact current as<br />

Soln, Vctrl, Ictrl, Vcurr, <strong>and</strong> Icurr, respectively. We see that the collector voltages for the first, second,<br />

<strong>and</strong> last solutions are 0.0, 0.1, <strong>and</strong> 20.18V, respectively. The final solution does not have a collector<br />

voltage of exactly 20V, as specified in bvceo.tra, because Tracer only guarantees that the curve will<br />

be traced out to at least 20V, not exactly 20V.<br />

Other information regarding the trace must be inferred from the <strong>PISCES</strong> output displayed<br />

while Tracer is running (not shown). From this output we can see that voltage biasing was used on<br />

Curve Tracer 257


Examples<br />

the open base contact for the first few solutions, in which the collector current is too small to allow<br />

stable use of zero-current biasing. A few <strong>PISCES</strong> simulations are actually run for each I-V point, with<br />

minor adjustments on the base voltage being made until the base current is less than ABSMAX. When<br />

the collector current is large enough, Tracer places a zero-current bias on the base. We can also see<br />

that a variable load resistor is placed on the collector when the collector current exceeds MINCUR.<br />

After this, the step sizes are regulated to produce a smooth curve.<br />

13.2 GaAs MESFET<br />

In this example, the drain of a GaAs MESFET is biased with respect to the grounded source with the<br />

gate set at -0.5V <strong>and</strong> the substrate grounded. Before Tracer can be used to sweep the drain electrode,<br />

a solution must be created, using <strong>PISCES</strong>-<strong>2ET</strong>, to set up the gate bias. The input deck shown in<br />

Figure 13.5 defines the device, finds the thermal-equilibrium solution, <strong>and</strong> then steps the gate bias to<br />

-0.5V while holding the other electrodes at 0V. The mesh <strong>and</strong> solution files are saved to the files<br />

mes.mesh <strong>and</strong> mesvg.5.ini, respectively.<br />

For Tracer, another <strong>PISCES</strong> input deck must be created to use as the input file (Figure<br />

13.6). In mesvg.5.pis the mesh file generated by mes.pis, mes.mesh, is read in, preempting the mesh,<br />

eliminate, region, electrode, <strong>and</strong> doping cards. Since Tracer will be starting with a previous solution,<br />

the name of the solution file to load must be given in mesvg.5.pis. This load statement appears directly<br />

above the solve card with the file name mesvg.5.ini, the solution file generated by mes.pis.<br />

The trace file mesvg.5.tra is shown in Figure 13.7. In the three FIXED cards, the voltages of<br />

the source <strong>and</strong> substrate (num=1 <strong>and</strong> num=4, respectively, as defined by mes.pis) have been fixed at<br />

0V, while the gate voltage (num=2) has been fixed at -0.5V. The current through the gate electrode<br />

will be recorded for each solution in the output file. The CONTROL card of mesvg.5.tra specifies that<br />

the drain (num=3) will be swept from 0.0V to a voltage where the current is greater than or equal to<br />

–4<br />

4.1×10<br />

A/µm, with an initial drain voltage step of 0.2V. On the SOLVE card, FIRSTSOLUTION<br />

is specified as LOAD, consistent with the input file mesvg.5.pis, <strong>and</strong> <strong>PISCES</strong>-<strong>2ET</strong> is designated as<br />

the simulator to use. Since VERBOSE is NO on the OPTION card, only the essential I-V data will be<br />

recorded in the output file. The iteration limit is 30, consistent with mesvg.5.pis, <strong>and</strong> every ninth<br />

solution, as well as those corresponding to turning points, will have its solution file saved.<br />

To run Tracer, the following comm<strong>and</strong> is typed at the prompt:<br />

machine-prompt% tracer mesvg.5.pis mesvg.5.tra mesvg.5.out<br />

258 Curve Tracer


Examples<br />

title mes.pis<br />

mesh nx=53 ny=41 rect diag.fli outf=mes.mesh<br />

x.m n=1 l=0 r=1<br />

x.m n=5 l=1 r=0.85<br />

x.m n=8 l=2 r=1.3<br />

x.m n=11 l=3 r=0.7<br />

x.m n=13 l=3.5 r=1<br />

x.m n=18 l=4 r=0.8<br />

x.m n=24 l=4.5 r=1.15<br />

x.m n=32 l=5 r=0.85<br />

x.m n=40 l=6 r=1.2<br />

x.m n=43 l=7 r=1<br />

x.m n=46 l=8 r=1.35<br />

x.m n=49 l=9 r=0.7<br />

x.m n=53 l=10 r=1.15<br />

y.m n=1 l=-.01 r=1<br />

y.m n=4 l=0.0 r=1<br />

y.m n=7 l=0.01 r=1<br />

y.m n=9 l=0.025 r=1<br />

y.m n=20 l=0.19 r=1<br />

y.m n=26 l=0.36 r=1.15<br />

y.m n=39 l=3.0 r=1.25<br />

y.m n=41 l=6.0 r=1.25<br />

elim y.dir iy.lo=1 iy.hi=3 ix.lo=1 ix.hi=4<br />

elim y.dir iy.lo=1 iy.hi=2 ix.lo=1 ix.hi=4<br />

elim y.dir iy.lo=1 iy.hi=6 ix.lo=19 ix.hi=31<br />

elim y.dir iy.lo=1 iy.hi=5 ix.lo=19 ix.hi=31<br />

elim y.dir iy.lo=1 iy.hi=4 ix.lo=19 ix.hi=31<br />

elim y.dir iy.lo=1 iy.hi=3 ix.lo=19 ix.hi=31<br />

elim y.dir iy.lo=1 iy.hi=3 ix.lo=50 ix.hi=53<br />

elim y.dir iy.lo=1 iy.hi=2 ix.lo=50 ix.hi=53<br />

elim y.dir iy.lo=23 iy.hi=41 ix.lo=2 ix.hi=52<br />

elim y.dir iy.lo=29 iy.hi=41 ix.lo=2 ix.hi=52<br />

elim y.dir iy.lo=33 iy.hi=41 ix.lo=2 ix.hi=52<br />

elim y.dir iy.lo=40 iy.hi=41 ix.lo=2 ix.hi=52<br />

elim x.dir iy.lo=2 iy.hi=40 ix.lo=2 ix.hi=5<br />

elim x.dir iy.lo=2 iy.hi=40 ix.lo=2 ix.hi=52<br />

elim y.dir iy.lo=2 iy.hi=40 ix.lo=2 ix.hi=52<br />

elim x.dir iy.lo=2 iy.hi=40 ix.lo=2 ix.hi=52<br />

elim y.dir iy.lo=2 iy.hi=40 ix.lo=2 ix.hi=52<br />

Curve Tracer 259


Examples<br />

$*** regions<br />

region num=1 ix.lo=1 ix.hi=53 iy.lo=4 iy.hi=41 gaas<br />

region num=2 ix.lo=1 ix.hi=53 iy.lo=1 iy.hi=4 oxide<br />

region num=2 ix.lo=16 ix.hi=34 iy.lo=1 iy.hi=7 oxide<br />

$*** electrodes: 1=source 2=gate 3=drain 4=substrate<br />

elec num=1 ix.lo=1 ix.hi=5 iy.lo=1 iy.hi=4<br />

elec num=2 ix.lo=18 ix.hi=32 iy.lo=1 iy.hi=7<br />

elec num=3 ix.lo=49 ix.hi=53 iy.lo=1 iy.hi=4<br />

elec num=4 ix.lo=1 ix.hi=53 iy.lo=41 iy.hi=41<br />

$*** doping<br />

dop ascii x.l=0.0 x.r=10.0 inf=mei.dop<br />

dop gaus x.l=-1 x.r=3.0 dos=5.0e13 cha=0.0607 peak=-0.0709<br />

+ n.t erfc.lat lat.cha=0.0866<br />

dop gaus x.l=7.0 x.r=11 dos=5.0e13 cha=0.0607 peak=-0.0709<br />

+ n.t erfc.lat lat.cha=0.0866<br />

$*** material<br />

material num=1 eg300=1.42 affinity=4.07 vsat=10.0e6<br />

+ permi=13.1 nc300=4.35e17 nv300=8.35e18<br />

interface qf=-1e12 x.min=0.0 x.max=10 y.min=-.01 y.max=6.0<br />

$*** contact<br />

contact num=2 alu workf=4.84 surf<br />

model conmob fldmob srh<br />

symb newton carrier=0<br />

method itlim=30 trap<br />

solve ini<br />

symb newton carrier=2<br />

solve v2=-0.25<br />

solve v2=-0.5 proj outfil=mesvg.5.ini<br />

end<br />

Figure 13.5 Mesh generation file, mes.pis, for MESFET example.<br />

260 Curve Tracer


Examples<br />

title mesvg.5.pis<br />

option nowarn curvetrace<br />

mesh inf=mes.mesh<br />

material num=1 eg300=1.42 affinity=4.07 vsat=10.0e6<br />

+ permi=13.1 nc300=4.35e17 nv300=8.35e18<br />

interface qf=-1e12 x.min=0.0 x.max=10 y.min=-.01 y.max=6.0<br />

contact num=2 alu workf=4.84 surf<br />

model conmob fldmob srh hypert impact<br />

symb newton carrier=2<br />

method itlim=30<br />

load infil=mesvg.5.ini<br />

solve<br />

end<br />

Figure 13.6 The input file mesvg.5.pis for the GaAs MESFET example.<br />

fixed num = 1 type=voltage value=0.0 record = no<br />

fixed num = 2 type=voltage value=-0.5 record = yes<br />

fixed num = 4 type=voltage value=0.0 record = no<br />

control num=3 begin=0.0 initstep=0.2 control=imax end=4.1e-4<br />

solve first=load sim=pisc<br />

option verbose=no itlim=30 turnpts=yes freq=9<br />

Figure 13.7 The trace file mesvg.5.tra for the GaAs MESFET example.<br />

Figure 13.9 shows the output file, mesvg.5.out, in which the solution number, drain voltage,<br />

drain current, <strong>and</strong> gate current have been recorded as Soln, Vctrl, Ictrl, <strong>and</strong> I2, respectively. The<br />

solution files of points 9, 18, 27, <strong>and</strong> 29 (a turning point), as well as of the last point (not marked in the<br />

output file) were saved as soln.9, soln.18, soln.27, soln.29, <strong>and</strong> soln.last, respectively. A plot of the<br />

drain current vs. drain voltage is shown in Figure 13.8.<br />

Curve Tracer 261


Examples<br />

Figure 13.8 Drain current vs. drain voltage for the GaAs MESFET<br />

262 Curve Tracer


Examples<br />

#Soln #Vctrl Ictrl I2<br />

1 0.000000e+00 1.903203e-16 -4.790550e-16<br />

2 2.000000e-01 4.411067e-05 -1.166555e-15<br />

3 6.000000e-01 1.233240e-04 -2.412571e-15<br />

4 1.400000e+00 1.985247e-04 -3.623966e-15<br />

5 3.000000e+00 2.104332e-04 -3.936303e-15<br />

6 4.600000e+00 2.155307e-04 -4.374722e-13<br />

7 6.200000e+00 2.189477e-04 -2.059647e-11<br />

8 7.000000e+00 2.202971e-04 -6.990150e-11<br />

*9 7.800000e+00 2.214088e-04 -1.707327e-10<br />

10 8.600000e+00 2.224028e-04 -3.638914e-10<br />

11 9.400000e+00 2.232137e-04 -6.557824e-10<br />

12 1.020000e+01 2.238725e-04 -1.043467e-09<br />

13 1.180000e+01 2.249711e-04 -2.208417e-09<br />

14 1.227965e+01 2.252584e-04 -2.671811e-09<br />

15 1.258651e+01 2.254261e-04 -2.980391e-09<br />

16 1.290104e+01 2.255882e-04 -3.308354e-09<br />

17 1.354587e+01 2.258872e-04 -3.995203e-09<br />

*18 1.441648e+01 2.262760e-04 -5.076190e-09<br />

19 1.517061e+01 2.266211e-04 -5.076190e-09<br />

20 1.818697e+01 2.280737e-04 -1.389891e-08<br />

21 3.025183e+01 2.340778e-04 -1.841648e-07<br />

22 3.326644e+01 2.357641e-04 -3.360147e-07<br />

23 4.526743e+01 2.472668e-04 -2.984657e-06<br />

24 4.787346e+01 2.524107e-04 -4.783998e-06<br />

25 5.085805e+01 2.612441e-04 -4.783998e-06<br />

26 5.436859e+01 2.808594e-04 -1.633647e-05<br />

*27 5.639889e+01 3.073427e-04 -2.612463e-05<br />

28 5.729060e+01 3.385567e-04 -3.460666e-05<br />

*29 5.719992e+01 3.725458e-04 -3.844234e-05<br />

30 5.586886e+01 4.090192e-04 -3.611460e-05<br />

31 5.534786e+01 4.193991e-04 -3.517154e-05<br />

Figure 13.9 The output file mesvg.5.out for the GaAs MESFET.<br />

Reference<br />

Curve Tracer 263


Examples<br />

[1] R.J.G. Goossens, S.G. Beebe, Z. Yu, <strong>and</strong> R.W. Dutton, “An Automatic Biasing Scheme for<br />

Tracing Arbitrarily Shaped I-V Curves,” IEEE Trans. on Computer-Aided Design, vol. 41, pp.<br />

310-317, March 1994.<br />

264 Curve Tracer


PART III<br />

Mixed-Mode Device/Circuit Simulator<br />

Francis M. Rotella, Zhiping Yu, <strong>and</strong> Robert W. Dutton


Acknowledgment<br />

The prototype to the mixed-mode simulator was first developed in the summer of 1992 by Hui Wang,<br />

a visiting scholar from Tsinghua University, Beijing, China [1]. Funding for this project came from<br />

AASERT contract DAAH04-93-G-0178 on the parent Army contract DAAL03-91-G-0152. The<br />

MESFET example is provided by Matsushita Electric Industrial Co. in Japan <strong>and</strong> the GaAs/AlGaAs<br />

LED example is from OCD, HP, in San Jose, CA.<br />

Mixed-Mode Device/Circuit Simulator 265


266 Mixed-Mode Device/Circuit Simulator


CHAPTER 14<br />

Mixed-Mode Circuit <strong>and</strong><br />

Device Simulation<br />

14.1 Introduction<br />

The <strong>Stanford</strong> mixed-mode interface provides a mechanism to include complex numerical devices in<br />

the SPICE circuit simulator when compact models are either inadequate or not available. Such devices<br />

include GaAs MESFET’s, heterostructure devices, short channel MOSFET’s, <strong>and</strong> optical devices.<br />

SPICE3f2 developed at UC Berkeley is used as the circuit simulator upon which the numerical device<br />

model is added.<br />

The mixed-mode simulator comes configured to work with <strong>Stanford</strong>’s version of <strong>PISCES</strong>-<strong>2ET</strong>.<br />

However, the modularity of the interface between SPICE <strong>and</strong> <strong>PISCES</strong> is such that any other device<br />

simulator may be interfaced with SPICE. Refer to “System Reconfiguration for a Different Device<br />

Simulator” on page 303 for more information.<br />

SPICE has many different types of analyses which <strong>Stanford</strong>’s mixed-mode simulator utilizes.<br />

Currently, a numerical device may be used in DC, AC small-signal, <strong>and</strong> transient analyses. Pole zero<br />

analysis has been included; however, this feature tends to have trouble in convergence for all but the<br />

simplest of circuits. Sensitivity analysis will be added in a later release.<br />

Mixed-Mode Device/Circuit Simulator 267


Mixed-Mode Circuit <strong>and</strong> Device Simulation<br />

14.2 Equations for Circuit Simulation<br />

A typical circuit simulator solves the non-linear circuit equations by a modified form of Newton-<br />

Raphson (NR) [2]. The non-linear system of equations for the circuit can be represented as shown in<br />

the following equation according to the Kirchoff’s current law:<br />

FV ( ) = 0<br />

(14.1)<br />

where V is the vector of node voltages <strong>and</strong> F represents the sum of the currents into each node in the<br />

circuit, <strong>and</strong> both V <strong>and</strong> F have dimension of N, the number of nodes in the circuit.<br />

Applying Newton-Raphson to the above equation yields the linear matrices shown in Equation 14.2<br />

where J( V)<br />

is the Jacobian as given in Equation 14.3.<br />

+ = V i – J – 1 ( V i )FV ( i )<br />

V i 1<br />

(14.2)<br />

The index i is the iteration count during NR iterations.<br />

J( V)<br />

=<br />

∂F 1 ∂F 1 ∂F 1<br />

…<br />

∂V 1 ∂V 2 ∂ V N<br />

… …<br />

∂F N ∂F N ∂F N<br />

…<br />

∂V 1 ∂V 2 ∂ V N<br />

(14.3)<br />

For each Newton iteration, the previous voltage V i is known <strong>and</strong> hence V i + 1 can be computed. A<br />

circuit interpretation of Equation 14.2 <strong>and</strong> the Jacobian matrix (Equation 14.3) can be made as follows.<br />

Because each Jacobian element has units of the conductance, we hereafter use G to replace J. By<br />

multiplying G on both sides of Equation 14.2 from the left, one obtains the following set of linear<br />

equations at ( i + 1)<br />

-th iteration where i starts from 0:<br />

G i V i + 1 = G i V i – F i<br />

(14.4)<br />

The matrix G i <strong>and</strong> vector F i are evaluated at V i . The above equation represents a linear circuit as far<br />

V i + 1<br />

G i<br />

as node voltages because both the coefficient <strong>and</strong> the source term, i.e., the right h<strong>and</strong> side<br />

V i + 1<br />

G i<br />

(RHS) of the above equation, are independent from . Furthermore, can be interpreted as the<br />

268 Mixed-Mode Device/Circuit Simulator


Mixed-Mode Circuit <strong>and</strong> Device Simulation<br />

linear conductance components, including both the linear components in the original circuit <strong>and</strong><br />

differential conductance at V i , in the equivalent circuit. G i V i – F i can be viewed as the current<br />

sources. For a more detailed discussion, refer to McCalla [2].<br />

The NR iteration is terminated when the convergence is reached, i.e., the change in V between two<br />

consecutive iterations is smaller than a predefined tolerance. In SPICE, it is required that the current<br />

change in each circuit branch is also below certain criterion when the convergence is considered to be<br />

reached.<br />

Transient analysis is performed in a similar manner. For each time step, Newton-Raphson iterations<br />

are performed until convergence is met. In addition, the truncation error due to the time discretization<br />

is checked to determine if the time step is acceptable in terms of accuracy. If this error is too large, the<br />

time step is reduced <strong>and</strong> the computation is repeated.<br />

For AC analysis, the DC solution is first sought <strong>and</strong> then the non-linear devices are linearized at the<br />

solution. This small signal equivalent circuit is used to find the AC response given an AC excitation<br />

vector.<br />

14.3 Equations for Device Simulation<br />

The details of the <strong>PISCES</strong> device simulator is discussed in Part I of this manual. This section discusses<br />

those details which are relevant to mixed-mode simulation.<br />

The device simulator is responsible for supplying the terminal currents <strong>and</strong> the admittance matrix at<br />

the given voltage boundary conditions. The device simulator first solves FwVt ( , , ) = 0 where<br />

w = f( ψ, n,<br />

p)<br />

for the drift/diffusion model <strong>and</strong> w = f ( ψ, n, p, T n , T p , T L ) for the duel energy<br />

transport model (see PART I) V is the terminal voltage on the device. From the solution, the terminal<br />

current density <strong>and</strong> conductance matrix can be calculated. For AC analysis, the admittance matrix must<br />

be calculated using frequency dependant AC analysis which is available in <strong>PISCES</strong>.<br />

Mixed-Mode Device/Circuit Simulator 269


Mixed-Mode Circuit <strong>and</strong> Device Simulation<br />

14.4 Mixed-Mode Interface<br />

The mixed-mode interface is the code written at <strong>Stanford</strong> to provide the communication between<br />

SPICE <strong>and</strong> <strong>PISCES</strong>. Figure 14.1 shows how the two simulators are configured to talk with each other.<br />

Similarly to an analytic model (like a BJT or MOSFET), a numerical device is seen as just another<br />

block in SPICE. This block communicates to the numerical device simulator through an interface<br />

routine. Like other analytic models, the numerical device provides terminal currents (<strong>and</strong><br />

conductances) for given node voltages. The difference is that the latter finds the solution numerically.<br />

This interface utilizes a two level Newton scheme to solve a circuit that includes numerical devices.<br />

On the upper level is the circuit iterations to determine the node voltages. For each one of these<br />

Circuit Simulator<br />

SPICE<br />

Analytic BJT Model<br />

Ic = F(Vbe,Vcb)<br />

Analytic MOS Model<br />

Id = F(Vgs,Vds,Vbs)<br />

Numerical Device<br />

Model<br />

Interface<br />

<strong>PISCES</strong><br />

Device Simulator<br />

I = solution to semiconductor<br />

equations <strong>and</strong> models<br />

Figure 14.1<br />

Configuration of a numerical device model in the SPICE circuit<br />

simulator.<br />

270 Mixed-Mode Device/Circuit Simulator


Mixed-Mode Circuit <strong>and</strong> Device Simulation<br />

SPICE<br />

Find Bias for<br />

Numerical<br />

Devices<br />

Write<br />

Numerical Device<br />

Simulator<br />

Input Deck<br />

<strong>PISCES</strong>-IIB<br />

<strong>PISCES</strong>-<strong>2ET</strong><br />

Vendor <strong>PISCES</strong><br />

Hal’s Simulator<br />

Execute<br />

Numerical Device<br />

Runs<br />

SPICE-TCAD<br />

Interface<br />

Execute<br />

Numerical Device<br />

Simulation<br />

Sockets<br />

TCP<br />

PVM<br />

TCL<br />

Load Device<br />

Simulation Results in<br />

G Matrix <strong>and</strong> I Vector<br />

Read<br />

Numerical Device<br />

Simulator Results<br />

<strong>PISCES</strong>-IIB<br />

<strong>PISCES</strong>-<strong>2ET</strong><br />

Vendor <strong>PISCES</strong><br />

Hal’s Simulator<br />

Figure 14.2<br />

Mixed-mode interface routines<br />

iterations, the device simulator solves for the terminal currents <strong>and</strong> conductance matrix using another<br />

Newton iteration within the device simulator (the lower level). The advantage of this method is the<br />

modularity created in the code.<br />

Figure 14.2 shows the flow diagram for the execution of a single iteration step at the upper level. The<br />

blocks on the far right h<strong>and</strong> side represents different modules for the device simulator <strong>and</strong>/or method<br />

of execution. The sequence of steps is as follows.<br />

1. Determine the voltage boundary conditions, time step, <strong>and</strong>/or frequency SPICE<br />

requires for the current iteration/solution. The exact information depends on<br />

the type of analysis.<br />

2. Create the numerical device input deck that solves for the information<br />

requested by SPICE. A separate module exists for each device simulator that is<br />

interfaced to SPICE.<br />

Mixed-Mode Device/Circuit Simulator 271


Mixed-Mode Circuit <strong>and</strong> Device Simulation<br />

3. Execute the numerical device simulations on the current host or on a remote<br />

host by some specified protocol.<br />

4. Read the results of that simulation.<br />

5. Based upon the analysis type, load the SPICE conductance (admittance) matrix<br />

<strong>and</strong> current vector.<br />

6. Repeat for each device at each circuit iteration.<br />

Since a device simulation is required for each circuit iteration, the interface algorithms are given some<br />

intelligence to limit the computations required by the numerical device. The most important aspects or<br />

those algorithms are as follows:<br />

• Maintain files containing previous device solutions <strong>and</strong> utilize those<br />

solutions as a starting point for the requested bias.<br />

• Maximize the use of SPICE’s predictor corrector routines to decrease<br />

the calls to the device simulator.<br />

• Use a-priori knowledge of the device behavior to provide better guess<br />

of node voltages <strong>and</strong> to limit changes across pn junctions<br />

14.5 Computational Cost <strong>and</strong> Benefits<br />

The two level Newton method for mixed circuit/device simulation incurs a significant computational<br />

cost. Mayaram had investigated that cost for a variety of algorithms including the two level<br />

Newton [3]. The most common of the alternate algorithms is the full Newton which Rollins had<br />

implemented previously [4].<br />

In the full level Newton algorithm, the circuit matrix <strong>and</strong> device matrix are combined into a single<br />

matrix <strong>and</strong> all variables are solved simultaneously. As a result, the computational time is reduced, but<br />

there are trade-offs.<br />

The two level Newton algorithm has the following advantages:<br />

1. It has better convergence for DC analysis if node voltages are unknown. The<br />

full Newton requires all circuit node voltages to be specified within a certain<br />

percentage; otherwise, it fails to converge.<br />

272 Mixed-Mode Device/Circuit Simulator


Mixed-Mode Circuit <strong>and</strong> Device Simulation<br />

2. The modularity in two level Newton allows many device simulators to be used<br />

simultaneously. For example, <strong>PISCES</strong> may be used for st<strong>and</strong>ard devices in the<br />

circuit whereas an in house device simulator may be used for novel devices<br />

3. It is easier to implement a parallel version of the two level Newton algorithm.<br />

Each numerical device simulation can be relegated to a node of a parallel<br />

machine whereas the matrix for the full Newton algorithm has to be partitioned<br />

to each node.<br />

4. By utilizing SPICE as the circuit simulator, any improvements/modifications in<br />

SPICE automatically benefit the mixed-mode simulation.<br />

Likewise, there are a number of disadvantages to the two level Newton algorithm:<br />

1. Given a good estimate of all the circuit node voltages, the full Newton<br />

algorithm converges more quickly than the two level Newton.<br />

2. Similarly, since transient analysis involves small voltage changes at each time<br />

step making the problem well behaved, the full Newton method converges<br />

much more quickly for this case as well. Mayaram determined a factor of 1.7<br />

times as fast [3].<br />

14.6 Parallelization<br />

In order to reduce the overall user time per circuit iteration, the numerical devices (i.e. the lower level<br />

Newton iterations) can be solve on different nodes on a network of machines. Because each device<br />

simulation is an independent unit, parallelization is relatively trivial.<br />

The mixed-mode interface contains two mechanisms by which the parallel simulations are executed.<br />

The most basic of these algorithms utilizes st<strong>and</strong>ard Unix sockets. A more elegant mechanism involves<br />

PVM (Parallel Virtual Machine) which allows a heterogenous network of computers to act like a<br />

parallel machine [5]. Figure 14.2 shows a block diagram of how PVM is utilized.<br />

The mixed-mode interface spawns a queueing process on a node of the virtual machine. This process<br />

ascertains the number of nodes that can be used for a device simulation. Whenever the interface<br />

program needs solutions from a number of numerical devices, it sends a request to the queueing<br />

Mixed-Mode Device/Circuit Simulator 273


Mixed-Mode Circuit <strong>and</strong> Device Simulation<br />

Node 1<br />

Node 2<br />

SPICE<br />

Mixed-Mode<br />

Interface<br />

Queueing<br />

Controller<br />

for PVM<br />

Execution<br />

Node 3<br />

Sequential<br />

Execution<br />

Node 5<br />

Node 4<br />

Parallel<br />

Virtual<br />

Machine<br />

Figure 14.3<br />

Execution of the device simulations.<br />

program which then executes the device simulations on the available nodes. Once the device<br />

simulations are complete, the queueing program sends back the solutions to the interface. As a result,<br />

the computational load on the nodes is optimized.<br />

274 Mixed-Mode Device/Circuit Simulator


CHAPTER 15<br />

Use of Mixed-Mode Simulation<br />

15.1 Introduction<br />

The <strong>Stanford</strong> mixed-mode simulator provides a mechanism to incorporate numerical devices into a full<br />

circuit simulation with linear <strong>and</strong> non-linear components. The mixed-mode simulator uses the industry<br />

st<strong>and</strong>ard SPICE as the circuit simulator with an added model for the numerical device. This numerical<br />

model is configured modularly such that any device simulator may be added. (Refer to “System<br />

Reconfiguration for a Different Device Simulator” on page 303 for more information.) For the purpose<br />

of this document, <strong>Stanford</strong> <strong>PISCES</strong> is used.<br />

This chapter describes how to include a numerical model in a circuit simulation. All descriptions are<br />

based upon SPICE version 3f <strong>and</strong> hereafter referred to as SPICE only.<br />

15.2 New SPICE Cards<br />

Upon installing <strong>and</strong> configuring SPICE, the numerical model may be utilized in any circuit. The next<br />

two sections describe how to use the SPICE element card to specify the numerical device instance <strong>and</strong><br />

the SPICE .model card for setting the parameters for the numerical device. The format for the cards<br />

is given in the SPICE manual notation [6].<br />

Mixed-Mode Device/Circuit Simulator 275


Use of Mixed-Mode Simulation<br />

COMMAND<br />

SPICE Element Card<br />

As with all element cards in SPICE, this card describes a specific instance<br />

of the numerical device in the circuit. The name of this instance is used as<br />

the predecessor for all files accessed in solving the specific numerical<br />

device.<br />

SYNTAX<br />

Nxxxxxxxx n1 n2 . . . nM mname <br />

+ <br />

PARAMETERS<br />

Nxxxxxxxx<br />

The N identifies the element type as being a numerical device <strong>and</strong> the x’s<br />

are used to represent a unique character string, which can be up to eight<br />

characters long, to identify the device.<br />

n1 n2 . . . nM<br />

The node numbers in the circuit to which the nM nodes of the numerical<br />

device are connected. They correspond in sequence to the electrodes of the<br />

device as specified in <strong>PISCES</strong>. There is a maximum limit of ten nodes per<br />

device. The voltage on any node is specified with respect to the last node as<br />

given by the nodes parameter on the .model card.<br />

276 Mixed-Mode Device/Circuit Simulator


Use of Mixed-Mode Simulation<br />

mname<br />

The model name links this instance of the numerical device to the<br />

appropriate .model card.<br />

area<br />

The area or length factor for the device. All currents, capacitances, <strong>and</strong><br />

conductances are multiplied by this value. The default is 1.0.<br />

off<br />

If off is specified, the DC operating point is determined with the terminal<br />

voltages for that instance of the device set to zero.<br />

ic<br />

These initial conditions for the device are used with the UIC specification<br />

on the .tran card. Each voltage initial condition is specified with respect to<br />

the last node.<br />

temp<br />

Operating temperature of the device. If none is given, the circuit<br />

temperature is used as the default.<br />

EXAMPLES<br />

Nbjt1 8 7 5 npndev 5<br />

This adds a numerical device with the name of Nbjt1 connected to circuit<br />

nodes 8, 7, <strong>and</strong> 5. These nodes correspond to electrode numbers 1, 2, <strong>and</strong> 3<br />

in the numerical device’s mesh. Electrode number 3 is taken as ground.<br />

Analogously with SPICE’s compact model for a bipolar junction transistor,<br />

Electrode 1 (Node 8) is the collector, Electrode 2 (Node 7) is the base, <strong>and</strong><br />

Mixed-Mode Device/Circuit Simulator 277


Use of Mixed-Mode Simulation<br />

Electrode 3 (Node 5) is the emitter. An area factor of 5.0 scales the device<br />

appropriately.<br />

Npn1 6 4 pndev area=6.5 ic=0.75<br />

This is a two node numerical device with circuit Node 6 corresponding to<br />

Electrode 1 <strong>and</strong> circuit Node 4 corresponding to Electrode 2. An initial<br />

condition of V 64 =0.75 V is placed on the device. The area is scaled by a<br />

factor of 6.5.<br />

BUGS<br />

The ic <strong>and</strong> off parameter have not been tested extensively.<br />

Some software paths have not been tested <strong>and</strong> may result in problems.<br />

278 Mixed-Mode Device/Circuit Simulator


Use of Mixed-Mode Simulation<br />

COMMAND<br />

SPICE Model Card<br />

As with all .model cards in SPICE, this one is used to describe all<br />

instances of the same type. Common parameters are specified <strong>and</strong> used by<br />

all instances that reference the given model name.<br />

SYNTAX<br />

.model mname mtype nodes=ival [dtype=ival] [vto=rval]<br />

+ [model=ival] [method=ival] [vmax=rval] [vmin=rval]<br />

+ [hifreq=rval] [maxtrys=ival] [level=ival] [float=ival vbc=rval<br />

+ bcdep=ival] [oedev=ival] [tnom=rval]<br />

PARAMETERS<br />

mname<br />

Model name used for reference on the element cards. The mixed-mode<br />

interface expects to find certain files with this name as the predecessor to<br />

the file names.<br />

mtype<br />

The model type is given by a word mnemonic from Table 15.1. The<br />

mnemonic indicates the polarity of the numerical device <strong>and</strong> the<br />

mechanism by which the numerical simulation is executed.<br />

A plain pis device (independent of polarity) tells the mixed-mode interface<br />

to execute each of the numerical device runs sequentially on the same<br />

machine as SPICE. For the prl model, the mixed-mode interface uses<br />

UNIX sockets to execute each numerical simulation on a different machine.<br />

Mixed-Mode Device/Circuit Simulator 279


Use of Mixed-Mode Simulation<br />

For the pvm model, the mixed-mode interface uses PVM message passing<br />

to send the biases to a queueing routine <strong>and</strong> ultimately a “slave” routine on<br />

a node of the parallel virtual machine. Refer to “Running a Mixed-Mode<br />

Simulation” on page 286 for more information.<br />

Table 15.1<br />

mtype<br />

pis<br />

npis<br />

ppis<br />

prl<br />

nprl<br />

pprl<br />

pvm<br />

npvm<br />

ppvm<br />

Description<br />

generic numerical device (default)<br />

n polarity numerical device (npn, nmos, pn junction)<br />

p polarity numerical device (pnp, pmos, np junction)<br />

generic numerical device simulated in parallel<br />

n polarity numerical device simulated in parallel<br />

p polarity numerical device simulated in parallel<br />

generic numerical device simulated using pvm<br />

n polarity numerical device simulated using pvm<br />

p polarity numerical device simulated using pvm<br />

nodes<br />

The number of numerical device nodes. This parameter defaults to 10 if no<br />

value is given. SPICE does not have a problem if this number is larger than<br />

the actual number of electrodes on the numerical device. The unidentified<br />

nodes are connected to ground by default. Likewise, one must be certain<br />

that the numerical device simulator can h<strong>and</strong>le a “solve” statement with<br />

voltages specified for electrodes that do not exist. To avoid this problem,<br />

one should always specify this parameter.<br />

The nodes parameter may be less than the actual number of nodes in the<br />

numerical device. In this case, the extra nodes on the numerical device are<br />

considered floating <strong>and</strong> always ignored by the SPICE circuit simulator.<br />

Other .model parameters related to floating nodes include float, vbc, <strong>and</strong><br />

bcdep. These parameters allow the user to switch boundary conditions on<br />

the floating node during a DC circuit solution.<br />

280 Mixed-Mode Device/Circuit Simulator


Use of Mixed-Mode Simulation<br />

dtype<br />

This integer value provides SPICE with some a-priori knowledge of the<br />

device behavior. This parameter is not necessary, but is useful in achieving<br />

circuit convergence. Specifying a device type allows SPICE to make good<br />

guesses <strong>and</strong> limit voltage changes across pn junctions. The supported<br />

devices <strong>and</strong> their integer representations are configured in the NPISCdefs.h<br />

file. The default configuration is given in Table 15.2. The mtype parameter<br />

determines the polarity of the device. The electrode sequence for the<br />

electrodes is analogous to the SPICE compact model equivalents.<br />

Table 15.2<br />

dtype Description Electrode Sequence<br />

0 generic (default) does not matter<br />

1 BJT Collector Base Emitter Substrate<br />

2 MOSFET Drain Gate Source Bulk<br />

3 diode Anode Cathode<br />

4 MESFET Drain Gate Source Bulk<br />

5 LED Anode Cathode<br />

6 Inverter<br />

Psource Pgate Pdrain Ndrain Ngate<br />

Nsource Pbulk Nbulk<br />

7 Resistor Contact1 Contact2 Substrate (Cathode of diode)<br />

8 JFET Drain Gate1 Gate2 Source<br />

vt0 or vto<br />

This parameter represents the absolute value of the turn on voltage for the<br />

device. For a bipolar junction transistor it is Vbe on , for a diode it is Vd on ,<br />

<strong>and</strong> for a FET it is Vgs on . The default value at room temperature is 0.7 V<br />

which is typical for a silicon pn junction. The polarity of the device model<br />

determines the sign.<br />

Mixed-Mode Device/Circuit Simulator 281


Use of Mixed-Mode Simulation<br />

vmax<br />

This is the maximum voltage (in signed real number) placed on any<br />

numerical device electrode with respect to the reference electrode. The<br />

default value is 50.0 volts which one needs to increase for power devices.<br />

vmin<br />

This is the minium voltage (in signed real number) placed on any numerical<br />

device electrode with respect to the reference electrode of that numerical<br />

device. The default value is -50.0 volts.<br />

hifreq<br />

This value separates low <strong>and</strong> high frequency simulation of the numerical<br />

device. When the circuit frequency is below hifreq, the device’s small<br />

signal parameters are calculated from a zero frequency device simulation.<br />

When the circuit frequency is above hifreq, the device’s small signal<br />

parameters are calculated from a small signal device simulation at the given<br />

frequency. The trade-off is accuracy versus simulation time. The default<br />

value for hifreq is 1 kHz.<br />

maxtrys<br />

The maximum number of attempts the mixed-mode interface tries to get the<br />

device simulation to converge. Different bias stepping schemes are<br />

attempted with each try.<br />

level<br />

This integer represents a specific device simulator as defined in the<br />

NPISCdefs.h. Currently, the only one supported (<strong>and</strong> the default) is<br />

<strong>Stanford</strong> <strong>PISCES</strong> which is defined as level=0. This integer value<br />

determines how the method <strong>and</strong> model parameters are interpreted as well<br />

as the calling of the correct device simulator. More levels may be added<br />

282 Mixed-Mode Device/Circuit Simulator


Use of Mixed-Mode Simulation<br />

so that other device simulators may be used in a mixed-mode simulation.<br />

Refer to “Adding Another Device Simulator” on page 311 for more<br />

information.<br />

model<br />

This is an integer value for the binary encoded representation of the model<br />

card in the device simulator input deck. The meaning of the integer value is<br />

described in the NUMDEVdefs.h file <strong>and</strong> interpreted by a routine<br />

specifically written for that device simulator. If this parameter is not<br />

specified <strong>and</strong> the file mname.model exists, the model card is taken as<br />

the content of that file. If neither is given, this card is not included in the<br />

input deck for the device simulator. Refer to “Running a Mixed-Mode<br />

Simulation” on page 286 for more information.<br />

method<br />

This is an integer value for the binary encoded representation of the method<br />

card in the device simulator deck. The meaning of the integer value is<br />

described in the NUMDEVdefs.h file <strong>and</strong> interpreted by a routine<br />

specifically written for that device simulator. If this parameter is not<br />

specified <strong>and</strong> the file mname.method exists, the method card is taken<br />

as the content of that file. If neither is given, this card is not included in the<br />

input deck for the device simulator. Refer to “Running a Mixed-Mode<br />

Simulation” on page 286 for more information.<br />

float, vbc, <strong>and</strong> bcdep<br />

These three parameters are used to control the boundary conditions on a<br />

floating node that can switch between a current <strong>and</strong> voltage boundary<br />

condition during DC analysis. This capability aids in the convergence of<br />

numerical devices with a floating node. At low currents in the device one<br />

uses a voltage boundary condition on the floating node <strong>and</strong> for high<br />

Mixed-Mode Device/Circuit Simulator 283


Use of Mixed-Mode Simulation<br />

currents, one uses a current boundary condition on the floating node. The<br />

value of the voltage <strong>and</strong> current source on the floating node is zero.<br />

The parameter float contains the integer number for the floating node. It<br />

must be greater than the number specified by the nodes parameter. The<br />

parameter vbc determine the voltage at which the boundary condition is<br />

switched. The parameter bcdep specifies the positive <strong>and</strong> negative<br />

electrode on which the boundary condition depends. Refer to the examples<br />

for clarification.<br />

oedev<br />

An integer value of one for oedev tells SPICE that the numerical device<br />

will produce optical output. As a result, SPICE adds an equation to its<br />

circuit matrix to store the value of that output. In a future release, an integer<br />

value of two will tell SPICE that the numerical device has light incident<br />

upon it. The amount of incident light will be determined by referencing a<br />

circuit node. The default of zero means no photons are involved.<br />

tnom<br />

This parameter specifies the nominal temperature at which the parameters<br />

are given. Currently, the only parameter affected by tnom is vt0. The<br />

default value is 300K.<br />

EXAMPLES<br />

.model npndev npis vt0=0.7 dtype=1 model=93 method=336<br />

+ nodes=3<br />

This example defines the npndev model used in the previous example of<br />

an element card. This .model card tells SPICE that the npndev is of<br />

polarity n <strong>and</strong> that sequential simulations are executed for each instance of<br />

this model. The device type is a bipolar transistor as specified by the dtype<br />

284 Mixed-Mode Device/Circuit Simulator


Use of Mixed-Mode Simulation<br />

parameter. The turn-on voltage for the device is 0.7 volts. The model <strong>and</strong><br />

method for the device simulation is specified on the card <strong>and</strong> is explained<br />

in the next section. The number of nodes is given as three which<br />

corresponds to the three nodes on the previous element card.<br />

.model hpled ppis vt0=1.4 maxtrys=2 nodes=2 dtype=5<br />

+ float=3 vbc=1.0 bcdep=21 oedev=1<br />

This is a very complex model used for the simulation of an GaAs/AlGaAs<br />

LED with a floating layer. The turn-on voltage for the LED is 1.4 volts as<br />

defined by vt0. The number of nodes is two. The maximum number of<br />

tries for a given bias is limited to two. The floating node is electrode<br />

number 3 as given by the float parameter. The voltage boundary condition<br />

is used when V 21 is below 1.0 volts <strong>and</strong> the current boundary is used when<br />

V 21 is greater than or equal to 1.0 volts. The parameter bcdep specified<br />

V 21 as the controlling voltage <strong>and</strong> the parameter vbc specifies the voltage<br />

of V 21 when the boundary condition change is to takes place.<br />

In addition, this device will produce optical output <strong>and</strong> hence, an optical<br />

response. The model <strong>and</strong> method lines for the numerical simulator input<br />

deck is given in the files hpled.method <strong>and</strong> hpled.model.<br />

BUGS<br />

The advanced parameters for floating layers have been generalized, but<br />

may not be useful for all cases.<br />

When vmax <strong>and</strong> vmin are set stringently, they tend to cause SPICE to<br />

oscillate between the extremes. These parameters should be set such that<br />

they prevent the numerical device from entering breakdown.<br />

Some software paths have not been tested <strong>and</strong> may result in problems.<br />

Mixed-Mode Device/Circuit Simulator 285


Use of Mixed-Mode Simulation<br />

15.3 Running a Mixed-Mode Simulation<br />

This section will describe how to set up a mixed-mode simulation using level=0 (<strong>Stanford</strong>’s version<br />

of <strong>PISCES</strong>). The first subsection describes the files the user must supply <strong>and</strong> those generated during<br />

the simulation. The next subsection describes the concept of the binary encoded method line <strong>and</strong><br />

binary encoded model line. Finally, each of the different execution methods is addressed <strong>and</strong> the<br />

requirements for each is described.<br />

15.3.1 Files Required <strong>and</strong> Generated<br />

mynetlist.spi<br />

This file contains the circuit netlist of all the element cards <strong>and</strong> model cards for the circuit. Any valid<br />

SPICE construct is permitted. The name of the file can be arbitrary, but it is recommended that the<br />

extension .spi is used so that it may easily be recognized.<br />

mynetlist.raw<br />

The easiest way to run SPICE is to create a net list such that the circuit simulation is performed in batch<br />

mode. As a result, the user needs to save the solution SPICE computes. The name of the file can be<br />

arbitrary, but it is recommended that the extension .raw is used. To run SPICE in batch mode one<br />

types the following on the comm<strong>and</strong> line:<br />

spice3 -b mynetlist.spi -r mynetlist.raw<br />

Refer to the SPICE manual for more information [6].<br />

mname.msh or mname.mesh.pis<br />

One of these files must be supplied to load or create the mesh during the <strong>PISCES</strong> simulation. The first<br />

is a st<strong>and</strong>ard <strong>PISCES</strong> mesh file. The second contains valid <strong>PISCES</strong> comm<strong>and</strong>s for creating the mesh<br />

from scratch. The mname corresponds to the model name given on the SPICE .model card. The<br />

extension .msh or .mesh.pis must be exactly as shown. The mixed-mode code first looks for<br />

mname.msh, if that file does not exist, it looks for mname.mesh.pis. If neither exists, SPICE<br />

aborts.<br />

286 Mixed-Mode Device/Circuit Simulator


Use of Mixed-Mode Simulation<br />

Although these files are based on <strong>PISCES</strong>, they should be completely compatible <strong>and</strong>/or analogous for<br />

other device simulators. The actual format is determined by the programmer who adds the new device<br />

simulator.<br />

Using mname.msh provides for faster simulation because <strong>PISCES</strong> just loads the mesh <strong>and</strong> doesn’t<br />

have to create it each time. However, for some simulations, one may choose to create the mesh each<br />

time <strong>and</strong> therefore, the second option is available. When using mname.mesh.pis, the user should<br />

not include an end card.<br />

mname.model <strong>and</strong>/or mname.method<br />

These files contain the model <strong>and</strong> method cards for the <strong>PISCES</strong> input file, respectively. In writing an<br />

input deck, the mixed-mode interface should be given these cards. The binary encoded model <strong>and</strong><br />

method parameters on the .model card in SPICE are the most efficient way to provide these cards<br />

without additional files or overhead. However, the encoding only accounts for logical variables; hence<br />

using the files provides a capability for including numerical variables on these <strong>PISCES</strong> cards.<br />

mname.soln.init<br />

This is a <strong>PISCES</strong> solution file containing the initial zero bias solution for the model mname. This only<br />

has to be found once for the model since all instances use the same starting point.<br />

Nxxxxxxxx.pis<br />

This file contains the <strong>PISCES</strong> input deck that the mixed-mode interface writes for the instance named<br />

Nxxxxxxxx.<br />

Nxxxxxxxx.out<br />

This file contains the output of the last <strong>PISCES</strong> simulation run for the specific instance.<br />

Nxxxxxxxx.soln.prev0, Nxxxxxxxx.soln.prev1, <strong>and</strong> Nxxxxxxxx.soln.prev2<br />

These files are generated by <strong>PISCES</strong> <strong>and</strong> contain the solutions for the specific instance at some<br />

previous bias. For DC analysis, the .prev0 file contains the solution for the current circuit iteration,<br />

the .prev1 file contains the solution for the previous circuit iteration, <strong>and</strong> the .prev2 file contains the<br />

Mixed-Mode Device/Circuit Simulator 287


Use of Mixed-Mode Simulation<br />

solution for iteration before the previous. For transient analysis, .prev0 file contains the solution for<br />

the current time step, the .prev1 file contains the solution for the previous time step, <strong>and</strong> the .prev2<br />

file contains the solution for the time step before the previous time step.<br />

Nxxxxxxxx.log.ac <strong>and</strong> Nxxxxxxxxx.log.iv<br />

These files are generated by <strong>PISCES</strong> <strong>and</strong> contain the conductance/small signal parameters <strong>and</strong> the<br />

current vector respectively.<br />

hostname.pvm <strong>and</strong> hostname.prl<br />

These files are supplied by the user <strong>and</strong> contain a listing of hostnames if the mixed-mode simulator is<br />

used in a parallel configuration. Refer to “Types of Execution” on page 289 for more information.<br />

15.3.2 Method <strong>and</strong> Model Parameters<br />

The user may specify the binary encoded representation of the <strong>PISCES</strong> model card or <strong>PISCES</strong> method<br />

card on the SPICE .model line. This is accomplished by summing the numeral next to the appropriate<br />

action as given in the following tabulations.<br />

The binary encoded model parameter is computed as follows:<br />

+1 turns on srh<br />

+2 turns on consrh<br />

+4 turns on auger<br />

+8 turns on bgn<br />

+16 turns on conmob<br />

+32 turns on analytic<br />

+64 turns on fldmob<br />

+128 turns on surfmob<br />

+256 turns on impact<br />

+512 turns on ccsmob<br />

+1024 turns on fermi<br />

+2048 turns on incomplete<br />

+4096 turns on photogen<br />

288 Mixed-Mode Device/Circuit Simulator


Use of Mixed-Mode Simulation<br />

The binary encoded method parameter is computed as follows:<br />

+1 turns off xnorm<br />

+2 turns on rhsnorm<br />

+4 turns on limit<br />

+8 turns on fixqf<br />

+16 turns on trap<br />

+32 turns on autonr<br />

+64 turns off 2nd<br />

+128 turns on tauto<br />

+256 turns off tauto<br />

+512 turns off l2norm<br />

+1024 turns of extrapolate<br />

For example, to generate the following model <strong>and</strong> method lines in the <strong>PISCES</strong> input deck,<br />

model consrh conmob bgn auger<br />

method trap ^2nd ^tauto 1<br />

the SPICE input file should contain a line similar to:<br />

.model fmrdev npis nodes=3 vt0=0.7 model=30 method=336<br />

15.3.3 Types of Execution<br />

There are three types of execution modes available to the user, but the compiled version of the<br />

mixed-mode code may not necessarily have all these capabilities. The type of execution is determined<br />

by the type of model given for the numerical device.<br />

pis, npis, <strong>and</strong> ppis<br />

This is the simplest of the possible models. A pis model sequentially executes the instances on the<br />

machine SPICE is executed. The minimum requirement is a SPICE netlist <strong>and</strong> a file containing the<br />

mesh.<br />

1. 2nd <strong>and</strong> tauto must be turned off for mixed-mode simulations using <strong>PISCES</strong>.<br />

Mixed-Mode Device/Circuit Simulator 289


Use of Mixed-Mode Simulation<br />

prl, nprl, <strong>and</strong> pprl<br />

This type of model takes advantage of a network of computers. It uses st<strong>and</strong>ard UNIX sockets to<br />

execute the device simulations on remote hosts. The file system must be mounted on all these hosts<br />

with the same absolute path name. After a failure of maxtrys attempts, the parallel mode switches to<br />

the sequential mode for one attempt only. As a result, if a remote machine crashes or becomes<br />

unavailable for some reason, the mixed-mode simulation may not necessarily halt.<br />

The hostname.prl file contains a listing of the hosts on which the device simulations are executed.<br />

Each numerical device in the circuit is assigned a machine from the list <strong>and</strong> it is always executed on<br />

that machine. If there are more devices than machines then some machines can have more than one<br />

device executed on it. It is recommended that the machines be listed in decreasing computational<br />

power.<br />

The login <strong>and</strong> password for the remote machine is required. The mixed-mode code looks for the host<br />

name in the .netrc file. However, since the login <strong>and</strong> password for many hosts are the same, the user<br />

can use a machine name of “spice” in the .netrc file <strong>and</strong> the mixed-mode code uses that login <strong>and</strong><br />

password for all hosts not found in the .netrc.<br />

pvm, npvm, <strong>and</strong> ppvm<br />

This type of model uses PVM to execute the numerical device simulations in parallel. PVM st<strong>and</strong>s for<br />

Parallel Virtual Machine <strong>and</strong> may be obtained from netlib@ornl.gov. The user’s account must be<br />

configured for use with PVM as described in the manual <strong>and</strong> the user should have a working<br />

knowledge of PVM [5].<br />

Three files are necessary for using PVM to execute a mixed-mode simulation. The user should place<br />

the executable files npiscctrl <strong>and</strong> npiscslave in the PVM bin directories of the appropriate<br />

machine architectures. In addition, hostname.pvm needs to contain a listing of all the nodes used<br />

for the mixed-mode simulation; however, they do not need to be added to the parallel virtual machine.<br />

If they are not in the parallel virtual machine, the mixed-mode simulator attempts to add them.<br />

Finally, the user should start <strong>and</strong>/or make sure that the PVM daemon is running on the local machine<br />

<strong>and</strong> then start the SPICE simulation. If the PVM daemon is not running, mixed-mode defaults to<br />

sequential execution.<br />

290 Mixed-Mode Device/Circuit Simulator


CHAPTER 16<br />

Examples<br />

16.1 Introduction<br />

This chapter describes examples using three types of analyses. The first is a CMOS inverter analyzed<br />

with a DC sweep on the input. The second is a GaAs MESFET analyzed for its high frequency<br />

response. The third is a six transistor SRAM cell analyzed through a read/write cycle. Another<br />

transient analysis is used to analyze a fiber optic transmitting circuit which includes a heterostructure<br />

LED with a floating layer.<br />

16.2 Single Stage CMOS Inverter (DC Analysis)<br />

This simple example demonstrates the basic capabilities of mixed-mode. The V out versus V in<br />

characteristics of a single CMOS inverter is simulated. Figure 16.1 shows the circuit schematic <strong>and</strong> the<br />

SPICE net list for the circuit. The two MOS transistors are numerical devices with electrode number<br />

1 being the drain, 2 the gate, 3 the source <strong>and</strong> 4 the bulk.<br />

For this simulation the mesh files for the two devices are created separately <strong>and</strong> are called<br />

fmrpmos.msh <strong>and</strong> fmrnmos.msh. These mesh files contain the grid <strong>and</strong> doping for the<br />

numerical device. The <strong>PISCES</strong> method <strong>and</strong> model options are chosen by the binary encoded SPICE<br />

parameters method <strong>and</strong> model as follows.<br />

Mixed-Mode Device/Circuit Simulator 291


Examples<br />

V dd (1)<br />

* cmos inverter example (DC analysis)<br />

vin 4 0 dc 0<br />

vdd 1 0 dc 5<br />

V in (4) V out (2)<br />

nm1p 2 4 1 1 fmrpmos area=5<br />

nm1n 2 4 0 0 fmrnmos area=2<br />

.model fmrpmos ppis dtype=2 vt0=0.8 model=94 method=336 nodes=4<br />

.model fmrnmos npis dtype=2 vt0=0.8 model=94 method=336 nodes=4<br />

Gnd (0)<br />

.dc vin 0 5 0.1<br />

.end<br />

Figure 16.1<br />

CMOS inverter circuit schematic <strong>and</strong> netlist.<br />

method ^2nd ^tauto trap<br />

model consrh auger bgn conmob fldmob<br />

For the DC analysis, the input voltage is swept from zero volts to five volts <strong>and</strong> the output voltage <strong>and</strong><br />

supply current are monitored. The output waveform is as what would be expected from a CMOS<br />

inverter <strong>and</strong> is not shown.<br />

16.3 High Frequency GaAs MESFET (AC Analysis)<br />

The analysis of the GaAs MESFET mixed-mode simulation consists of finding the S-parameters of the<br />

two port network shown in Figure 16.2. SPICE can not directly find the S-parameters; however, it can<br />

easily find the Y-parameters with an AC perturbation applied to one input while the other is shorted.<br />

Two SPICE net lists are created, mes1.spi <strong>and</strong> mes2.spi. One perturbs port 1 of the network <strong>and</strong><br />

the other perturbs port 2; hence each provides Y*1 <strong>and</strong> Y*2 respectively. One of the netlists is shown<br />

in Figure 16.2.<br />

For this simulation, the file mes.mesh.pis contains the <strong>PISCES</strong> cards for creating the MESFET’s<br />

mesh during each device simulation. Note that nothing specific has to be written in the SPICE netlist<br />

292 Mixed-Mode Device/Circuit Simulator


Examples<br />

I gate<br />

+<br />

MESFET<br />

I drain<br />

+<br />

V gate<br />

V drain<br />

-<br />

-<br />

* MESFET circuit<br />

vgg 9 0 dc 0.0 ac 1<br />

vdd 10 0 dc 2.0<br />

vgate 9 8 0<br />

vdrain 10 1 0<br />

ld 1 2 0.08n<br />

rd 2 3 1.52<br />

cd 2 0 212f<br />

lg 8 7 0.105n<br />

rg 7 4 0.92<br />

cg 7 0 208f<br />

ls 0 6 0.005n<br />

rs 6 5 1.38<br />

nm1 3 4 5 0 mes area=100<br />

.model mes npis vto=1 maxtrys=10 nodes=4 dtype=4<br />

.ac lin 40 1G 40G<br />

.end<br />

Figure 16.2<br />

Two port network <strong>and</strong> netlist for AC analysis to find the<br />

Y-parameters<br />

to differentiate using a previously created mesh file. In addition, the files mes.model <strong>and</strong><br />

mes.method are also supplied <strong>and</strong> each contains one of the following lines respectively.<br />

model conmob fldmob srh hypert impact<br />

method trap ^2nd ^tauto itlim=30<br />

Mixed-Mode Device/Circuit Simulator 293


Examples<br />

* S11<br />

x S22<br />

Figure 16.3<br />

S-parameters for GaAs MESFET in the frequency range of 1GHz<br />

to 40GHz.<br />

An AC analysis is performed at each input of the two port network with other shorted. The<br />

Y-parameters are calculated by taking the currents I gate <strong>and</strong> I drain <strong>and</strong> dividing by the AC excitation<br />

magnitude. A simple transformation yields the S-parameters for a 50 ohm cable. The results are<br />

displayed in Figure 16.3.<br />

16.4 SRAM Cell (Transient Analysis)<br />

This example shows a circuit simulated with transient analysis <strong>and</strong> utilizing a network of computers.<br />

Figure 16.4 shows the circuit diagram for the SRAM circuit. The shaded region is the six transistor<br />

SRAM cell <strong>and</strong> is simulated using numerical MOS devices. The unshaded region is the control<br />

circuitry <strong>and</strong> is simulated with MOS level 2 compact models.<br />

The transient analysis of the circuit consists of a write <strong>and</strong> read cycle. The output of the flip-flop <strong>and</strong><br />

the data lines are observed. Figure 16.5 contains the net list for the circuit. There is an extra compact<br />

NMOS transistor for leveling the charges of the data line capacitances. After a read or write cycle, this<br />

294 Mixed-Mode Device/Circuit Simulator


Examples<br />

VDD<br />

C<br />

L<br />

L<br />

C<br />

R<br />

WB<br />

WB<br />

CS<br />

CS: Selects appropriate column<br />

R: Selects appropriate row<br />

Read:<br />

Write 1:<br />

Write 0:<br />

Output:<br />

CS high, R high, WB low, WB low<br />

CS high, R high, WB high, WB low<br />

CS high, R high, WB low, WB high<br />

Measured across CC<br />

Figure 16.4<br />

Simplified circuit diagram of SRAM cell including control<br />

circuitry.<br />

transistor turns on to allow the charge between the data lines to distribute evenly. The data lines must<br />

be equal before anymore actions can take place.<br />

The models for the numerical devices are the same as those used for the CMOS inverter. The compact<br />

model is SPICE Level 2 model which closely represents the numerical model. The devices in the<br />

circuit are not the state-of-the-art, but they do provide a good example. The SPICE .nodeset line is<br />

Mixed-Mode Device/Circuit Simulator 295


Examples<br />

* supply line<br />

Vdd 1 0 5<br />

* the cell itself<br />

NM1 4 5 1 1 fmrpmos area=2<br />

NM2 5 4 1 1 fmrpmos area=2<br />

NM3 4 5 0 0 fmrnmos area=4<br />

NM4 5 4 0 0 fmrnmos area=4<br />

* estimated parasitic of the cell<br />

Ci1 5 0 0.01p<br />

Ci2 4 0 0.01p<br />

* pass gates<br />

NM5 4 7 2 0 fmrnmos area=2<br />

NM6 5 7 3 0 fmrnmos area=2<br />

* control lines<br />

M7 1 1 2 0 ndev l=2u w=25u<br />

M8 1 1 3 0 ndev l=2u w=25u<br />

M9 2 9 6 0 ndev l=2u w=25u<br />

M10 3 8 6 0 ndev l=2u w=25u<br />

* access line<br />

M11 6 10 0 0 ndev l=2u w=50u<br />

* level line<br />

M12 2 12 3 0 ndev l=2u w=25u<br />

* estimated load on lines<br />

Crow 7 0 0.5pf<br />

Ccol 2 0 2pf<br />

Ccolb 3 0 2pf<br />

* access control sources<br />

VCS 10 0 pulse(0 5 0.2n 0.2n 0.2n 8n 20n)<br />

VR 7 0 pulse(0 5 0.2n 0.2n 0.2n 8n 20n)<br />

* data control sources */<br />

VWBb 8 0 pulse(0 5 40.2n 0.2n 0.2n 8n 80n)<br />

VWB 9 0 pulse(0 5 0.2n 0.2n 0.2n 8n 80n)<br />

Figure 16.5<br />

SPICE netlist for SRAM simulation.<br />

296 Mixed-Mode Device/Circuit Simulator


Examples<br />

* data line level sources<br />

VL 12 0 pulse(0 5 9n 0.2n 0.2n 8n 20n)<br />

.nodeset v(5)=0 v(4)=5 v(2)=3.5 v(3)=3.5<br />

.tran 0.1n 40n<br />

* compact models<br />

.model pdev pmos<br />

+ level = 2.000 vto = -0.5677 gamma = 0.51<br />

+ phi = 0.73 tox = 2.5000E-08 nsub = 4.0251E+14<br />

+ nfs = 6.8412E+11 xj = 2.5976E-8 ld = 1.8553E-07<br />

+ uo = 1.705E+02 ucrit = 2.2295E+05 uexp = 0.2918<br />

+ vmax = 6.8950E+04 neff = 9.285E+1 delta = 0.5587<br />

+ cj = 2.7923E-04 cjsw = 2.1805E-10 pb = 0.7316<br />

+ mj = 0.4729 mjsw = 0.2195 fc = 0.5<br />

+ cgdo = 4.71e-10 cgso = 4.71e-10<br />

.model ndev nmos<br />

+ level = 2.000 vto = 0.6000 gamma = 0.4500<br />

+ phi = 0.6000 tox = 2.5000E-08 nsub = 1.6300E+15<br />

+ nfs = 3.0000E+11 tpg = 1.000 xj = 3.5000E-07<br />

+ ld = 1.0000E-07 uo = 612.0 ucrit = 2.0000E+05<br />

+ uexp = 0.2500 vmax = 5.8000E+04 neff = 45.00<br />

+ delta = 3.900 cj = 1.4620E-04 cjsw = 3.1626E-10<br />

+ pb = 0.6495 mj = 0.3640 mjsw = 0.2558<br />

+ fc = 0.5000 cgdo = 4.39e-10 cgso = 4.39e-10<br />

* numerical devices<br />

.model fmrpmos npvm dtype=2 vt0=0.8 model=94 method=336 nodes=4<br />

.model fmrnmos npvm dtype=2 vt0=0.8 model=94 method=336 nodes=4<br />

Figure 16.5<br />

Continuation of SPICE netlist for SRAM simulation.<br />

used to set the flip-flop to an initial state rather than having it start indeterminately. The .tran card<br />

specifies the limits of the transient analysis.<br />

The numerical device models are specified as pvm. As a result, each numerical device simulation is<br />

executed on a different node of a parallel virtual computer. The file hostname.pvm is provided<br />

with a list of hostnames for the nodes. The network uses a common file server whose disks are mounted<br />

on each of the remote hosts.<br />

Mixed-Mode Device/Circuit Simulator 297


Examples<br />

Data Lines<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

C<br />

C<br />

Latch<br />

5<br />

4<br />

3<br />

2<br />

1<br />

0<br />

L<br />

L<br />

Read/Write Cycle<br />

Figure 16.6<br />

5<br />

4 Write 1<br />

Read 1<br />

3<br />

2<br />

1<br />

0<br />

0 5 10 15 20 25 30 35 40<br />

Time (ns)<br />

Read/Write cycle for SRAM cell.<br />

Figure 16.6 shows the output waveforms of the SRAM cell. It is important to note how fast the<br />

difference between the data lines becomes small. This time determines the minimum read/ write cycle<br />

time.<br />

16.5 GaAs/AlGaAs LED (Transient Analysis)<br />

This final example involves a device with a floating node. Figure 16.7 shows the cross section of the<br />

cylindrical LED. The cathode contact is electrode number 1, the anode contact is electrode number 2,<br />

<strong>and</strong> the floating layer is electrode number 3. In order to improve convergence in the device simulation,<br />

the floating layer must switch from a voltage boundary condition to a current boundary condition when<br />

high currents are flowing. Refer to the paper by Dutton for a detailed discussion [7].<br />

298 Mixed-Mode Device/Circuit Simulator


Examples<br />

cathode<br />

contact<br />

emitted light<br />

floating<br />

layer<br />

n+<br />

n<br />

n<br />

p<br />

p<br />

anode<br />

contact<br />

Figure 16.7<br />

Cross section of LED structure that is used in a fiber optic<br />

transmitter circuit.<br />

At low currents <strong>and</strong> biases, the voltage boundary condition introduces some error, but it is tolerable<br />

since that is not the range of interest for the operation of the device. For higher currents, the node is<br />

kept floating by placing a current boundary condition with a current source value of zero. In order to<br />

h<strong>and</strong>le this switching, there are three special parameters.<br />

This device is placed into the transmitter circuit shown in Figure 16.8. The purpose of this circuit is to<br />

take an ECL signal, convert to TTL, <strong>and</strong> either turn on or off the LED. The SPICE netlist for the circuit<br />

is also given.<br />

First, one notes that this device is called using ppis model because a ppis device is defined such that<br />

the cathode is electrode 1 <strong>and</strong> the anode is electrode 2. An npis device has the reverse. In general, the<br />

n-polarity devices are such that the device is in its SPICE st<strong>and</strong>ard forward operating state.<br />

Mixed-Mode Device/Circuit Simulator 299


Examples<br />

+5 V<br />

Vcc<br />

0.1 µF<br />

10 µF<br />

33 Ω<br />

33 Ω<br />

TTL<br />

in<br />

56 µF<br />

270 Ω<br />

* driver circuit for HP transmitter<br />

* supply<br />

Vcc 6 0 DC 5<br />

Vin 1 0 pulse(5 0 1n 1.2n 1.2n 20n 40n)<br />

Rin 1 2 1<br />

* driver circuit<br />

R8 2 3 33<br />

C4 2 3 75p<br />

R9 3 4 33<br />

r10 4 0 270<br />

Vhp1 6 5 DC 0<br />

nhp1 4 5 hpled<br />

.options abstol=1e-9<br />

.model hpled ppis vt0=1.4 maxtrys=2 nodes=2 dtype=3 float=3<br />

+ vbc=1.0 bcdep=21<br />

.tran 100p 40n 0 200p<br />

.end<br />

Figure 16.8<br />

Circuit schematic <strong>and</strong> netlist for LED transmitter simulation.<br />

The rest of the parameters on the .model line are set to account for the heterostructure device. vt0 is<br />

set to turn on the device. The maxtrys parameter limits the maximum number of tries to two. This<br />

300 Mixed-Mode Device/Circuit Simulator


Examples<br />

parameter is set low because the cutting of the bias step does not take into account a changing boundary<br />

condition. The number of nodes is set to the actual number of contacts in the SPICE circuit. The<br />

floating node is not connected to anything <strong>and</strong> hence, SPICE does not need to know about its existence.<br />

The three parameters float, vbc, <strong>and</strong> bcdep specify the node <strong>and</strong> the switching point for the boundary<br />

condition.The floating node is electrode number 3 as given by the float parameter. The voltage<br />

boundary condition is used when V 21 is below 1.0 volts <strong>and</strong> the current boundary is used when V 21 is<br />

greater than or equal to 1.0 volts. The parameter bcdep specifies V 21 as the controlling voltage <strong>and</strong><br />

the parameter vbc specifies the voltage of V 21 when the boundary condition change is to take place.<br />

The device uses cylindrical coordinates <strong>and</strong> hence, the area factor is allowed to default to 1.0. The<br />

mesh is created each time the device is solved because the version of <strong>PISCES</strong> being used can not save<br />

the heterostructure parameters. Hence, the file hpled.mesh.pis must be supplied. In addition, the<br />

model <strong>and</strong> method cards are given in the files hpled.model <strong>and</strong> hpled.method <strong>and</strong> are as<br />

follows.<br />

models fldmob auger conmob rad consrh<br />

method itlim=50 p.tol=5.e-5 c.tol=5e-5 ^2nd ^tauto<br />

A communications circuit engineer is most interested in the turn-on turn-off characteristics of the<br />

diode. Therefore, the transient simulation consists of a pulse input to switch the diode on <strong>and</strong> back off.<br />

The TTL n<strong>and</strong> gates used for supplying the current are substituted with a voltage source <strong>and</strong> a resistor.<br />

The voltage source takes into account the finite rise <strong>and</strong> fall time of the n<strong>and</strong> gates while the resistor<br />

simulates the output resistance of the n<strong>and</strong> gate.<br />

Figure 16.9 shows the response of the diode. This current is directly related to the amount of photons<br />

out for the device.<br />

Mixed-Mode Device/Circuit Simulator 301


Examples<br />

120<br />

100<br />

80<br />

60<br />

I hp1 (mA)<br />

40<br />

20<br />

0<br />

-20<br />

-40<br />

-60<br />

0 5 10 15 20 25 30 35 40<br />

Time (ns)<br />

Figure 16.9<br />

Time transient response of the current flowing through LED in a<br />

transmitter circuit.<br />

302 Mixed-Mode Device/Circuit Simulator


CHAPTER 17<br />

System Reconfiguration for a<br />

Different Device Simulator<br />

17.1 Changes in SPICE<br />

This chapter addresses the changes needed in SPICE so that a numerical device simulator may be<br />

added to the in-house version of SPICE. These instructions are based upon the 3f release of SPICE.<br />

The configuration for the 3e release is unknown at the writing of this manual. The 3d release has a<br />

slightly different configuration <strong>and</strong> those differences are described in this chapter. In order to configure<br />

3e or 3c release of SPICE, the administrator can use the descriptions in this chapter <strong>and</strong> also refer to<br />

the SPICE software documentation [8][9].<br />

When referring to a directory, the home directory is to be taken as spice3f/src unless otherwise<br />

specified.<br />

Mixed-Mode Device/Circuit Simulator 303


System Reconfiguration for a Different Device Simulator<br />

17.1.1 New Files<br />

Table 17.1 contains a manifest of files needed for including the numerical devices.<br />

Table 17.1<br />

inp2n.c makedefs npisc.c<br />

npiscacload.c npiscask.c npiscconvtest.c<br />

npiscctrl.c npiscdefs.h npiscdelete.c<br />

npiscexec.c npiscexecprl.c npiscexecpvm.c<br />

npiscexecseq.c npiscgethost.c npiscgetic.c<br />

npiscitf.h npiscload.c npiscmdelete.c<br />

npiscmethod.c npiscmodel.c npiscmparam.c<br />

npiscmvfiles.c npiscparam.c npiscpvmmesg.c<br />

npiscpzload.c npiscreadpvm.c npiscreadstanford.c<br />

npiscsetup.c npiscslave.c npisctemp.c<br />

npisctrunc.c npiscwritestanford.c numdevdefs.h<br />

makefile.3d2<br />

These are subject to change for later versions, but differences should not be significant.<br />

17.1.2 Steps for Adding Numerical Devices to SPICE<br />

1. In bin/config.c there are two sets of include statements for the devitf.h<br />

files. Add each of the following lines to the appropriate list.<br />

#include “npiscitf.h”<br />

#include “npisc/npiscitf.h”<br />

2. Also in bin/config.c, there is a series of #ifdef structures to which one adds<br />

the following.<br />

#ifdef DEV_npisc<br />

&NPISCinfo<br />

#endif<br />

304 Mixed-Mode Device/Circuit Simulator


System Reconfiguration for a Different Device Simulator<br />

3. In include/inpdefs.h, there are two listings for the routines that are used<br />

to read an individual SPICE device type. The following lines are added to the<br />

appropriate list.<br />

void INP2N( GENERIC*, INPtables*, card* );<br />

void INP2N();<br />

4. The following line is added to the subroutine inp_numnodes() in lib/fte/<br />

subckt.c. The number that is returned is the maximum number of nodes that<br />

the numerical device can support.<br />

case: ‘n’: return(10);<br />

5. Add the file inp2n.c to the directory lib/inp. Modify the makedefs file<br />

in that directory to include inp2n.c in the CFILES definition <strong>and</strong> to include<br />

inp2n.o in the COBJS definition. Finally, add the following entry to the list<br />

of files to make.<br />

inp2n.o: inp2n.c<br />

6. The following lines are added to lib/inp/inpdomod.c. These are the valid<br />

model types available for a numerical device. The administrator can eliminate<br />

an execution method by not including it in this listing.<br />

} else if ( (strcmp(typename,”pis”) == 0) ||<br />

(strcmp(typename,”npis”) == 0) ||<br />

(strcmp(typename,”ppis”) == 0) ||<br />

(strcmp(typename,”pvm”) == 0) ||<br />

(strcmp(typename,”npvm”) == 0) ||<br />

(strcmp(typename,”ppvm”) == 0) ||<br />

(strcmp(typename,”prl”) == 0) ||<br />

(strcmp(typename,”nprl”) == 0) ||<br />

(strcmp(typename,”pprl”) == 0) ){<br />

type = INPtypelook(“Npisces”);<br />

if (type < 0) {<br />

err=INPmkTemp(“Device type Npisces not available in this binary\n”);<br />

}<br />

INPmakeMod(modname,type,image);<br />

Mixed-Mode Device/Circuit Simulator 305


System Reconfiguration for a Different Device Simulator<br />

7. The following line identification is added to lib/inp/inppas2.c<br />

case ‘N’:<br />

INP2N(ckt,tab,current,gnode);<br />

break;<br />

8. Make the directory lib/dev/npisc <strong>and</strong> copy all the files into this directory<br />

except for inp2n.c which should be placed in lib/inp.<br />

9. In the main configuration file, one needs to include “npisc” in the listing of<br />

devices to compile. This configuration file is located in the conf directory<br />

which is at the same level as the src directory.<br />

10. The user should clean everything <strong>and</strong> recompile SPICE. There may be<br />

dependencies that are not taken into account when certain header files are<br />

modified.<br />

17.1.3 Increasing Number of Nodes for a SPICE Device<br />

The released version of SPICE is configured for five nodes per device. For numerical devices, the<br />

maximum number of nodes is set to ten (This number corresponds to the maximum number of<br />

electrodes that <strong>Stanford</strong> <strong>PISCES</strong> allows). Because of the way new devices are interfaced to SPICE, the<br />

number of device nodes is set in the code. Fortunately, exp<strong>and</strong>ing the number of nodes is trivial [9].<br />

1. Modify the file lib/ckt/cktbindn.c to include the cases for nodes six<br />

through ten. Follow the pattern already prescribed for nodes one through five.<br />

2. Modify the file include/gendefs.h to include the additional nodes six<br />

through ten in the pattern prescribed by nodes one through five.<br />

3. The user should clean everything <strong>and</strong> recompile SPICE from scratch. There<br />

may be dependencies that are not taken into account when certain header files<br />

are modified.<br />

17.1.4 Configuring NPISC for Use with PVM<br />

In order to use PVM to execute a device simulation, the following changes are implemented. These<br />

changes configure the routines that access PVM <strong>and</strong> compile the slave processes. PVM 3.0 or higher<br />

is assumed to be installed on appropriate machines <strong>and</strong> a working knowledge of PVM is assumed [5].<br />

306 Mixed-Mode Device/Circuit Simulator


System Reconfiguration for a Different Device Simulator<br />

1. In the conf/defaults define the variable PVM_DIR to the PVM home<br />

directory. For example:<br />

PVM_DIR = /home/spice/pvm3<br />

2. For each specific architecture file define the variable PVM_ARCH to the<br />

correct PVM bin directory. For example, in the conf/sun4 file one includes<br />

the following line.<br />

PVM_ARCH = SUN4<br />

In addition, the following variables are also defined in the individual<br />

architecture configuration files.<br />

PVM_BIN = $(PVM_DIR)/bin/$(PVM_ARCH)<br />

PVM_TYPE = PVM_PUBLICDOMAIN<br />

The PVM_TYPE variable is included so that other version of PVM can used.<br />

For example, IBM has their own version of PVM. If the mixed-mode code is<br />

changed to include this version, all changes should be enclosed by an #ifdef<br />

structure using a new name for PVM_TYPE.<br />

3. Copy (or link) the files npiscslave.c <strong>and</strong> npiscctrl.c to the directory<br />

src/bin.<br />

4. The makedefs file in the directory src/bin has the following lines added<br />

so that the npiscslave <strong>and</strong> npiscctrl routines are compiled <strong>and</strong> installed<br />

correctly. In the list of CFILES, add the files npiscslave.c <strong>and</strong><br />

npiscctrl.c. In the list of INSTALL_TARGETS add the following lines.<br />

$(PVM_BIN)/npiscslave \<br />

$(PVM_BIN)/npiscctrl<br />

A variable COBJS is defined below CFILES as follows.<br />

COBJS = npiscslave.o npiscctrl.o<br />

Finally, add the following line to the list of object files.<br />

npiscslave.o: npiscslave.c<br />

npiscctrl.o: npiscctrl.c<br />

Mixed-Mode Device/Circuit Simulator 307


System Reconfiguration for a Different Device Simulator<br />

5. The makeops file in the directory src/bin is modified to include the<br />

following lines. Around line number 14 add the following.<br />

$(PVM_BIN)/npiscslave: npiscslave<br />

rm -r $@<br />

cp $? $@<br />

$(PVM_BIN)/npiscctrl: npiscctrl<br />

rm -r $@<br />

cp $? $@<br />

Around line number 55 add:<br />

npiscslave.o: npiscslave.c<br />

$(CC) -c $(CFLAGS) -I$(PVM_DIR)/include \<br />

-I$(SRC_DIR)/../lib/dev/npisc \<br />

-D$(PVM_TYPE) \<br />

$(SRC_DIR)/npiscslave.c<br />

npiscctrl.o: npiscctrl.c<br />

$(CC) -c $(CFLAGS) -I$(PVM_DIR)/include \<br />

-I$(SRC_DIR)/../lib/dev/npisc \<br />

-D$(PVM_TYPE) \<br />

$(SRC_DIR)/npiscctrl.c<br />

In the LIBS declaration around line number 150 add the following to include<br />

the PVM library:<br />

$(PVM_DIR)/lib/$(PVM_ARCH)/libpvm3.a<br />

Finally, around line 160, add the following compilations:<br />

npiscslave: npiscslave.o $(OBJ_TOP)/lib/dev.a \<br />

-@rm -f npiscslave<br />

$(CC) -o $@ npiscslave.o $(OBJ_TOP)/lib/dev.a \<br />

$(PVM_DIR)/lib/$(PVM_ARCH)/libpvm3.a<br />

npiscctrl: npiscctrl.o $(OBJ_TOP)/lib/dev.a \<br />

-@rm -f npiscctrl<br />

$(CC) -o $@ npiscctrl.o $(OBJ_TOP)/lib/dev.a \<br />

$(PVM_DIR)/lib/$(PVM_ARCH)/libpvm3.a<br />

308 Mixed-Mode Device/Circuit Simulator


System Reconfiguration for a Different Device Simulator<br />

17.1.5 Different Versions of SPICE<br />

There are some difference between SPICE3f <strong>and</strong> SPICE3d. This section attempts to clarify as many<br />

of those differences as possible; however, it may not be all inclusive <strong>and</strong> it does not include the changes<br />

for configuring the compilation for use with PVM. For versions other than 3f <strong>and</strong> 3d the administrator<br />

should refer to the implementation guides [8][9]. In addition, the BJT device provides an excellent<br />

basis for how a new SPICE device is installed.<br />

The first <strong>and</strong> most obvious difference is that SPICE3d capitalizes the identifier of each module. As a<br />

result, anywhere npisc is specified, it becomes NPISC. For example npiscload.c becomes<br />

NPISCload.c <strong>and</strong> DEV_npisc becomes DEV_NPISC.<br />

Following are the differences between SPICE3f <strong>and</strong> SPICE3d given in the same sequence as the<br />

original installation instructions.<br />

1. Instead of changing the bin/config.c file, one needs to make the given<br />

change in the bin/spice.c file.<br />

2. Instead of changing the bin/config.c file one needs to make the change in<br />

the include/devices.h file.<br />

3. Instead of changing the include/inpdefs.h file, one needs to make the<br />

change in the include/INPdefs.h file.<br />

4. One needs to change the lib/FTE/subckt.c file instead of the lib/fte/<br />

subckt.c file.<br />

5. The file INP2N.c should be added to the lib/INP directory <strong>and</strong> the<br />

appropriate change should be made to the Makefile in that directory.<br />

6. Change the lib/INP/INPdomodel.c instead of the lib/inp/<br />

inpdomod.c file.<br />

7. Add the new line to lib/INP/INPpas2.c instead of lib/INP/INPpas2.c.<br />

8. The directory for the numerical device is called lib/DEV/NPISC, the files<br />

should have “npisc” changed to “NPISC”, <strong>and</strong> makefile.3d2 is renamed to<br />

Makefile. In addition, there are a few changes to the code as outlined here.<br />

First, the include filenames need to be changed since SPICE3d uses a different<br />

Mixed-Mode Device/Circuit Simulator 309


System Reconfiguration for a Different Device Simulator<br />

naming convention as described previously. Second, NPISC.c <strong>and</strong><br />

NPISCitf.h are not in the correct form. The user should examine BJT.c <strong>and</strong><br />

BJTitf.h for reference, but the following paragraphs point out the changes<br />

that are required.<br />

In NPISC.c, the variables NPISCiSize <strong>and</strong> NPISCmSize are defined for the<br />

size of the instance <strong>and</strong> model. SPICE3d does not use these variables <strong>and</strong><br />

consequently, they should be removed from the file. Likewise, in NPICSitf.h<br />

the extern lines for these variables should be removed <strong>and</strong> the other reference<br />

to these variables should be replaced with an explicit sizeof() statement. The<br />

code may work if these variables are in the code, but it has not been tested.<br />

Also in NPISCitf.h, there is an #ifdef DEV_npisc statement surrounding the<br />

code. This statement <strong>and</strong> the corresponding #endif at the end of the code<br />

should be removed.<br />

SPICE3f has a location for an additional function called DEVunsetup. This<br />

function is not in SPICE3d <strong>and</strong> is not used by the DEVice NPISC. Therefore,<br />

this line is removed from the function list in NPISCitf.h. This function is<br />

defined as NULL, between the two definitions for NPISCsetup. Refer to the<br />

BJTitf.h file for a comparison. Also in NPISCitf.h, there is a line DEV<br />

DEFAULT which is deleted. Finally, in NPISCdefs.h, the NPISCstate<br />

variable in the NPISCinstance structure is moved from its location at the<br />

beginning <strong>and</strong> placed at the end of the structure. SPICE3f requires it to be there<br />

while SPICE3d requires it not be there.<br />

If SPICE3d does not work correctly after making these changes, refer to the<br />

equivalent files in the lib/DEV/BJT directory. The critical files <strong>and</strong> ones<br />

most likely to have an error are NPISCitf.h, NPISCdefs.h, <strong>and</strong> NPISC.c.<br />

9. For SPICE3d, the NPISC device must be defined in the variables SUBDIRS<br />

<strong>and</strong> MSCSUBDIRS in lib/DEV/Makefile.<br />

10. The user should clean everything <strong>and</strong> recompile SPICE to make sure that all<br />

dependencies are taken into account.<br />

310 Mixed-Mode Device/Circuit Simulator


System Reconfiguration for a Different Device Simulator<br />

11. PVM has not been tested with SPICE3d <strong>and</strong> the procedure for adding the<br />

compilation of npiscslave.c <strong>and</strong> npicsctrl.c is unknown. One can<br />

attempt to define the appropriate variables as discussed in Section 17.1.4 on<br />

page 306 <strong>and</strong> compile the routines manually.<br />

17.2 Adding Another Device Simulator<br />

This section describes how to add another device simulator such that it can be used within the mixedmode<br />

environment.<br />

17.2.1 Changes to Device Simulator<br />

This section discusses the changes required for the device simulator. SPICE determines a bias <strong>and</strong> the<br />

mixed-mode interface writes an input deck for the device simulator. The interface executes the device<br />

simulator using that input deck. In return, the device simulator must perform the following.<br />

1. It must be able to load a mesh <strong>and</strong> a previous solution at some DC point or at<br />

some time instant. An important advantage is to be able to load the last two<br />

solutions <strong>and</strong> then use a projection to find an initial guess at the new bias point.<br />

2. Given a DC bias, a transient bias <strong>and</strong> a ∆t, or an ac frequency the device<br />

simulator needs to solve for the current vector <strong>and</strong> conductance (susceptance)<br />

matrix. The conductance matrix is for the frequency given or at some low<br />

frequency value. Refer to “Equations for Device Simulation” on page 269 for<br />

more information.<br />

Most simulators posses these attributes except for finding the low frequency conductance matrix in DC<br />

<strong>and</strong> transient analysis. The changes to obtain this information is minimal <strong>and</strong> should not be a major<br />

problem.<br />

17.2.2 Changes to Mixed-Mode Interface<br />

As a basis, one can follow the currently configured <strong>Stanford</strong> version of <strong>PISCES</strong>. There are a few small<br />

changes in a couple of routines <strong>and</strong> a number of new routines that must be written. All changes are<br />

specific to the device simulator.<br />

Mixed-Mode Device/Circuit Simulator 311


System Reconfiguration for a Different Device Simulator<br />

npiscdefs.h<br />

This file is used to define the new device simulator <strong>and</strong> to give it an appropriate identification number.<br />

This number corresponds to the level given on the .model card. All code specific to that device<br />

simulator should be surrounded by an #ifdef structure so that it may easily be excluded in a<br />

compilation.<br />

npiscexec.c<br />

The purpose of this routine is to execute the device simulations. SPICE passes this routine the voltage<br />

boundary conditions on each electrode of the numerical device. This routine returns the solution for<br />

the current vector <strong>and</strong> admittance matrix.<br />

npiscexec calls two subroutines that are specific for the device simulator as determined by the level<br />

value. One routine writes the input deck for the device simulator <strong>and</strong> the other reads the solution from<br />

the files created by the device simulator. For <strong>Stanford</strong> <strong>PISCES</strong>, these routines are as follows <strong>and</strong> are<br />

located in a “case” structure in the file.<br />

int NPISCwrite<strong>Stanford</strong>( NUMDEVbias *)<br />

int NPISCread<strong>Stanford</strong>( NUMDEVbias *, NUMDEVsoln *)<br />

npiscwriteMYSIMULATOR.c<br />

This routine is responsible for writing the device simulator input deck. A pointer to a structure<br />

containing the information about the bias is passed to the routine. An error code or 0 is returned from<br />

this subroutine call.<br />

The bias structure contains information about the SPICE instance name, SPICE model name, voltage<br />

bias, time step, frequency, temperature, etc. (Refer to numdevdefs.h for all the information<br />

contained within the structure.) This information should be sufficient to write an input deck for the<br />

device simulator.<br />

There are a couple of requirements on file naming conventions.<br />

1. The solution for the current bias must be saved as:<br />

[Instance Name].solution.prev0<br />

312 Mixed-Mode Device/Circuit Simulator


System Reconfiguration for a Different Device Simulator<br />

Refer to the files npiscmvfiles.c, npiscwritestanford.c, <strong>and</strong><br />

npiscexec.c for descriptions of how these files are manipulated <strong>and</strong> how to<br />

utilize these solution files. All routines are well documented.<br />

2. Every file created must start with the instance name. This provides a unique<br />

way for identifying each file <strong>and</strong> avoids clobbering other files.<br />

3. In “Running a Mixed-Mode Simulation” on page 286, a file naming<br />

convention is presented. Any new device simulator should follow the given<br />

convention to avoid confusion.<br />

The npiscwritestanford.c file can be used as a starting point <strong>and</strong> modified for the needs of the<br />

new device simulator. The code is well documented <strong>and</strong> should not be difficult to follow.<br />

npiscreadMYSIMULATOR.c<br />

This routine is responsible for reading the results of the device simulation. When creating the input<br />

deck, one should have specified output files for saving the current vector <strong>and</strong> conductance matrix of<br />

the device solution. Given the pointer to the bias data structure which contains the instance name for<br />

identification <strong>and</strong> given a pointer to a solution data structure, this routine reads the simulation results<br />

<strong>and</strong> stores them in the solution data structure. It must also multiply by the area factor if it is not done<br />

during the device simulation.<br />

The npiscreadstanford.c file can be used as a starting point <strong>and</strong> modified for the needs of the new<br />

device simulator. The code is well documented <strong>and</strong> should not be difficult to follow.<br />

npiscmethod.c<br />

In <strong>PISCES</strong>, there is a card called “method” that is used to define the numerical methods during the<br />

device simulation. This method is the same for all device simulations for a specific model. Hence, the<br />

mixed-mode interface has been designed to accept this method card in two formats (Refer to “Method<br />

<strong>and</strong> Model Parameters” on page 288 for more information.), store in its internal structures, <strong>and</strong> pass it<br />

to the npiscwriteMYSIMULATOR.c routine through the bias data structure. Since other device<br />

simulators have something similar, this routine is modified to take that into account.<br />

Mixed-Mode Device/Circuit Simulator 313


System Reconfiguration for a Different Device Simulator<br />

There are two ways to determine the method line. The easiest way to implement the method card is to<br />

read it from a file named [Model Name].method which is the default in npiscmethod.c.<br />

In order to eliminate an extra file, a binary encoded method parameter is added to the SPICE .model<br />

parameters. Essentially, a binary number (written in decimal format on the .model card) determines<br />

whether a logical expression on the <strong>PISCES</strong> method line is true or false. The numdevdefs.h file<br />

contains defined variables for all the possible actions. Each action has a number in base two that<br />

corresponds to a bit in a long integer.<br />

The npiscmethod.c routine takes the integer value given on the .model card <strong>and</strong> converts that to<br />

character string for the numerical device input deck. This file <strong>and</strong> the numdevdefs.h file are well<br />

documented <strong>and</strong> the programmer should not have a problem underst<strong>and</strong>ing how to modify this routine.<br />

If there is no method line, everything is initialized to NULL.<br />

npiscmodel.c<br />

This file is analogous to the npiscmethod.c file except it does the processing for the model card in<br />

the numerical device input deck. Refer to this routine <strong>and</strong> the numdevdefs.h file for more<br />

information.<br />

After all changes have been made, the new files can be added to the makedefs file so that they are<br />

compiled <strong>and</strong> linked when SPICE is built. Once included, the new device simulator can be used in a<br />

mixed-mode simulation simply by specifying the proper level on the .model card in the SPICE<br />

netlist.<br />

314 Mixed-Mode Device/Circuit Simulator


References<br />

References<br />

[1] Yu, Zhiping, Robert W. Dutton, <strong>and</strong> Hui Wang. “A Modularized, Mixed IC Device/ Circuit<br />

Simulation System.” Proceedings of the Synthesis <strong>and</strong> Simulation Meeting <strong>and</strong> International<br />

Exchange. Kobe, Japan. April 1992.<br />

[2] McCalla, William J. Fundamentals of Computer-Aided Circuit Simulation. Boston: Kluwer<br />

Academic Publishers, 1993.<br />

[3] Mayaram, Kartikeya <strong>and</strong> Donald O. Pederson. “Coupling Algorithms for Mixed-Level Circuit<br />

<strong>and</strong> Device Simulation.” IEEE Transactions on Computer Aided Design. Vol. II, No 8. August<br />

1992. pp 1003-1012.<br />

[4] Rollins, Gregory J. <strong>and</strong> John Choma. “Mixed-Mode <strong>PISCES</strong>-SPICE Coupled Circuit <strong>and</strong><br />

Device Solver.” IEEE Transactions on Computer Aided Design. Vol. 7, No. 8, August 1988. pp<br />

862-867.<br />

[5] Geist, Al, Adam Beguelin, Jack Dongarra, Weicheng Jiang, Robert Manchek, <strong>and</strong> Vaidy<br />

Sunderam. PVM 3 User’s Guide <strong>and</strong> Reference Manual. Oak Ridge: Oak Ridge National<br />

Laboratory, 1993.<br />

[6] Johnson, B., T. Quarles, A. R. Newton, D.O Pederson, <strong>and</strong> A. Sangiovanni-Vincentelli. SPICE3<br />

Version 3f User’s Manual. Berkeley: Regents of the University of California, 1992.<br />

[7] Dutton, R. W., F. Rotella, Z. Sahul, L. So, <strong>and</strong> Z. Yu. “Integrated TCAD for OEIC<br />

<strong>Application</strong>s.” International Symposium on Optoelectronics for Information <strong>and</strong> Microwave<br />

Systems. Proceedings of the SPIE - The International Society for Optical Engineering. Los<br />

Angeles, CA. January 1994.<br />

[8] Quarles, Thomas L. “Adding Devices to SPICE3.” Memor<strong>and</strong>um No. UCB/ERL M89/45.<br />

Berkeley: University of California, 1989.<br />

[9] Quarles, Thomas L. “SPICE3 Implementation Guide.” Memor<strong>and</strong>um No. UCB/ERL M89/44.<br />

Berkeley: University of California, 1989.<br />

Mixed-Mode Device/Circuit Simulator 315

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!