From add5a573f2cd80fe4f1a49f5ee39bbdde9e51d08 Mon Sep 17 00:00:00 2001 From: stefanjones Date: Tue, 26 Nov 2002 11:31:39 +0000 Subject: [PATCH] rming --- src/include/multi_line.h | 66 ------- src/include/swec.h | 396 --------------------------------------- 2 files changed, 462 deletions(-) delete mode 100644 src/include/multi_line.h delete mode 100644 src/include/swec.h diff --git a/src/include/multi_line.h b/src/include/multi_line.h deleted file mode 100644 index 7edf9dbab..000000000 --- a/src/include/multi_line.h +++ /dev/null @@ -1,66 +0,0 @@ -/* - * project.h - * - * Diagonalization by Successive Rotations Method - * (The Jacobi Method) - * - * Date: October 4, 1991 - * - * Author: Shen Lin - * - * Copyright (C) University of California, Berkeley - * - */ - -/************************************************************ - * - * Macros - * - ************************************************************/ - -#ifndef MAX -#define MAX(x, y) ((x) > (y) ? (x) : (y)) -#endif -#ifndef MIN -#define MIN(x, y) ((x) < (y) ? (x) : (y)) -#endif -#ifndef ABS -#define ABS(x) ((x) >= 0 ? (x) : (-(x))) -#endif -#ifndef SGN -#define SGN(x) ((x) >= 0 ? (1.0) : (-1.0)) -#endif - -/************************************************************ - * - * Defines - * - ************************************************************/ - -#define MAX_DIM 16 -#define Title "Diagonalization of a Symmetric matrix A (A = S^-1 D S)\n" -#define Left_deg 7 /* should be greater than or equal to 6 */ -#define Right_deg 2 - - -/************************************************************ - * - * Data Structure Definitions - * - ************************************************************/ - -typedef struct linked_list_of_max_entry{ - struct linked_list_of_max_entry *next; - int row, col; - float value; -} MAXE, *MAXE_PTR; - -typedef struct { - double *Poly[MAX_DIM]; - double C_0[MAX_DIM]; -} Mult_Out; - -typedef struct { - double *Poly; - double C_0; -} Single_Out; diff --git a/src/include/swec.h b/src/include/swec.h deleted file mode 100644 index 532741dfb..000000000 --- a/src/include/swec.h +++ /dev/null @@ -1,396 +0,0 @@ -/* - * project.h - * - * Timing Simulator (ESWEC) - * - * Date: October 5, 1990 - * - * Author: Shen Lin - * - * Copyright (C) University of California, Berkeley - * - */ -#ifndef _SWEC_H_ -#define _SWEC_H_ - -/************************************************************ - * - * Defines - * - ************************************************************/ - -#define MainTitle " Timing Simulator\n" -#define MAXDEVICE 4 -#define MAXMOS 31500 /* suggested value */ -#define MAXDD 256 /* suggested value */ -#define MAXVCCS 128 /* suggested value */ -#define MAXTIME 1000000 -#define MAXNODE 136 - -#define TAB_SIZE 8192 /* originally 2048 */ -#define NUM_STEPS_PER_MICRON 10 /* 0.1 micron is the smallest step */ -#define MAX_FET_SIZE 80 /* largest fet in microns */ -#define Vol_Step 1.0e-3 /* voltage resolution */ -#define SCL 1000.0 /* voltage scaler (1V/3mv) */ -#define MAX_CP_TX_LINES 4 /* max number of coupled lines in - a multiconductor line system */ - -/************************************************************ - * - * Macro - * - ************************************************************/ -#ifndef MAX -#define MAX(x, y) ((x) > (y) ? (x) : (y)) -#endif -#ifndef MIN -#define MIN(x, y) ((x) < (y) ? (x) : (y)) -#endif -#ifndef ABS -#define ABS(x) ((x) >= 0 ? (x) : (-(x))) -#endif - -/************************************************************ - * - * Data Structure Definitions - * - ************************************************************/ - -typedef struct reglist REGLIST; -typedef struct node NODE; -typedef struct mosfet MOSFET; -typedef struct emosfet EMOSFET; -typedef struct diode DIODE; -typedef struct ediode EDIODE; -typedef struct vccs VCCS; -typedef struct evccs EVCCS; -typedef struct i_cap I_CAP; -typedef struct ei_cap EI_CAP; -typedef struct resistor RESISTOR; -typedef struct eresistor ERESISTOR; -typedef struct rline RLINE; -typedef struct erline ERLINE; -typedef struct txline TXLine; -typedef struct etxline ETXLine; -typedef struct cpline CPLine; -typedef struct ecpline ECPLine; -typedef struct bqueue BQUEUE; -typedef struct pqueue PQUEUE; -typedef struct ms_device MS_DEVICE; -typedef struct bp_device BP_DEVICE; -typedef struct dd_device DD_DEVICE; - -struct mosfet{ - int type; /* 1 : NMOS, 2 : PMOS */ - MS_DEVICE *device; /* NULL if the nominal device model */ - NODE *out_node; - NODE *in_node; - float Cs, Cd; - MOSFET *nx; - int time; /* instantaneous information */ - float voltage, dvg; /* instantaneous information */ - float vgN_1; /* gate voltage at previous event point */ - float G; /* effective conductance at t(n) */ - float effective; /* W over effective L */ - int tabW; /* width in ns/um */ - REGLIST *region; /* region associated with this mos */ - /* NULL if driven by the node of the same region */ -}; - -struct diode{ - float Is; /* saturation current */ - float Vj; /* junction potential */ - double G; - NODE *in_node; - NODE *out_node; - DIODE *nx; -}; - -struct vccs{ - float Is; /* saturation current */ - NODE *in_node; - NODE *out_node; - NODE *pcv_node; - NODE *ncv_node; - DIODE *nx; -}; - -typedef struct { - char name[10]; /* device name */ - int type; /* 1 : NMOS, 2 : PMOS */ - int device_id; /* device id */ -} DEVICENAME; - -struct ms_device{ - char name[10]; - int used; /* device used in circuit flag */ - float rho; /* device vsat denom param */ - float alpha; /* device vsat denom vgg param */ - float vt; /* device zero bias threshold voltage in mv*/ - float gamma; /* device backgate bias vt param */ - float fermi; /* device fermi potential in mv */ - float theta; /* device backgate bias vt width param */ - float mu; /* device vt width param */ - float eta; /* device saturation slope */ - float eta5; /* eta - 0.5 */ - int pzld; /* positive lambda */ - float lambda; /* channel-length modulation */ - float kp; /* device conductance parameter */ - float cgs0; /* gate-source overlap capacitance - per meter channel width */ - float cgd0; /* gate-drain overlap capacitance - per meter channel width */ - float cox; /* oxide-field capacitance - per square meter of gate area */ - float cjsw; /* zero-biased junction sidewall capacitace - per meter of junction perimeter */ - float cj0; /* zero-biased junction bottom capacitace - per square meter of junction area */ - float keq; /* abrupt junction parameter */ - - float ld; /* lateral diffusion */ - float *thresh; - float *sat; - float *dsat; - float *body; - float *gammod; -}; - -struct bp_device{ - char name[10]; - int type; /* 1 : NPN; 2 : PNP */ - float rc; /* collector resistance */ - float re; /* emitter resistance */ - float rb; /* zero bias base resistance */ - float Is; /* transport saturation current */ - float Af; /* ideal maximum forward alpha */ - float Ar; /* ideal maximum reverse alpha */ - float Vje; /* B-E built-in potential */ - float Vjc; /* B-C built-in potential */ -}; - -struct dd_device{ - char name[10]; - float Is; /* saturation current */ - float rs; /* ohmic resistance */ - float Vj; /* junction potential */ -}; - -typedef struct linked_lists_of_Bpoint{ - struct linked_lists_of_Bpoint *next; - int time; - float voltage; - float slope; -} BPOINT, *BPOINTPTR; - -typedef struct linked_lists_of_nodeName{ - char id[24]; - struct linked_lists_of_nodeName *left, *right; - NODE *nd; -} NDname, *NDnamePt; - -struct node { - NDnamePt name; - EMOSFET *mptr; /* pointer to head of src/drn MOSFET list */ - EMOSFET *gptr; /* pointer to head of gate MOSFET list */ - EI_CAP *cptr; /* pointer to head of internodal cap list */ - ERESISTOR *rptr; /* pointer to head of internodal resistor list */ - ERLINE *rlptr; /* pointer to head of internodal TX line list */ - ETXLine *tptr; /* pointer to head of transmission line list */ - ECPLine *cplptr; /* pointer to head of coupled lines list */ - EDIODE *ddptr; /* pointer to head of diode list */ - EVCCS *vccsptr; /* pointer to head of VCCS list */ - EVCCS *cvccsptr;/* pointer to head of controlled VCCS list */ - NODE *next; /* pointer to next node */ - REGLIST *region; /* region associated with this node */ - NODE *base_ptr; /* group src/drn nodes into region */ - /* charles 2,2 1/18/93 - float V; - float dv; voltage at t(n-1) and slope at t(n) - */ - double V; - double dv; - float CL; /* grounded capacitance in F */ - double gsum; /*^ sum of the equivalent conductance */ - double cgsum; /*^ sum of the constant conductance */ - double is; /*^ equivalent Is */ - int tag; /* -2 : Vdd, -3 : Vss, -1 : initial value */ - int flag; /*^ flag to show some features of the node */ - PQUEUE *qptr; /*^ pointer to the entry in the queue or waiting list */ - FILE *ofile; /* output file for the signal at this node */ - /* NULL if not for print */ - int dvtag; -}; - -struct reglist{ - REGLIST *rnxt; /* pointer to next region */ - NODE *nlist; /* node list */ - MOSFET *mos; - I_CAP *cap; - RESISTOR *res; - TXLine *txl; - CPLine *cpl; - struct linked_lists_of_Bpoint *Bpoint; /* break points at primary inputs */ - struct linked_lists_of_Bpoint *head; /* header of the break points at primary inputs */ - int eTime; /* time when this region previously evaluated */ - int DCvalue; - /* 1, 0, 2 : unknown, 3 : unchangeable 1, 4 : unchangeable 0 */ - BQUEUE *prediction; -}; - - -struct bqueue{ - int key; /* time for the event to be fired, or DC weight */ - BQUEUE *left; - BQUEUE *right; - BQUEUE *pred; - BQUEUE *pool; - REGLIST *region; /* region id */ -}; - -struct pqueue { - NODE *node; - PQUEUE *next; - PQUEUE *prev; -}; - -struct i_cap { - NODE *in_node; - NODE *out_node; - float cap; - I_CAP *nx; -}; - -struct resistor { - NODE *in_node; - NODE *out_node; - float g; /* conductance */ - int ifF; /* whether floating */ - float g1; /* conductance for floating resistor */ - RESISTOR *nx; -}; - -struct rline { - NODE *in_node; - NODE *out_node; - float g; /* conductance */ - RLINE *nx; -}; - -typedef struct linked_lists_of_vi_txl{ - struct linked_lists_of_vi_txl *next; - struct linked_lists_of_vi_txl *pool; - int time; - /* charles 2,2 - float v_i, v_o; - float i_i, i_o; - */ - double v_i, v_o; - double i_i, i_o; -} VI_list_txl; - -typedef struct linked_lists_of_vi{ - struct linked_lists_of_vi *next; - struct linked_lists_of_vi *pool; - int time; - float v_i[MAX_CP_TX_LINES], v_o[MAX_CP_TX_LINES]; - float i_i[MAX_CP_TX_LINES], i_o[MAX_CP_TX_LINES]; -} VI_list; - -typedef struct { - double c, x; - double cnv_i, cnv_o; -} TERM; - -typedef struct { - int ifImg; - double aten; - TERM tm[3]; -} TMS; - -struct cpline { - int noL; - int ext; - float ratio[MAX_CP_TX_LINES]; - float taul[MAX_CP_TX_LINES]; - TMS *h1t[MAX_CP_TX_LINES][MAX_CP_TX_LINES]; - TMS *h2t[MAX_CP_TX_LINES][MAX_CP_TX_LINES][MAX_CP_TX_LINES]; - TMS *h3t[MAX_CP_TX_LINES][MAX_CP_TX_LINES][MAX_CP_TX_LINES]; - double h1C[MAX_CP_TX_LINES][MAX_CP_TX_LINES]; - double h2C[MAX_CP_TX_LINES][MAX_CP_TX_LINES][MAX_CP_TX_LINES]; - double h3C[MAX_CP_TX_LINES][MAX_CP_TX_LINES][MAX_CP_TX_LINES]; - double h1e[MAX_CP_TX_LINES][MAX_CP_TX_LINES][3]; - NODE *in_node[MAX_CP_TX_LINES]; - NODE *out_node[MAX_CP_TX_LINES]; - int tag_i[MAX_CP_TX_LINES], tag_o[MAX_CP_TX_LINES]; - CPLine *nx; - struct linked_lists_of_vi *vi_head; - struct linked_lists_of_vi *vi_tail; - float dc1[MAX_CP_TX_LINES], dc2[MAX_CP_TX_LINES]; -}; - -struct txline { - int lsl; /* 1 if the line is lossless, otherwise 0 */ - int ext; /* a flag, set if time step is greater than tau */ - float ratio; - float taul; - double sqtCdL; - double h2_aten; - double h3_aten; - double h1C; - double h1e[3]; - int ifImg; - NODE *in_node; - NODE *out_node; - int tag_i, tag_o; - TERM h1_term[3]; - TERM h2_term[3]; - TERM h3_term[6]; - TXLine *nx; - struct linked_lists_of_vi_txl *vi_head; - struct linked_lists_of_vi_txl *vi_tail; - float dc1, dc2; - int newtp; /* flag indicating new time point */ -}; - -struct evccs { - VCCS *vccs; - EVCCS *link; -}; - -struct ediode { - DIODE *dd; - EDIODE *link; -}; - -struct emosfet { - MOSFET *mos; - EMOSFET *link; -}; - -struct ei_cap { - I_CAP *cap; - EI_CAP *link; -}; - -struct eresistor { - RESISTOR *res; - ERESISTOR *link; -}; - -struct erline { - RLINE *rl; - ERLINE *link; -}; - -struct etxline { - TXLine *line; - ETXLine *link; -}; - -struct ecpline { - CPLine *line; - ECPLine *link; -}; - -#endif