From b56c2a250489edec94b56f902910108af4964812 Mon Sep 17 00:00:00 2001 From: rlar Date: Wed, 29 Mar 2017 19:27:41 +0200 Subject: [PATCH] ifparm, #5/16, missing IF_AC for some aliases, introduce IOPAR --- src/include/ngspice/devdefs.h | 1 + src/spicelib/devices/bjt/bjt.c | 16 ++++++++-------- src/spicelib/devices/cap/cap.c | 4 ++-- src/spicelib/devices/dio/dio.c | 4 ++-- 4 files changed, 13 insertions(+), 12 deletions(-) diff --git a/src/include/ngspice/devdefs.h b/src/include/ngspice/devdefs.h index 8668a8d4f..f5f9bbe36 100644 --- a/src/include/ngspice/devdefs.h +++ b/src/include/ngspice/devdefs.h @@ -144,6 +144,7 @@ extern int DEVmaxnum; /* size of DEVices array */ # define IOPU(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_UNINTERESTING, d } # define IOPP(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_PRINCIPAL, d } # define IOPA(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_AC, d } +# define IOPAR(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_AC|IF_REDUNDANT, d } # define IOPAU(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_AC|IF_UNINTERESTING,d } # define IOPAP(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_AC|IF_PRINCIPAL, d } # define IOPAPR(a,b,c,d) { a, b, c|IF_SET|IF_ASK|IF_AC|IF_PRINCIPAL|IF_REDUNDANT, d } diff --git a/src/spicelib/devices/bjt/bjt.c b/src/spicelib/devices/bjt/bjt.c index 134c4705e..fc86aa6c3 100644 --- a/src/spicelib/devices/bjt/bjt.c +++ b/src/spicelib/devices/bjt/bjt.c @@ -116,9 +116,9 @@ IFparm BJTmPTable[] = { /* model parameters */ IOP("rc", BJT_MOD_RC, IF_REAL, "Collector resistance"), IOPA("cje", BJT_MOD_CJE, IF_REAL,"Zero bias B-E depletion capacitance"), IOPA("vje", BJT_MOD_VJE, IF_REAL, "B-E built in potential"), - IOPR("pe", BJT_MOD_VJE, IF_REAL, "B-E built in potential"), + IOPAR("pe", BJT_MOD_VJE, IF_REAL, "B-E built in potential"), IOPA("mje", BJT_MOD_MJE, IF_REAL, "B-E junction grading coefficient"), - IOPR("me", BJT_MOD_MJE, IF_REAL, "B-E junction grading coefficient"), + IOPAR("me", BJT_MOD_MJE, IF_REAL, "B-E junction grading coefficient"), IOPA("tf", BJT_MOD_TF, IF_REAL, "Ideal forward transit time"), IOPA("xtf", BJT_MOD_XTF, IF_REAL, "Coefficient for bias dependence of TF"), IOPA("vtf", BJT_MOD_VTF, IF_REAL, "Voltage giving VBC dependence of TF"), @@ -126,18 +126,18 @@ IFparm BJTmPTable[] = { /* model parameters */ IOPA("ptf", BJT_MOD_PTF, IF_REAL, "Excess phase"), IOPA("cjc", BJT_MOD_CJC, IF_REAL, "Zero bias B-C depletion capacitance"), IOPA("vjc", BJT_MOD_VJC, IF_REAL, "B-C built in potential"), - IOPR("pc", BJT_MOD_VJC, IF_REAL, "B-C built in potential"), + IOPAR("pc", BJT_MOD_VJC, IF_REAL, "B-C built in potential"), IOPA("mjc", BJT_MOD_MJC, IF_REAL, "B-C junction grading coefficient"), - IOPR("mc", BJT_MOD_MJC, IF_REAL, "B-C junction grading coefficient"), + IOPAR("mc", BJT_MOD_MJC, IF_REAL, "B-C junction grading coefficient"), IOPA("xcjc",BJT_MOD_XCJC, IF_REAL, "Fraction of B-C cap to internal base"), IOPA("tr", BJT_MOD_TR, IF_REAL, "Ideal reverse transit time"), IOPA("cjs", BJT_MOD_CJS, IF_REAL, "Zero bias Substrate capacitance"), - IOPR("csub", BJT_MOD_CJS, IF_REAL, "Zero bias Substrate capacitance"), - IOPR("ccs", BJT_MOD_CJS, IF_REAL, "Zero bias Substrate capacitance"), + IOPAR("csub",BJT_MOD_CJS, IF_REAL, "Zero bias Substrate capacitance"), + IOPAR("ccs", BJT_MOD_CJS, IF_REAL, "Zero bias Substrate capacitance"), IOPA("vjs", BJT_MOD_VJS, IF_REAL, "Substrate junction built in potential"), - IOPR("ps", BJT_MOD_VJS, IF_REAL, "Substrate junction built in potential"), + IOPAR("ps", BJT_MOD_VJS, IF_REAL, "Substrate junction built in potential"), IOPA("mjs", BJT_MOD_MJS, IF_REAL, "Substrate junction grading coefficient"), - IOPR("ms", BJT_MOD_MJS, IF_REAL, "Substrate junction grading coefficient"), + IOPAR("ms", BJT_MOD_MJS, IF_REAL, "Substrate junction grading coefficient"), IOP("xtb", BJT_MOD_XTB, IF_REAL, "Forward and reverse beta temp. exp."), IOP("eg", BJT_MOD_EG, IF_REAL, "Energy gap for IS temp. dependency"), IOP("xti", BJT_MOD_XTI, IF_REAL, "Temp. exponent for IS"), diff --git a/src/spicelib/devices/cap/cap.c b/src/spicelib/devices/cap/cap.c index 2b4b3e345..ef1d5fd70 100644 --- a/src/spicelib/devices/cap/cap.c +++ b/src/spicelib/devices/cap/cap.c @@ -39,9 +39,9 @@ IFparm CAPpTable[] = { /* parameters */ 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"), + IOPAR( "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"), + IOPAR( "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"), diff --git a/src/spicelib/devices/dio/dio.c b/src/spicelib/devices/dio/dio.c index 43563975f..d55a38fbb 100644 --- a/src/spicelib/devices/dio/dio.c +++ b/src/spicelib/devices/dio/dio.c @@ -56,8 +56,8 @@ IFparm DIOmPTable[] = { /* model parameters */ IOPA( "ttt1", DIO_MOD_TTT1, IF_REAL, "Transit Time 1st order temp. coeff."), IOPA( "ttt2", DIO_MOD_TTT2, IF_REAL, "Transit Time 2nd order temp. coeff."), IOPA( "cjo", DIO_MOD_CJO, IF_REAL, "Junction capacitance"), - IOPR( "cj0", DIO_MOD_CJO, IF_REAL, "Junction capacitance"), - IOPR( "cj", DIO_MOD_CJO, IF_REAL, "Junction capacitance"), + IOPAR( "cj0",DIO_MOD_CJO, IF_REAL, "Junction capacitance"), + IOPAR( "cj", DIO_MOD_CJO, IF_REAL, "Junction capacitance"), IOP( "vj", DIO_MOD_VJ, IF_REAL, "Junction potential"), IOPR( "pb", DIO_MOD_VJ, IF_REAL, "Junction potential"), IOP( "m", DIO_MOD_M, IF_REAL, "Grading coefficient"),