3 changed files with 0 additions and 242 deletions
@ -1,27 +0,0 @@ |
|||||
/********** |
|
||||
Copyright 1993 Regents of the University of California. All rights reserved. |
|
||||
Author: 1993 David A. Gates |
|
||||
**********/ |
|
||||
/* |
|
||||
*/ |
|
||||
#ifndef ARCH |
|
||||
#define ARCH |
|
||||
|
|
||||
#ifdef PARALLEL_ARCH |
|
||||
#include "sndrcv.h" |
|
||||
#include "evlog.h" |
|
||||
|
|
||||
#define MT_LOAD 100 |
|
||||
#define MT_ACLOAD 200 |
|
||||
#define MT_PZLOAD 300 |
|
||||
#define MT_TRANAN 400 |
|
||||
#define MT_TRUNC 500 |
|
||||
#define MT_COMBINE 600 |
|
||||
#define MT_CONV 700 |
|
||||
#define MT_ASK 800 |
|
||||
#endif /* PARALLEL_ARCH */ |
|
||||
|
|
||||
extern int ARCHme; /* My logical process number */ |
|
||||
extern int ARCHsize; /* Total number of processes */ |
|
||||
|
|
||||
#endif /* ARCH */ |
|
||||
@ -1,16 +0,0 @@ |
|||||
/********** |
|
||||
Copyright 1990 Regents of the University of California. All rights reserved. |
|
||||
Author: 1986 Wayne A. Christopher, U. C. Berkeley CAD Group |
|
||||
**********/ |
|
||||
|
|
||||
/* |
|
||||
* |
|
||||
* Definitions common to the various graphics modules. |
|
||||
*/ |
|
||||
|
|
||||
#define G_NONE 0 |
|
||||
#define G_HCOPY 1 |
|
||||
#define G_TERM 2 |
|
||||
#define G_MFB 3 |
|
||||
#define G_X 4 |
|
||||
|
|
||||
@ -1,199 +0,0 @@ |
|||||
/************* |
|
||||
* Structure definitions header file |
|
||||
* 1999 E. Rouat |
|
||||
************/ |
|
||||
|
|
||||
/* |
|
||||
* This file will contain all extern structure definitions needed |
|
||||
* by ngspice code. (in construction) |
|
||||
*/ |
|
||||
|
|
||||
#ifndef _STRUCT_H_ |
|
||||
#define _STRUCT_H_ |
|
||||
|
|
||||
|
|
||||
/* cpstd.h */ |
|
||||
|
|
||||
/* Doubly linked lists of words. */ |
|
||||
|
|
||||
struct wordlist { |
|
||||
char *wl_word; |
|
||||
struct wordlist *wl_next; |
|
||||
struct wordlist *wl_prev; |
|
||||
} ; |
|
||||
|
|
||||
typedef struct wordlist wordlist; |
|
||||
|
|
||||
/* Complex numbers. */ |
|
||||
|
|
||||
struct _complex { /* IBM portability... */ |
|
||||
double cx_real; |
|
||||
double cx_imag; |
|
||||
} ; |
|
||||
|
|
||||
typedef struct _complex complex; |
|
||||
|
|
||||
|
|
||||
/* |
|
||||
* The display device structure (ftedev.h) |
|
||||
*/ |
|
||||
|
|
||||
typedef struct { |
|
||||
char *name; |
|
||||
int minx, miny; |
|
||||
int width, height; /* in screen coordinate system */ |
|
||||
int numlinestyles, numcolors; /* number supported */ |
|
||||
int (*Init)(); |
|
||||
int (*NewViewport)(); |
|
||||
int (*Close)(); |
|
||||
int (*Clear)(); |
|
||||
int (*DrawLine)(); |
|
||||
int (*Arc)(); |
|
||||
int (*Text)(); |
|
||||
int (*DefineColor)(); |
|
||||
int (*DefineLinestyle)(); |
|
||||
int (*SetLinestyle)(); |
|
||||
int (*SetColor)(); |
|
||||
int (*Update)(); |
|
||||
/* int (*NDCtoScreen)(); */ |
|
||||
int (*Track)(); |
|
||||
int (*MakeMenu)(); |
|
||||
int (*MakeDialog)(); |
|
||||
int (*Input)(); |
|
||||
int (*DatatoScreen)(); |
|
||||
} DISPDEVICE; |
|
||||
|
|
||||
extern DISPDEVICE *dispdev; |
|
||||
|
|
||||
|
|
||||
|
|
||||
/* ckt */ |
|
||||
|
|
||||
|
|
||||
typedef struct sCKTnode { |
|
||||
IFuid name; |
|
||||
int type; |
|
||||
int number; /* Number of the node */ |
|
||||
double ic; /* Value of the initial condition */ |
|
||||
double nodeset; /* Value of the .nodeset option */ |
|
||||
double *ptr; /* ??? */ |
|
||||
struct sCKTnode *next; /* pointer to the next node */ |
|
||||
unsigned int icGiven:1; /* FLAG ic given */ |
|
||||
unsigned int nsGiven:1; /* FLAG nodeset given */ |
|
||||
} CKTnode; |
|
||||
|
|
||||
|
|
||||
/* the following structure is REALLY MESSY!! */ |
|
||||
|
|
||||
|
|
||||
typedef struct { |
|
||||
GENmodel *CKThead[MAXNUMDEVS]; /* The max number of loadable devices */ |
|
||||
STATistics *CKTstat; /* The STATistics structure */ |
|
||||
double *(CKTstates[8]); /* Used as memory of past steps ??? */ |
|
||||
double CKTtime; /* ??? */ |
|
||||
double CKTdelta; /* ??? */ |
|
||||
double CKTdeltaOld[7]; /* Memory for ??? */ |
|
||||
double CKTtemp; /* Actual temperature of CKT */ |
|
||||
double CKTnomTemp; /* Reference temperature 27 C ? */ |
|
||||
double CKTvt; /* Thernmal voltage at CKTtemp */ |
|
||||
double CKTag[7]; /* the gear variable coefficient matrix */ |
|
||||
#ifdef PREDICTOR |
|
||||
double CKTagp[7]; /* the gear predictor variable coefficient matrix */ |
|
||||
#endif /*PREDICTOR*/ |
|
||||
int CKTorder; /* the integration method order */ |
|
||||
int CKTmaxOrder; /* maximum integration method order */ |
|
||||
int CKTintegrateMethod; /* the integration method to be used */ |
|
||||
SMPmatrix *CKTmatrix; /* pointer to sparse matrix */ |
|
||||
int CKTniState; /* internal state */ |
|
||||
double *CKTrhs; /* current rhs value - being loaded */ |
|
||||
double *CKTrhsOld; /* previous rhs value for convergence testing */ |
|
||||
double *CKTrhsSpare; /* spare rhs value for reordering */ |
|
||||
double *CKTirhs; /* current rhs value - being loaded (imag) */ |
|
||||
double *CKTirhsOld; /* previous rhs value (imaginary)*/ |
|
||||
double *CKTirhsSpare; /* spare rhs value (imaginary)*/ |
|
||||
#ifdef PREDICTOR |
|
||||
double *CKTpred; /* predicted solution vector */ |
|
||||
double *CKTsols[8]; /* previous 8 solutions */ |
|
||||
#endif /* PREDICTOR */ |
|
||||
double *CKTrhsOp; /* opearating point values */ |
|
||||
double *CKTsenRhs; /* current sensitivity rhs values */ |
|
||||
double *CKTseniRhs; /* current sensitivity rhs values (imag)*/ |
|
||||
int CKTmaxEqNum; /* And this ? */ |
|
||||
int CKTcurrentAnalysis; /* the analysis in progress (if any) */ |
|
||||
|
|
||||
/* defines for the value of CKTcurrentAnalysis */ |
|
||||
/* are in TSKdefs.h */ |
|
||||
|
|
||||
CKTnode *CKTnodes; /* ??? */ |
|
||||
CKTnode *CKTlastNode; /* ??? */ |
|
||||
int CKTnumStates; /* Number of sates effectively valid ??? */ |
|
||||
long CKTmode; /* Mode of operation of the circuit ??? */ |
|
||||
int CKTbypass; /* bypass option, how does it work ? */ |
|
||||
int CKTdcMaxIter; /* iteration limit for dc op. (itl1) */ |
|
||||
int CKTdcTrcvMaxIter; /* iteration limit for dc tran. curv (itl2) */ |
|
||||
int CKTtranMaxIter; /* iteration limit for each timepoint for tran*/ |
|
||||
/* (itl4) */ |
|
||||
int CKTbreakSize; /* ??? */ |
|
||||
int CKTbreak; /* ??? */ |
|
||||
double CKTsaveDelta; /* ??? */ |
|
||||
double CKTminBreak; /* ??? */ |
|
||||
double *CKTbreaks; /* List of breakpoints ??? */ |
|
||||
double CKTabstol; /* --- */ |
|
||||
double CKTpivotAbsTol; /* --- */ |
|
||||
double CKTpivotRelTol; /* --- */ |
|
||||
double CKTreltol; /* --- */ |
|
||||
double CKTchgtol; /* --- */ |
|
||||
double CKTvoltTol; /* --- */ |
|
||||
/* What is this define for ? */ |
|
||||
#ifdef NEWTRUNC |
|
||||
double CKTlteReltol; |
|
||||
double CKTlteAbstol; |
|
||||
#endif /* NEWTRUNC */ |
|
||||
double CKTgmin; /* Parallel Conductance --- */ |
|
||||
double CKTdelmin; /* ??? */ |
|
||||
double CKTtrtol; /* ??? */ |
|
||||
double CKTfinalTime; /* ??? */ |
|
||||
double CKTstep; /* ??? */ |
|
||||
double CKTmaxStep; /* ??? */ |
|
||||
double CKTinitTime; /* ??? */ |
|
||||
double CKTomega; /* ??? */ |
|
||||
double CKTsrcFact; /* ??? */ |
|
||||
double CKTdiagGmin; /* ??? */ |
|
||||
int CKTnumSrcSteps; /* ??? */ |
|
||||
int CKTnumGminSteps; /* ??? */ |
|
||||
int CKTnoncon; /* ??? */ |
|
||||
double CKTdefaultMosL; /* Default Channel Lenght of MOS devices */ |
|
||||
double CKTdefaultMosW; /* Default Channel Width of MOS devics */ |
|
||||
double CKTdefaultMosAD; /* Default Drain Area of MOS */ |
|
||||
double CKTdefaultMosAS; /* Default Source Area of MOS */ |
|
||||
unsigned int CKThadNodeset:1; /* ??? */ |
|
||||
unsigned int CKTfixLimit:1; /* flag to indicate that the limiting of |
|
||||
* MOSFETs should be done as in SPICE2 */ |
|
||||
unsigned int CKTnoOpIter:1; /* flag to indicate not to try the operating |
|
||||
* point brute force, but to use gmin stepping |
|
||||
* first */ |
|
||||
unsigned int CKTisSetup:1; /* flag to indicate if CKTsetup done */ |
|
||||
JOB *CKTcurJob; /* Next analysis to be performed ??? */ |
|
||||
|
|
||||
SENstruct *CKTsenInfo; /* the sensitivity information */ |
|
||||
double *CKTtimePoints; /* list of all accepted timepoints in the |
|
||||
current transient simulation */ |
|
||||
double *CKTdeltaList; /* list of all timesteps in the current |
|
||||
transient simulation */ |
|
||||
int CKTtimeListSize; /* size of above lists */ |
|
||||
int CKTtimeIndex; /* current position in above lists */ |
|
||||
int CKTsizeIncr; /* amount to increment size of above arrays |
|
||||
when you run out of space */ |
|
||||
unsigned int CKTtryToCompact:1; /* try to compact past history for LTRA |
|
||||
lines */ |
|
||||
unsigned int CKTbadMos3:1; /* Use old, unfixed MOS3 equations */ |
|
||||
unsigned int CKTkeepOpInfo:1; /* flag for small signal analyses */ |
|
||||
int CKTtroubleNode; /* Non-convergent node number */ |
|
||||
GENinstance *CKTtroubleElt; /* Non-convergent device instance */ |
|
||||
|
|
||||
} CKTcircuit; |
|
||||
|
|
||||
|
|
||||
|
|
||||
|
|
||||
#endif /* _STRUCT_H_ */ |
|
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue