Exemple #1
0
/**********
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"),
Exemple #2
0
/**********
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"),
Exemple #3
0
#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"),
Exemple #4
0
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"),
Exemple #5
0
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")
};
Exemple #6
0
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"),
Exemple #7
0
/**********
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")
};
Exemple #8
0
#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"),
Exemple #9
0
/**********
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[] = {
Exemple #10
0
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"),
Exemple #11
0
/**********
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"),
Exemple #12
0
/***************************************************************************
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,
Exemple #13
0
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"),
Exemple #14
0
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,
Exemple #15
0
/**********
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[] = {
Exemple #16
0
/**********
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"),
Exemple #17
0
/***************************************************************************
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"),