home *** CD-ROM | disk | FTP | other *** search
- /****************************************************************************/
- /* Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991 */
- /* By MicroSim Corporation, All Rights Reserved */
- /****************************************************************************/
- /* tran.h
- * $Revision: 1.4 $
- * $Author: whb $
- * $Date: 26 Mar 1991 13:02:26 $ */
-
- /******************* USERS OF DEVICE EQUATIONS OPTION ***********************/
- /******** Do not change this file **********/
-
- /*
- * Declarations for transient analysis.
- */
- #define MSTVCT 4 /* Total number of state vectors */
- GLOBAL int JSTVCT;
-
- struct TRDef {
- int TRfl; /* YES: do transient analysis */
- int TRUICfl; /* YES: skip bias point for tran. analysis */
- int TROpfl; /* YES: detailed print of bias point */
- double TREnd; /* End time */
- double TRPrStp; /* .PRINT and .PLOT step size */
- double TRSkip; /* Time at which to start output */
- double TRStCl; /* Ceiling on internal time step */
- double TRTime; /* Analysis time */
- double TRDelta; /* Time step */
- double TRDelOld[MSTVCT]; /* Past values of TRDelta */
- double TRThrmVlt; /* Thermal voltage at current temperature */
- int TRIntOrd; /* Order of integration method */
- long TRNItr; /* No. of iterations needed */
- long TRFrSt; /* No. of forward time steps */
- long TRRvSt; /* No. of reverse time steps */
- double TRSec; /* Time needed */
- double TRFourFreq; /* Fourier frequency */
- struct PrPlList
- *TRFourVar; /* ptr to list of .FOUR variables */
- int TRFourNH; /* Number of Fourier harmonics */
- };
- GLOBAL struct TRDef *TRData;
- GLOBAL double AG1, AG2, AG3, AG4; /* Coefficients for integration */
-
- #define TRFLG (TRData->TRfl)
- #define NOSOLV (TRData->TRUICfl)
- #define TROPPR (TRData->TROpfl)
- #define TSTOP (TRData->TREnd)
- #define TSTEP (TRData->TRPrStp)
- #define TSTART (TRData->TRSkip)
- #define TMAX (TRData->TRStCl)
- #define TIME (TRData->TRTime)
- #define DELTA (TRData->TRDelta)
- #define DELOLD (TRData->TRDelOld)
- #define VT (TRData->TRThrmVlt)
- #define IORD (TRData->TRIntOrd)
- #define TRITR (TRData->TRNItr)
- #define TRFRSTP (TRData->TRFrSt)
- #define TRRVSTP (TRData->TRRvSt)
- #define TRTIM (TRData->TRSec)
- #define TRFOURNH 9 /* Default value for TRFourNH */
- #define TRFOURMH 100 /* Max value for TRFourNH */
-
- double Trunc(); /* These return size of next time step from */
- /*
- * Mode controls some options during the iterations
- */
- #define MDBPDC 1 /* Small signal bias point calculation */
- #define MDBPTR 2 /* Bias point for transient analysis */
- #define MDDCSW 3 /* DC Sweep which uses previous step */
- #define MDTRAN 4 /* Transient analysis */
- #define MDAC 5 /* AC analysis */
- /*
- * InitFl controls where the device evaluation code gets its terminal voltages
- * from.
- */
- #define INNORM 1 /* Use VltVct values from last iteration */
- #define ININIT 2 /* Use IC= values in device table (transient
- bias point) or value calculated and
- stored in model table (reg. bias point) */
- #define INOFF 3 /* Use VltVct unless device has OFF flag,
- then use 0 */
- #define INSTV0 4 /* Use STVCT0 (= value used previous iteration) */
- #define INTRAN 5 /* Use STVCT1 (= value used previous step) */
- #define INPRDCT 6 /* Extrapolate using STVCT2 and STVCT1 */