|
|
|
@ -9,50 +9,50 @@ Modified: September 2003 - Paolo Nenzi |
|
|
|
#include "capdefs.h" |
|
|
|
#include "ngspice/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( "tc1", CAP_TC1, IF_REAL, "First order temp. coefficient"), |
|
|
|
IOPU( "tc2", CAP_TC2, IF_REAL, "Second order temp. coefficient"), |
|
|
|
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 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( "tc1", CAP_TC1, IF_REAL, "First order temp. coefficient"), |
|
|
|
IOPU( "tc2", CAP_TC2, IF_REAL, "Second order temp. coefficient"), |
|
|
|
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"), |
|
|
|
IOPA( "cj", CAP_MOD_CJ, IF_REAL, "Bottom Capacitance per area"), |
|
|
|
IOPR( "cox", CAP_MOD_CJ, IF_REAL, "Bottom Capacitance per area"), |
|
|
|
IOPA( "cjsw", CAP_MOD_CJSW, IF_REAL, "Sidewall capacitance per meter"), |
|
|
|
IOPR( "capsw", CAP_MOD_CJSW, IF_REAL, "Sidewall capacitance per meter"), |
|
|
|
IOPX( "defw", CAP_MOD_DEFWIDTH, IF_REAL, "Default width"), |
|
|
|
IOPR( "w", CAP_MOD_DEFWIDTH, IF_REAL, "Default width"), |
|
|
|
IOPX( "defl", CAP_MOD_DEFLENGTH,IF_REAL, "Default length"), |
|
|
|
IOPR( "l", CAP_MOD_DEFLENGTH,IF_REAL, "Default length"), |
|
|
|
IOPA( "narrow", CAP_MOD_NARROW, IF_REAL, "width correction factor"), |
|
|
|
IOPA( "short", CAP_MOD_SHORT, IF_REAL, "length correction factor"), |
|
|
|
IOPA( "tc1", CAP_MOD_TC1, IF_REAL, "First order temp. coefficient"), |
|
|
|
IOPA( "tc2", CAP_MOD_TC2, IF_REAL, "Second order temp. coefficient"), |
|
|
|
IOPXU("tnom", CAP_MOD_TNOM, IF_REAL, "Parameter measurement temperature"), |
|
|
|
IOPA( "di", CAP_MOD_DI, IF_REAL, "Relative dielectric constant"), |
|
|
|
IOPA( "thick", CAP_MOD_THICK, IF_REAL, "Insulator thickness"), |
|
|
|
IP( "c", CAP_MOD_C, IF_FLAG, "Capacitor model") |
|
|
|
IOPA( "cap", CAP_MOD_CAP, IF_REAL, "Model capacitance"), |
|
|
|
IOPA( "cj", CAP_MOD_CJ, IF_REAL, "Bottom Capacitance per area"), |
|
|
|
IOPR( "cox", CAP_MOD_CJ, IF_REAL, "Bottom Capacitance per area"), |
|
|
|
IOPA( "cjsw", CAP_MOD_CJSW, IF_REAL, "Sidewall capacitance per meter"), |
|
|
|
IOPR( "capsw", CAP_MOD_CJSW, IF_REAL, "Sidewall capacitance per meter"), |
|
|
|
IOPX( "defw", CAP_MOD_DEFWIDTH, IF_REAL, "Default width"), |
|
|
|
IOPR( "w", CAP_MOD_DEFWIDTH, IF_REAL, "Default width"), |
|
|
|
IOPX( "defl", CAP_MOD_DEFLENGTH,IF_REAL, "Default length"), |
|
|
|
IOPR( "l", CAP_MOD_DEFLENGTH,IF_REAL, "Default length"), |
|
|
|
IOPA( "narrow", CAP_MOD_NARROW, IF_REAL, "width correction factor"), |
|
|
|
IOPA( "short", CAP_MOD_SHORT, IF_REAL, "length correction factor"), |
|
|
|
IOPA( "tc1", CAP_MOD_TC1, IF_REAL, "First order temp. coefficient"), |
|
|
|
IOPA( "tc2", CAP_MOD_TC2, IF_REAL, "Second order temp. coefficient"), |
|
|
|
IOPXU("tnom", CAP_MOD_TNOM, IF_REAL, "Parameter measurement temperature"), |
|
|
|
IOPA( "di", CAP_MOD_DI, IF_REAL, "Relative dielectric constant"), |
|
|
|
IOPA( "thick", CAP_MOD_THICK, IF_REAL, "Insulator thickness"), |
|
|
|
IP( "c", CAP_MOD_C, IF_FLAG, "Capacitor model") |
|
|
|
}; |
|
|
|
|
|
|
|
char *CAPnames[] = { |
|
|
|
|