Ejemplo n.º 1
0
**********/

/*
 * This file defines the LTRA data structures that are available to the
 * next level(s) up the calling hierarchy
 */

#include "spice.h"
#include <stdio.h>
#include "devdefs.h"
#include "ifsim.h"
#include "ltradefs.h"
#include "suffix.h"

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"),
Ejemplo n.º 2
0
 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"),
 IOPU("nrs",     MOS2_NRS,   IF_REAL   , "Source squares"),
 IP("off",      MOS2_OFF,   IF_FLAG   , "Device initially off"),
 IOPAU("icvds",     MOS2_IC_VDS,IF_REAL   , "Initial D-S voltage"),
 IOPAU("icvgs",     MOS2_IC_VGS,IF_REAL   , "Initial G-S voltage"),
 IOPAU("icvbs",     MOS2_IC_VBS,IF_REAL   , "Initial B-S voltage"),
 IOPU("temp",    MOS2_TEMP,  IF_REAL   , "Instance operating temperature"),
 IP( "ic",      MOS2_IC,    IF_REALVEC, "Vector of D-S, G-S, B-S voltages"),
 IP( "sens_l",  MOS2_L_SENS,IF_FLAG,  "flag to request sensitivity WRT length"),
 IP( "sens_w",  MOS2_W_SENS,IF_FLAG,  "flag to request sensitivity WRT width"),
 /*
 OP( "cgs",     MOS2_CGS,   IF_REAL   , "Gate-Source capacitance"),
 OP( "cgd",     MOS2_CGD,   IF_REAL   , "Gate-Drain capacitance"),
 */
 OPU( "dnode",   MOS2_DNODE, IF_INTEGER, "Number of drain node"),
 OPU( "gnode",   MOS2_GNODE, IF_INTEGER, "Number of gate node"),
 OPU( "snode",   MOS2_SNODE, IF_INTEGER, "Number of source node"),
 OPU( "bnode",   MOS2_BNODE, IF_INTEGER, "Number of bulk node"),
 OPU( "dnodeprime", MOS2_DNODEPRIME, IF_INTEGER, 
Ejemplo n.º 3
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 "inddefs.h"
#include "uflags.h"

static IFparm INDpTable[] = { /* parameters */ 
 IOPAP("inductance",IND_IND,    IF_REAL,"Inductance of inductor"),
 IOPAU("ic",        IND_IC,     IF_REAL,"Initial current through inductor"),
 OP(   "flux",      IND_FLUX,   IF_REAL,"Flux through inductor"),
 OP(   "v",         IND_VOLT,   IF_REAL,"Terminal voltage of inductor"),
 OPR(  "volt",      IND_VOLT,   IF_REAL,"Terminal voltage of inductor"),
 OP(   "i",         IND_CURRENT,IF_REAL,"Current through the inductor"),
 OPR(  "current",   IND_CURRENT,IF_REAL,"Current through the inductor"),
 OP(   "p",         IND_POWER,  IF_REAL,
                                "instantaneous power stored by the inductor")
};

/* model parameters */
/* static IFparm INDmPTable[] = { }; */

static char *INDnames[] = {
    "L+",
    "L-"
};
Ejemplo n.º 4
0
/*
 * 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"),
 OPU("baseBInode",VBIC_QUEST_BASEBINODE,IF_INTEGER, "Internal base node"),
 OPU("baseBPnode",VBIC_QUEST_BASEBPNODE,IF_INTEGER, "Internal base node"),
 OPU("emitEInode",VBIC_QUEST_EMITEINODE,IF_INTEGER, "Internal emitter node"),
Ejemplo n.º 5
0
/**********
Copyright 1990 Regents of the University of California.  All rights reserved.
Author: 1985 Thomas L. Quarles
Modified: September 2003 - Paolo Nenzi
**********/

#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"),
Ejemplo n.º 6
0
Archivo: jfet2.c Proyecto: imr/ngspice
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"),
 OP("id",    JFET2_CD,   IF_REAL, "Current at drain node"),
Ejemplo n.º 7
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,
Ejemplo n.º 8
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"),