/********** Copyright 1990 Regents of the University of California. All rights reserved. Author: 1987 Thomas L. Quarles Modified: 2000 AlansFixes **********/ #include "ngspice.h" #include "devdefs.h" #include "ifsim.h" #include "mos1defs.h" #include "suffix.h" IFparm MOS1pTable[] = { /* parameters */ IOPU("m", MOS1_M, IF_REAL , "Multiplier"), IOPU("l", MOS1_L, IF_REAL , "Length"), IOPU("w", MOS1_W, IF_REAL , "Width"), IOPU("ad", MOS1_AD, IF_REAL , "Drain area"), IOPU("as", MOS1_AS, IF_REAL , "Source area"), IOPU("pd", MOS1_PD, IF_REAL , "Drain perimeter"), IOPU("ps", MOS1_PS, IF_REAL , "Source perimeter"), IOPU("nrd", MOS1_NRD, IF_REAL , "Drain squares"), IOPU("nrs", MOS1_NRS, IF_REAL , "Source squares"), IP("off", MOS1_OFF, IF_FLAG , "Device initially off"), IOPU("icvds", MOS1_IC_VDS, IF_REAL , "Initial D-S voltage"), IOPU("icvgs", MOS1_IC_VGS, IF_REAL , "Initial G-S voltage"), IOPU("icvbs", MOS1_IC_VBS, IF_REAL , "Initial B-S voltage"), IOPU("temp", MOS1_TEMP, IF_REAL, "Instance temperature"), IOPU("dtemp", MOS1_DTEMP, IF_REAL, "Instance temperature difference"), IP( "ic", MOS1_IC, IF_REALVEC, "Vector of D-S, G-S, B-S voltages"), IP( "sens_l", MOS1_L_SENS, IF_FLAG, "flag to request sensitivity WRT length"), IP( "sens_w", MOS1_W_SENS, IF_FLAG, "flag to request sensitivity WRT width"),
/********** Copyright 1990 Regents of the University of California. All rights reserved. Author: 1985 Thomas L. Quarles **********/ #include "spice.h" #include <stdio.h> #include "devdefs.h" #include "ifsim.h" #include "mos2defs.h" #include "suffix.h" IFparm MOS2pTable[] = { /* parameters */ IOPU("l", MOS2_L, IF_REAL , "Length"), IOPU("w", MOS2_W, IF_REAL , "Width"), IOPU("ad", MOS2_AD, IF_REAL , "Drain area"), IOPU("as", MOS2_AS, IF_REAL , "Source area"), IOPU("pd", MOS2_PD, IF_REAL , "Drain perimeter"), IOPU("ps", MOS2_PS, IF_REAL , "Source perimeter"), OP( "id", MOS2_CD, IF_REAL,"Drain current"), OPR( "cd", MOS2_CD, IF_REAL,""), OP( "ibd", MOS2_CBD, IF_REAL, "B-D junction current"), OP( "ibs", MOS2_CBS, IF_REAL, "B-S junction current"), OP( "is", MOS2_CS, IF_REAL, "Source current "), OP( "ig", MOS2_CG, IF_REAL, "Gate current "), OP( "ib", MOS2_CB, IF_REAL, "Bulk current "), OP( "vgs", MOS2_VGS, IF_REAL, "Gate-Source voltage"), OP( "vds", MOS2_VDS, IF_REAL, "Drain-Source voltage"), OP( "vbs", MOS2_VBS, IF_REAL, "Bulk-Source voltage"), OPU( "vbd", MOS2_VBD, IF_REAL, "Bulk-Drain voltage"), IOPU("nrd", MOS2_NRD, IF_REAL , "Drain squares"),
#include "ngspice.h" #include "devdefs.h" #include "capdefs.h" #include "suffix.h" IFparm CAPpTable[] = { /* parameters */ IOPAP("capacitance", CAP_CAP, IF_REAL, "Device capacitance"), IOPAP("cap", CAP_CAP, IF_REAL, "Device capacitance"), IOPAP("c", CAP_CAP, IF_REAL, "Device capacitance"), IOPAU("ic", CAP_IC, IF_REAL, "Initial capacitor voltage"), IOPZU("temp", CAP_TEMP, IF_REAL, "Instance operating temperature"), IOPZ( "dtemp", CAP_DTEMP, IF_REAL, "Instance temperature difference from the rest of the circuit"), IOPAU("w", CAP_WIDTH, IF_REAL, "Device width"), IOPAU("l", CAP_LENGTH, IF_REAL, "Device length"), IOPU( "m", CAP_M, IF_REAL, "Parallel multiplier"), IOPU( "scale", CAP_SCALE, IF_REAL, "Scale factor"), IP( "sens_cap", CAP_CAP_SENS, IF_FLAG, "flag to request sens. WRT cap."), OP( "i", CAP_CURRENT, IF_REAL, "Device current"), OP( "p", CAP_POWER, IF_REAL, "Instantaneous device power"), OPU( "sens_dc", CAP_QUEST_SENS_DC, IF_REAL, "dc sensitivity "), OPU( "sens_real", CAP_QUEST_SENS_REAL, IF_REAL, "real part of ac sensitivity"), OPU( "sens_imag", CAP_QUEST_SENS_IMAG, IF_REAL, "dc sens. & imag part of ac sens."), OPU( "sens_mag", CAP_QUEST_SENS_MAG, IF_REAL, "sensitivity of ac magnitude"), OPU( "sens_ph", CAP_QUEST_SENS_PH, IF_REAL, "sensitivity of ac phase"), OPU( "sens_cplx", CAP_QUEST_SENS_CPLX, IF_COMPLEX, "ac sensitivity") }; IFparm CAPmPTable[] = { /* names of model parameters */ IOPA( "cap", CAP_MOD_CAP, IF_REAL, "Model capacitance"),
Model Author: 1995 Colin McAndrew Motorola Spice3 Implementation: 2003 Dietmar Warning DAnalyse GmbH **********/ /* * This file defines the VBIC data structures that are * available to the next level(s) up the calling hierarchy */ #include "ngspice.h" #include "devdefs.h" #include "vbicdefs.h" #include "suffix.h" IFparm VBICpTable[] = { /* parameters */ IOPU("area", VBIC_AREA, IF_REAL, "Area factor"), IOPU("off", VBIC_OFF, IF_FLAG, "Device initially off"), IP("ic", VBIC_IC, IF_REALVEC, "Initial condition vector"), IOPAU("icvbe", VBIC_IC_VBE, IF_REAL, "Initial B-E voltage"), IOPAU("icvce", VBIC_IC_VCE, IF_REAL, "Initial C-E voltage"), IOPU("temp", VBIC_TEMP, IF_REAL, "Instance temperature"), IOPU("dtemp", VBIC_DTEMP, IF_REAL, "Instance delta temperature"), IOPU("m", VBIC_M, IF_REAL, "Multiplier"), OPU("collnode", VBIC_QUEST_COLLNODE, IF_INTEGER, "Number of collector node"), OPU("basenode", VBIC_QUEST_BASENODE, IF_INTEGER, "Number of base node"), OPU("emitnode", VBIC_QUEST_EMITNODE, IF_INTEGER, "Number of emitter node"), OPU("subsnode", VBIC_QUEST_SUBSNODE, IF_INTEGER, "Number of substrate node"), OPU("collCXnode",VBIC_QUEST_COLLCXNODE,IF_INTEGER, "Internal collector node"), OPU("collCInode",VBIC_QUEST_COLLCINODE,IF_INTEGER, "Internal collector node"), OPU("baseBXnode",VBIC_QUEST_BASEBXNODE,IF_INTEGER, "Internal base node"),
Copyright 1990 Regents of the University of California. All rights reserved. Author: 1987 Thomas L. Quarles **********/ #include "spice.h" #include <stdio.h> #include "devdefs.h" #include "urcdefs.h" #include "suffix.h" /* Model for uniform RC line */ IFparm URCpTable[] = { /* parameters */ IOPU( "l", URC_LEN, IF_REAL, "Length of transmission line"), IOPU( "n", URC_LUMPS, IF_REAL, "Number of lumps"), OPU( "pos_node",URC_POS_NODE,IF_INTEGER,"Positive node of URC"), OPU( "neg_node",URC_NEG_NODE,IF_INTEGER,"Negative node of URC"), OPU( "gnd", URC_GND_NODE,IF_INTEGER,"Ground node of URC") }; IFparm URCmPTable[] = { /* model parameters */ IOP( "k", URC_MOD_K, IF_REAL, "Propagation constant"), IOPA( "fmax", URC_MOD_FMAX, IF_REAL, "Maximum frequency of interest"), IOP( "rperl", URC_MOD_RPERL, IF_REAL, "Resistance per unit length"), IOPA( "cperl", URC_MOD_CPERL, IF_REAL, "Capacitance per unit length"), IOP( "isperl", URC_MOD_ISPERL, IF_REAL, "Saturation current per length"), IOP( "rsperl", URC_MOD_RSPERL, IF_REAL, "Diode resistance per length"), IP( "urc", URC_MOD_URC, IF_FLAG, "Uniform R.C. line model") };
Author: 1985 Thomas L. Quarles Modified to add PS model and new parameter definitions ( Anthony E. Parker ) Copyright 1994 Macquarie University, Sydney Australia. 10 Feb 1994: Parameter definitions called from jfetparm.h Extra state vectors added to JFET2pTable **********/ #include "ngspice/ngspice.h" #include "ngspice/ifsim.h" #include "ngspice/devdefs.h" #include "jfet2defs.h" #include "ngspice/suffix.h" IFparm JFET2pTable[] = { /* device parameters */ IOPU("off", JFET2_OFF, IF_FLAG, "Device initially off"), IOPAU("ic", JFET2_IC, IF_REALVEC,"Initial VDS,VGS vector"), IOPU("area", JFET2_AREA, IF_REAL, "Area factor"), IOPU("m", JFET2_M, IF_REAL, "Parallel Multiplier"), IOPAU("ic-vds", JFET2_IC_VDS, IF_REAL, "Initial D-S voltage"), IOPAU("ic-vgs", JFET2_IC_VGS, IF_REAL, "Initial G-S volrage"), IOPU("temp", JFET2_TEMP, IF_REAL, "Instance temperature"), IOPU("dtemp", JFET2_DTEMP, IF_REAL, "Instance temperature difference"), OPU("drain-node", JFET2_DRAINNODE, IF_INTEGER,"Number of drain node"), OPU("gate-node", JFET2_GATENODE, IF_INTEGER,"Number of gate node"), OPU("source-node", JFET2_SOURCENODE, IF_INTEGER,"Number of source node"), OPU("drain-prime-node", JFET2_DRAINPRIMENODE, IF_INTEGER,"Internal drain node"), OPU("source-prime-node",JFET2_SOURCEPRIMENODE,IF_INTEGER,"Internal source node"), OP("vgs", JFET2_VGS, IF_REAL, "Voltage G-S"), OP("vgd", JFET2_VGD, IF_REAL, "Voltage G-D"), OP("ig", JFET2_CG, IF_REAL, "Current at gate node"),
/********** Copyright 1990 Regents of the University of California. All rights reserved. Author: 1987 Thomas L. Quarles **********/ #include "ngspice/ngspice.h" #include "ngspice/ifsim.h" #include "ngspice/devdefs.h" #include "vcvsdefs.h" #include "ngspice/suffix.h" IFparm VCVSpTable[] = { /* parameters */ IOPU("gain", VCVS_GAIN, IF_REAL,"Voltage gain"), IP("sens_gain",VCVS_GAIN_SENS,IF_FLAG,"flag to request sensitivity WRT gain"), OPU("pos_node", VCVS_POS_NODE, IF_INTEGER, "Positive node of source"), OPU("neg_node", VCVS_NEG_NODE, IF_INTEGER, "Negative node of source"), OPU("cont_p_node",VCVS_CONT_P_NODE,IF_INTEGER, "Positive node of contr. source"), OPU("cont_n_node",VCVS_CONT_N_NODE,IF_INTEGER, "Negative node of contr. source"), IP("ic", VCVS_IC, IF_REAL, "Initial condition of controlling source"), OP("i", VCVS_CURRENT, IF_REAL, "Output current"), OP("v", VCVS_VOLTS, IF_REAL, "Output voltage"), OP("p", VCVS_POWER, IF_REAL, "Power"), OPU("sens_dc", VCVS_QUEST_SENS_DC, IF_REAL, "dc sensitivity "), OPU("sens_real", VCVS_QUEST_SENS_REAL,IF_REAL, "real part of ac sensitivity"), OPU("sens_imag", VCVS_QUEST_SENS_IMAG,IF_REAL, "imag part of ac sensitivity"), OPU("sens_mag", VCVS_QUEST_SENS_MAG, IF_REAL, "sensitivity of ac magnitude"), OPU("sens_ph", VCVS_QUEST_SENS_PH, IF_REAL, "sensitivity of ac phase"), OPU("sens_cplx", VCVS_QUEST_SENS_CPLX, IF_COMPLEX, "ac sensitivity") };
#include "spice.h" #include <stdio.h> #include "devdefs.h" #include "ifsim.h" #include "swdefs.h" #include "suffix.h" /* Model for switch */ IFparm SWpTable[] = { /* parameters */ IP("on", SW_IC_ON, IF_FLAG,"Switch initially closed"), IP("off", SW_IC_OFF, IF_FLAG,"Switch initially open"), IOPU("pos_node", SW_POS_NODE,IF_INTEGER,"Positive node of switch"), IOPU("neg_node", SW_NEG_NODE,IF_INTEGER,"Negative node of switch"), OPU("cont_p_node",SW_POS_CONT_NODE,IF_INTEGER, "Positive contr. node of switch"), OPU("cont_n_node",SW_NEG_CONT_NODE,IF_INTEGER, "Positive contr. node of switch"), OP("i", SW_CURRENT, IF_REAL, "Switch current"), OP("p", SW_POWER, IF_REAL, "Switch power") }; IFparm SWmPTable[] = { /* model parameters */ IOPU( "sw", SW_MOD_SW, IF_FLAG,"Switch model"), IOPU( "vt", SW_MOD_VTH, IF_REAL,"Threshold voltage"), IOPU( "vh", SW_MOD_VHYS, IF_REAL,"Hysteresis voltage"), IOPU( "ron", SW_MOD_RON, IF_REAL,"Resistance when closed"), OPU( "gon", SW_MOD_GON, IF_REAL,"Conductance when closed"),
/********** Copyright 1990 Regents of the University of California. All rights reserved. Author: 1987 Thomas L. Quarles **********/ #include "ngspice/ngspice.h" #include "ngspice/ifsim.h" #include "ngspice/devdefs.h" #include "cccsdefs.h" #include "ngspice/suffix.h" IFparm CCCSpTable[] = { /* parameters */ IOPU("gain", CCCS_GAIN, IF_REAL ,"Gain of source"), IOPU("control", CCCS_CONTROL, IF_INSTANCE,"Name of controlling source"), IOP ( "m", CCCS_M, IF_REAL , "Parallel multiplier"), IP("sens_gain",CCCS_GAIN_SENS,IF_FLAG, "flag to request sensitivity WRT gain"), OPU("neg_node", CCCS_NEG_NODE,IF_INTEGER, "Negative node of source"), OPU("pos_node", CCCS_POS_NODE,IF_INTEGER, "Positive node of source"), OP("i", CCCS_CURRENT, IF_REAL, "CCCS output current"), OP("v", CCCS_VOLTS, IF_REAL, "CCCS voltage at output"), OP("p", CCCS_POWER, IF_REAL, "CCCS power"), OPU("sens_dc", CCCS_QUEST_SENS_DC, IF_REAL, "dc sensitivity "), OPU("sens_real",CCCS_QUEST_SENS_REAL,IF_REAL, "real part of ac sensitivity"), OPU("sens_imag",CCCS_QUEST_SENS_IMAG,IF_REAL, "imag part of ac sensitivity"), OPU("sens_mag", CCCS_QUEST_SENS_MAG, IF_REAL, "sensitivity of ac magnitude"), OPU("sens_ph", CCCS_QUEST_SENS_PH, IF_REAL, "sensitivity of ac phase"), OPU("sens_cplx",CCCS_QUEST_SENS_CPLX,IF_COMPLEX, "ac sensitivity") }; #if 0 static IFparm CCCSmPTable[] = {
Author: 1987 Thomas L. Quarles **********/ #include "spice.h" #include <stdio.h> #include "devdefs.h" #include "ifsim.h" #include "mos3defs.h" #include "suffix.h" /* MOS Model - Most complicated and most accurate */ IFparm MOS3pTable[] = { /* parameters */ IOPU("l", MOS3_L, IF_REAL , "Length"), IOPU("w", MOS3_W, IF_REAL , "Width"), IOPU("ad", MOS3_AD, IF_REAL , "Drain area"), IOPU("as", MOS3_AS, IF_REAL , "Source area"), IOPU("pd", MOS3_PD, IF_REAL , "Drain perimeter"), IOPU("ps", MOS3_PS, IF_REAL , "Source perimeter"), OP("id", MOS3_CD, IF_REAL, "Drain current"), OPR("cd", MOS3_CD, IF_REAL, "Drain current"), OPU("ibd", MOS3_CBD, IF_REAL, "B-D junction current"), OPU("ibs", MOS3_CBS, IF_REAL, "B-S junction current"), OPU("is", MOS3_CS, IF_REAL, "Source current"), OPU("ig", MOS3_CG, IF_REAL, "Gate current"), OPU("ib", MOS3_CB, IF_REAL, "Bulk current"), OP("vgs", MOS3_VGS, IF_REAL, "Gate-Source voltage"), OP("vds", MOS3_VDS, IF_REAL, "Drain-Source voltage"), OP("vbs", MOS3_VBS, IF_REAL, "Bulk-Source voltage"),
/********** Copyright 1990 Regents of the University of California. All rights reserved. Author: 1987 Thomas L. Quarles Modified: Alan Gillespie **********/ #include "ngspice/ngspice.h" #include "ngspice/devdefs.h" #include "ngspice/ifsim.h" #include "mos9defs.h" #include "ngspice/suffix.h" IFparm MOS9pTable[] = { /* parameters */ IOPU("m", MOS9_M, IF_REAL , "Multiplier"), IOPU("l", MOS9_L, IF_REAL , "Length"), IOPU("w", MOS9_W, IF_REAL , "Width"), IOPU("ad", MOS9_AD, IF_REAL , "Drain area"), IOPU("as", MOS9_AS, IF_REAL , "Source area"), IOPU("pd", MOS9_PD, IF_REAL , "Drain perimeter"), IOPU("ps", MOS9_PS, IF_REAL , "Source perimeter"), OP("id", MOS9_CD, IF_REAL, "Drain current"), OPR("cd", MOS9_CD, IF_REAL, "Drain current"), OPU("ibd", MOS9_CBD, IF_REAL, "B-D junction current"), OPU("ibs", MOS9_CBS, IF_REAL, "B-S junction current"), OPU("is", MOS9_CS, IF_REAL, "Source current"), OPU("ig", MOS9_CG, IF_REAL, "Gate current"), OPU("ib", MOS9_CB, IF_REAL, "Bulk current"), OP("vgs", MOS9_VGS, IF_REAL, "Gate-Source voltage"), OP("vds", MOS9_VDS, IF_REAL, "Drain-Source voltage"), OP("vbs", MOS9_VBS, IF_REAL, "Bulk-Source voltage"),
/*************************************************************************** JSPICE3 adaptation of Spice3f2 - Copyright (c) Stephen R. Whiteley 1992 Copyright 1990 Regents of the University of California. All rights reserved. Authors: 1985 Thomas L. Quarles 1993 Stephen R. Whiteley ****************************************************************************/ #include "spice.h" #include <stdio.h> #include "tradefs.h" #include "uflags.h" static IFparm TRApTable[] = { /* parameters */ IOPU( "z0", TRA_Z0, IF_REAL, "Characteristic impedance"), IOPR( "zo", TRA_Z0, IF_REAL, "Characteristic impedance"), IOPAU( "f", TRA_FREQ, IF_REAL, "Frequency"), IOPAU( "td", TRA_TD, IF_REAL, "Transmission delay"), IOPAU( "nl", TRA_NL, IF_REAL, "Normalized length at frequency given"), IOPAU( "v1", TRA_V1, IF_REAL, "Initial voltage at end 1"), IOPAU( "v2", TRA_V2, IF_REAL, "Initial voltage at end 2"), IOPAU( "i1", TRA_I1, IF_REAL, "Initial current at end 1"), IOPAU( "i2", TRA_I2, IF_REAL, "Initial current at end 2"), IP( "ic", TRA_IC, IF_REALVEC,"Initial condition vector:v1,i1,v2,i2"), OP( "rel", TRA_RELTOL,IF_REAL, "Rel. rate of change of deriv. for bkpt"), OP( "abs", TRA_ABSTOL,IF_REAL, "Abs. rate of change of deriv. for bkpt"), OPU( "pos_node1", TRA_POS_NODE1, IF_INTEGER, "Positive node of end 1 of t. line"), OPU( "neg_node1", TRA_NEG_NODE1, IF_INTEGER, "Negative node of end 1 of t. line"), OPU( "pos_node2", TRA_POS_NODE2, IF_INTEGER,
Sydney University mods Copyright(c) 1989 Anthony E. Parker, David J. Skellern Laboratory for Communication Science Engineering Sydney University Department of Electrical Engineering, Australia **********/ #include "spice.h" #include <stdio.h> #include "ifsim.h" #include "devdefs.h" #include "jfetdefs.h" #include "suffix.h" IFparm JFETpTable[] = { /* device parameters */ IOPU("off", JFET_OFF, IF_FLAG, "Device initially off"), IOPAU("ic", JFET_IC, IF_REALVEC,"Initial VDS,VGS vector"), IOPU("area", JFET_AREA, IF_REAL, "Area factor"), IOPAU("ic-vds", JFET_IC_VDS, IF_REAL, "Initial D-S voltage"), IOPAU("ic-vgs", JFET_IC_VGS, IF_REAL, "Initial G-S volrage"), IOPU("temp", JFET_TEMP, IF_REAL, "Instance temperature"), OPU("drain-node", JFET_DRAINNODE, IF_INTEGER,"Number of drain node"), OPU("gate-node", JFET_GATENODE, IF_INTEGER,"Number of gate node"), OPU("source-node", JFET_SOURCENODE, IF_INTEGER,"Number of source node"), OPU("drain-prime-node", JFET_DRAINPRIMENODE, IF_INTEGER,"Internal drain node"), OPU("source-prime-node",JFET_SOURCEPRIMENODE,IF_INTEGER, "Internal source node"), OP("vgs", JFET_VGS, IF_REAL, "Voltage G-S"), OP("vgd", JFET_VGD, IF_REAL, "Voltage G-D"), OP("ig", JFET_CG, IF_REAL, "Current at gate node"), OP("id", JFET_CD, IF_REAL, "Current at drain node"),
IFparm LTRApTable[] = { /* parameters */ IOPAU( "v1", LTRA_V1, IF_REAL , "Initial voltage at end 1"), IOPAU( "v2", LTRA_V2, IF_REAL , "Initial voltage at end 2"), IOPAU( "i1", LTRA_I1, IF_REAL , "Initial current at end 1"), IOPAU( "i2", LTRA_I2, IF_REAL , "Initial current at end 2"), IP("ic", LTRA_IC, IF_REALVEC,"Initial condition vector:v1,i1,v2,i2"), OPU("pos_node1", LTRA_POS_NODE1,IF_INTEGER,"Positive node of end 1 of t-line"), OPU("neg_node1", LTRA_NEG_NODE1,IF_INTEGER,"Negative node of end 1 of t.line"), OPU("pos_node2", LTRA_POS_NODE2,IF_INTEGER,"Positive node of end 2 of t-line"), OPU("neg_node2", LTRA_NEG_NODE2,IF_INTEGER,"Negative node of end 2 of t-line") }; IFparm LTRAmPTable[] = { /* model parameters */ IOP( "ltra", LTRA_MOD_LTRA, IF_FLAG, "LTRA model"), IOPU( "r", LTRA_MOD_R, IF_REAL , "Resistance per metre"), IOPAU( "l", LTRA_MOD_L, IF_REAL , "Inductance per metre"), IOPR( "g", LTRA_MOD_G, IF_REAL , "Conductance per metre"), IOPAU( "c", LTRA_MOD_C, IF_REAL , "Capacitance per metre"), IOPU( "len", LTRA_MOD_LEN, IF_REAL , "length of line"), OP( "rel", LTRA_MOD_RELTOL, IF_REAL, "Rel. rate of change of deriv. for bkpt"), OP( "abs", LTRA_MOD_ABSTOL, IF_REAL, "Abs. rate of change of deriv. for bkpt"), IOPU("nocontrol", LTRA_MOD_NOCONTROL, IF_FLAG, "No timestep control"), IOPU( "steplimit", LTRA_MOD_STEPLIMIT, IF_FLAG, "always limit timestep to 0.8*(delay of line)"), IOPU( "nosteplimit", LTRA_MOD_NOSTEPLIMIT, IF_FLAG, "don't always limit timestep to 0.8*(delay of line)"), IOPU( "lininterp", LTRA_MOD_LININTERP, IF_FLAG, "use linear interpolation"), IOPU("quadinterp", LTRA_MOD_QUADINTERP, IF_FLAG, "use quadratic interpolation"), IOPU("mixedinterp", LTRA_MOD_MIXEDINTERP, IF_FLAG,
/********** Copyright 1990 Regents of the University of California. All rights reserved. Author: 1987 Thomas L. Quarles **********/ #include "ngspice/ngspice.h" #include "ngspice/ifsim.h" #include "ngspice/devdefs.h" #include "ccvsdefs.h" #include "ngspice/suffix.h" /* current controlled voltage source */ IFparm CCVSpTable[] = { /* parameters */ IOPU("gain", CCVS_TRANS, IF_REAL ,"Transresistance (gain)"), IOPU("control", CCVS_CONTROL, IF_INSTANCE,"Controlling voltage source"), IP("sens_trans",CCVS_TRANS_SENS,IF_FLAG, "flag to request sens. WRT transimpedance"), OPU("pos_node", CCVS_POS_NODE,IF_INTEGER, "Positive node of source"), OPU("neg_node", CCVS_NEG_NODE,IF_INTEGER, "Negative node of source"), OP("i", CCVS_CURRENT, IF_REAL, "CCVS output current"), OP("v", CCVS_VOLTS, IF_REAL, "CCVS output voltage"), OP("p", CCVS_POWER, IF_REAL, "CCVS power"), OPU("sens_dc", CCVS_QUEST_SENS_DC, IF_REAL,"dc sensitivity "), OPU("sens_real", CCVS_QUEST_SENS_REAL,IF_REAL,"real part of ac sensitivity"), OPU("sens_imag", CCVS_QUEST_SENS_IMAG,IF_REAL,"imag part of ac sensitivity"), OPU("sens_mag", CCVS_QUEST_SENS_MAG, IF_REAL,"sensitivity of ac magnitude"), OPU("sens_ph", CCVS_QUEST_SENS_PH, IF_REAL, "sensitivity of ac phase"), OPU("sens_cplx", CCVS_QUEST_SENS_CPLX,IF_COMPLEX,"ac sensitivity") }; char *CCVSnames[] = {
/********** Copyright 1990 Regents of the University of California. All rights reserved. Author: 1987 Thomas L. Quarles **********/ #include "ngspice/ngspice.h" #include "ngspice/devdefs.h" #include "ngspice/ifsim.h" #include "vccsdefs.h" #include "ngspice/suffix.h" IFparm VCCSpTable[] = { /* parameters */ IOPU("gain", VCCS_TRANS, IF_REAL, "Transconductance of source (gain)"), IOP ( "m", VCCS_M, IF_REAL , "Parallel multiplier"), IP("sens_trans", VCCS_TRANS_SENS,IF_FLAG, "flag to request sensitivity WRT transconductance"), OPU("pos_node", VCCS_POS_NODE, IF_INTEGER, "Positive node of source"), OPU("neg_node", VCCS_NEG_NODE, IF_INTEGER, "Negative node of source"), OPU("cont_p_node",VCCS_CONT_P_NODE,IF_INTEGER, "Positive node of contr. source"), OPU("cont_n_node",VCCS_CONT_N_NODE,IF_INTEGER, "Negative node of contr. source"), IP("ic", VCCS_IC, IF_REAL, "Initial condition of controlling source"), OP("i", VCCS_CURRENT,IF_REAL, "Output current"), OP("v", VCCS_VOLTS,IF_REAL, "Voltage across output"), OP("p", VCCS_POWER, IF_REAL, "Power"), OPU("sens_dc", VCCS_QUEST_SENS_DC, IF_REAL, "dc sensitivity "), OPU("sens_real", VCCS_QUEST_SENS_REAL, IF_REAL, "real part of ac sensitivity"), OPU("sens_imag", VCCS_QUEST_SENS_IMAG, IF_REAL, "imag part of ac sensitivity"), OPU("sens_mag", VCCS_QUEST_SENS_MAG, IF_REAL, "sensitivity of ac magnitude"), OPU("sens_ph", VCCS_QUEST_SENS_PH, IF_REAL, "sensitivity of ac phase"),
/*************************************************************************** JSPICE3 adaptation of Spice3f2 - Copyright (c) Stephen R. Whiteley 1992 Copyright 1990 Regents of the University of California. All rights reserved. Authors: 1985 Thomas L. Quarles 1993 Stephen R. Whiteley ****************************************************************************/ #include "spice.h" #include <stdio.h> #include "diodefs.h" #include "uflags.h" static IFparm DIOpTable[] = { /* parameters */ IOPU( "area", DIO_AREA, IF_REAL, "Area factor"), IOPAU("ic", DIO_IC, IF_REAL, "Initial device voltage"), IOPU( "off", DIO_OFF, IF_FLAG, "Initially off"), OP( "id", DIO_CURRENT,IF_REAL, "Diode current"), OPR( "c", DIO_CURRENT,IF_REAL, "Diode current"), OP( "vd", DIO_VOLTAGE,IF_REAL, "Diode voltage"), OPR( "voltage", DIO_VOLTAGE,IF_REAL, "Diode voltage"), OPU( "charge", DIO_CHARGE, IF_REAL, "Diode capacitor charge"), OPU( "capcur", DIO_CAPCUR, IF_REAL, "Diode capacitor current"), OP( "gd", DIO_CONDUCT,IF_REAL, "Diode conductance"), OPU( "p", DIO_POWER, IF_REAL, "Diode power"), IOPU( "temp", DIO_TEMP, IF_REAL, "Instance temperature"), OP( "cd", DIO_CAP, IF_REAL, "Diode capacitance") }; static IFparm DIOmPTable[] = { /* model parameters */ IOP( "is", DIO_MOD_IS, IF_REAL, "Saturation current"), IOP( "rs", DIO_MOD_RS, IF_REAL, "Ohmic resistance"),