diff --git a/src/spicelib/devices/adms/mextram/admsva/evaluate.inc b/src/spicelib/devices/adms/mextram/admsva/evaluate.inc index 085eb908e..f67486930 100644 --- a/src/spicelib/devices/adms/mextram/admsva/evaluate.inc +++ b/src/spicelib/devices/adms/mextram/admsva/evaluate.inc @@ -28,11 +28,11 @@ begin // Currents and charges in case of vanishing resistance corresponding node is not addressed: */ -`ifdef insideADMS +`ifdef insideADMS //dw we have limited all the RCXXX to MIN_R Vc4c1 = TYPE * V(c4, c1); Vc3c4 = TYPE * V(c3, c4); -`else +`else if (RCBLX > 0.0) begin if (RCBLI > 0.0) @@ -59,7 +59,7 @@ begin // Currents and charges Vc3c4 = 0 ; end end -`endif +`endif Vb1c4 = Vb1b2 + Vb2c2 - Vc1c2 - Vc4c1 ; Vcc3 = - Vbc + Vbb1 + Vb1c4 - Vc3c4 ; @@ -598,7 +598,7 @@ This construct supports the case RCBLI = 0.0 and or RCBLX = 0.0 . It is up to the compiler to adjust the circuit topology and perform a node-collapse in such cases. */ -`ifdef insideADMS +`ifdef insideADMS //dw we have limited all the RCXXX to MIN_R I(b, c3) <+ TYPE * XIex; I(c, c3) <+ TYPE * Vcc3 * GCCxx_TM ; @@ -622,7 +622,7 @@ and perform a node-collapse in such cases. */ end else begin - V(c4, c1) <+ 0.0 ; + V(c4, c1) <+ 0.0 ; I(b1, c1) <+ TYPE * (Ib3 + Iex); I(b1, c1) <+ ddt(TYPE * (Qtex + Qex)); I(c3, c1) <+ TYPE * Vc3c4 * GCCex_TM ; @@ -630,7 +630,7 @@ and perform a node-collapse in such cases. */ end else begin - V(c3, c4) <+ 0 ; + V(c3, c4) <+ 0 ; if (RCBLI > 0.0) begin I(b, c4) <+ TYPE * XIex; @@ -644,7 +644,7 @@ and perform a node-collapse in such cases. */ begin I(b, c1) <+ TYPE * XIex; I(c, c1) <+ TYPE * Vcc3 * GCCxx_TM ; - V(c4, c1) <+ 0.0 ; + V(c4, c1) <+ 0.0 ; I(b1, c1) <+ TYPE * (Ib3 + Iex); I(b1, c1) <+ ddt(TYPE * (Qtex + Qex)); I(b, c1) <+ ddt(TYPE * (XQtex + XQex)); diff --git a/src/spicelib/devices/adms/mextram/admsva/frontdef.inc b/src/spicelib/devices/adms/mextram/admsva/frontdef.inc index 5c65135a6..b2136db5e 100644 --- a/src/spicelib/devices/adms/mextram/admsva/frontdef.inc +++ b/src/spicelib/devices/adms/mextram/admsva/frontdef.inc @@ -25,7 +25,7 @@ `ifdef insideADMS //dw needed for RCXXX limiting `define MIN_R 0.001 -`endif +`endif // Desriptions and units `ifdef __VAMS_COMPACT_MODELING__ @@ -38,16 +38,16 @@ `define PAI(des,uni) parameter integer `endif -// ADMS specific definitions -`ifdef insideADMS - `define MODEL @(initial_model) - `define INSTANCE @(initial_instance) - `define NOISE @(noise) -`else - `define MODEL - `define INSTANCE - `define NOISE -`endif +// ADMS specific definitions +`ifdef insideADMS + `define MODEL @(initial_model) + `define INSTANCE @(initial_instance) + `define NOISE @(noise) +`else + `define MODEL + `define INSTANCE + `define NOISE +`endif // Smooth limitting functions `define max_hyp0(result, x, epsilon)\ diff --git a/src/spicelib/devices/adms/mextram/admsva/tscaling.inc b/src/spicelib/devices/adms/mextram/admsva/tscaling.inc index c5d2af226..c5e27d255 100644 --- a/src/spicelib/devices/adms/mextram/admsva/tscaling.inc +++ b/src/spicelib/devices/adms/mextram/admsva/tscaling.inc @@ -77,24 +77,24 @@ RBC_T = RBC * exp(lntN * AEX); // RvdT, 30-11-2007: new collector resistances RCCxx_T, RCCex_T, RCCin_T -`ifdef insideADMS +`ifdef insideADMS //dw limiting all the RCXXX to MIN_R - if (RCC > 0.0) - RCCxx_T = RCC * exp(lntN * AC); + if (RCC > 0.0) + RCCxx_T = RCC * exp(lntN * AC); else - RCCxx_T = `MIN_R * exp(lntN * AC); - if (RCBLX > 0.0) - RCCex_T = RCBLX * exp(lntN * ACBL); + RCCxx_T = `MIN_R * exp(lntN * AC); + if (RCBLX > 0.0) + RCCex_T = RCBLX * exp(lntN * ACBL); else - RCCex_T = `MIN_R * exp(lntN * ACBL); - if (RCBLI > 0.0) - RCCin_T = RCBLI * exp(lntN * ACBL); + RCCex_T = `MIN_R * exp(lntN * ACBL); + if (RCBLI > 0.0) + RCCin_T = RCBLI * exp(lntN * ACBL); else - RCCin_T = `MIN_R * exp(lntN * ACBL); + RCCin_T = `MIN_R * exp(lntN * ACBL); `else - RCCxx_T = RCC * exp(lntN * AC); - RCCex_T = RCBLX * exp(lntN * ACBL); - RCCin_T = RCBLI * exp(lntN * ACBL); + RCCxx_T = RCC * exp(lntN * AC); + RCCex_T = RCBLX * exp(lntN * ACBL); + RCCin_T = RCBLI * exp(lntN * ACBL); `endif RCV_T = RCV * exp(lntN * AEPI); @@ -223,11 +223,11 @@ // RvdT, 03-12-2007: new collector conductances -`ifdef insideADMS +`ifdef insideADMS //dw we have limited all the RCXXX to MIN_R - GCCxx_TM = 1.0 / RCCxx_TM ; - GCCex_TM = 1.0 / RCCex_TM ; - GCCin_TM = 1.0 / RCCin_TM ; + GCCxx_TM = 1.0 / RCCxx_TM ; + GCCex_TM = 1.0 / RCCex_TM ; + GCCin_TM = 1.0 / RCCin_TM ; `else if (RCC > 0.0) begin diff --git a/tests/mextram/ACKNOWLEDGMENTS b/tests/mextram/ACKNOWLEDGMENTS index 76dfb9fa3..4b5ee5a02 100644 --- a/tests/mextram/ACKNOWLEDGMENTS +++ b/tests/mextram/ACKNOWLEDGMENTS @@ -1,4 +1,4 @@ -Acknowledgments due to +Acknowledgments due to - Geoffrey Coram (Analog Devices Inc.) - Colin McAndrew (Freescale) diff --git a/tests/mextram/README b/tests/mextram/README index e7ca32fad..fdc839f10 100644 --- a/tests/mextram/README +++ b/tests/mextram/README @@ -36,7 +36,7 @@ Within the scripts run_all_tests_mult_*, actual tests are launched by the sequence: make $1 - all tests that should show near npn/pnp symmetry; - automated polarity check is included. + automated polarity check is included. make -f Makefile_npn $1 - dedicated tests for npn type; no polarity check make -f Makefile_pnp $1 - dedicated tests for pnp type; no polarity check @@ -123,14 +123,14 @@ sweeps. -MULT SCALING +MULT SCALING ============ In Verilog-A, Mextram's MULT parameter is a model parameter. Therefore, in the Q&A test suite it is addressed as a model parameter. In some simulator interfaces the MULT parameter is defined to -be an instance parameter. In the qaSpec files this can be taken +be an instance parameter. In the qaSpec files this can be taken into account by defining the variable MULT_INSTANCE by means of: `define MULT_INSTANCE @@ -138,18 +138,18 @@ into account by defining the variable MULT_INSTANCE by means of: If this variable is set, MULT will be addressed as an instance parameter in the tests. -As indicated above, the scipts +As indicated above, the scipts scripts/run_all_tests_mult_1p0 and - scripts/run_all_tests_mult_1p5 + scripts/run_all_tests_mult_1p5 control the value of the Mult parameter. The scripts also control the reference data. Reference data correspondoing to mult=1.0 is kept in the directories - */reference_mult_1p0/ + */reference_mult_1p0/ -whereas reference data correspondoing to mult=1.5 is kept in the directories +whereas reference data correspondoing to mult=1.5 is kept in the directories */reference_mult_1p5. @@ -160,7 +160,7 @@ In this way, all tests can be run automatically for different values of Mult. -July 28, 2008, -Delft University of Technology, +July 28, 2008, +Delft University of Technology, RvdT. diff --git a/tests/mextram/scripts/run_all_tests_mult_1p0 b/tests/mextram/scripts/run_all_tests_mult_1p0 index fd1d6f647..d56af0664 100755 --- a/tests/mextram/scripts/run_all_tests_mult_1p0 +++ b/tests/mextram/scripts/run_all_tests_mult_1p0 @@ -1,12 +1,11 @@ #!/bin/csh echo "\n---------------------------" echo "run all tests with mult=1.0\n" -rm ../test_specs/set_mult.inc -cp ../test_specs/mult_1p0.inc ../test_specs/set_mult.inc +rm ../test_specs/set_mult.inc +cp ../test_specs/mult_1p0.inc ../test_specs/set_mult.inc rm reference/* -cp reference_mult_1p0/* reference/ +cp reference_mult_1p0/* reference/ rm -rf results/$1 make $1 make -f Makefile_npn $1 make -f Makefile_pnp $1 - diff --git a/tests/mextram/scripts/run_all_tests_mult_1p5 b/tests/mextram/scripts/run_all_tests_mult_1p5 index 7cc63b90d..a6bd82c3c 100755 --- a/tests/mextram/scripts/run_all_tests_mult_1p5 +++ b/tests/mextram/scripts/run_all_tests_mult_1p5 @@ -1,12 +1,11 @@ #!/bin/csh echo "\n---------------------------" echo "run all tests with mult=1.5\n" -rm ../test_specs/set_mult.inc -cp ../test_specs/mult_1p5.inc ../test_specs/set_mult.inc +rm ../test_specs/set_mult.inc +cp ../test_specs/mult_1p5.inc ../test_specs/set_mult.inc rm reference/* -cp reference_mult_1p5/* reference/ +cp reference_mult_1p5/* reference/ rm -rf results/$1 make $1 make -f Makefile_npn $1 make -f Makefile_pnp $1 - diff --git a/tests/mextram/test_specs/avalanche_npn.tests b/tests/mextram/test_specs/avalanche_npn.tests index 626c42c53..3b0f4a95f 100644 --- a/tests/mextram/test_specs/avalanche_npn.tests +++ b/tests/mextram/test_specs/avalanche_npn.tests @@ -1,6 +1,6 @@ test FEarly_no_SH_Ic_npn temperature 25 -biases V(e)=0 V(b)=0.8 +biases V(e)=0 V(b)=0.8 `include substrate_bias.inc biasSweep V(c)=8.0,12.8,0.2 outputs I(c) @@ -9,7 +9,7 @@ outputs I(c) test FEarly_no_SH_Ib_npn temperature 25 -biases V(e)=0 V(b)=0.8 +biases V(e)=0 V(b)=0.8 `include substrate_bias.inc biasSweep V(c)=8.0,12.8,0.2 outputs I(b) @@ -18,7 +18,7 @@ outputs I(b) test FEarly_no_SH_T_npn temperature 100 -biases V(e)=0 V(b)=0.8 +biases V(e)=0 V(b)=0.8 `include substrate_bias.inc biasSweep V(c)=8.0,14.8,0.2 outputs I(b) @@ -73,7 +73,7 @@ modelParameters EXAVL=1 test acNoise_KAVL_npn temperature 25 -biases V(e)=0 V(b)=0.8 +biases V(e)=0 V(b)=0.8 `include substrate_bias.inc biasSweep V(c)=8.0,12.8,0.2 freq lin 1 1.0e9 1.0e9 @@ -84,7 +84,7 @@ modelParameters KAVL=1 test acNoise_highT_KAVL_npn temperature 100 -biases V(e)=0 V(b)=0.8 +biases V(e)=0 V(b)=0.8 `include substrate_bias.inc biasSweep V(c)=8.0,14.8,0.2 `include substrate_bias.inc @@ -97,7 +97,7 @@ modelParameters KAVL=1 test acNoise_no_KAVL_npn temperature 25 -biases V(e)=0 V(b)=0.8 +biases V(e)=0 V(b)=0.8 `include substrate_bias.inc biasSweep V(c)=8.0,12.8,0.2 freq lin 1 1.0e9 1.0e9 @@ -108,7 +108,7 @@ modelParameters KAVL=0 test acNoise_highT_no_KAVL_npn temperature 100 -biases V(e)=0 V(b)=0.8 +biases V(e)=0 V(b)=0.8 `include substrate_bias.inc biasSweep V(c)=8.0,14.6,0.2 `include substrate_bias.inc @@ -121,7 +121,7 @@ modelParameters KAVL=0 test acNoise_EXAVL_KAVL_npn temperature 25 -biases V(e)=0 V(b)=0.8 +biases V(e)=0 V(b)=0.8 `include substrate_bias.inc biasSweep V(c)=8.0,12.8,0.2 freq lin 1 1.0e9 1.0e9 @@ -132,7 +132,7 @@ modelParameters EXAVL=1 KAVL=1 test acNoise_highT_EXAVL_KAVL_npn temperature 100 -biases V(e)=0 V(b)=0.8 +biases V(e)=0 V(b)=0.8 `include substrate_bias.inc biasSweep V(c)=8.0,14.2,0.2 freq lin 1 1.0e9 1.0e9 diff --git a/tests/mextram/test_specs/basics.tests b/tests/mextram/test_specs/basics.tests index 746b7ffe6..68845ffa4 100644 --- a/tests/mextram/test_specs/basics.tests +++ b/tests/mextram/test_specs/basics.tests @@ -69,7 +69,7 @@ temperature 25 biases V(e)=0 V(c)=1.0 `include substrate_bias.inc biasSweep V(b)=0.5,1.2,0.01 -outputs I(b) +outputs I(b) `include dtestpars.inc modelParameters DTA=45.0 `include ../test_specs/set_mult.inc @@ -79,7 +79,7 @@ temperature 25 100 biases V(e)=0 V(c)=1.0 `include substrate_bias.inc biasSweep V(b)=0.5,1.2,0.01 -outputs I(c) +outputs I(c) `include dtestpars.inc modelParameters XIBI=0.25 `include ../test_specs/set_mult.inc @@ -89,7 +89,7 @@ temperature 25 100 biases V(e)=0 V(c)=1.0 `include substrate_bias.inc biasSweep V(b)=0.5,1.2,0.01 -outputs I(b) +outputs I(b) `include dtestpars.inc modelParameters XIBI=0.25 `include ../test_specs/set_mult.inc @@ -169,7 +169,7 @@ temperature 100 biases V(e)=0 V(c)=1.0 `include substrate_bias.inc biasSweep V(b)=0.5,1.2,0.01 -outputs I(b) +outputs I(b) `include dtestpars.inc modelParameters DAIS=0.45 `include ../test_specs/set_mult.inc @@ -306,12 +306,12 @@ biases V(e)=0 V(c)=1.0 `include substrate_bias.inc biasSweep V(b)=0.7,1.0,0.02 freq lin 1 1.0e9 1.0e9 -outputs C(c,c) +outputs C(c,c) `include dtestpars.inc `include ../test_specs/set_mult.inc test acBias_CBCO -temperature 25 +temperature 25 biases V(e)=0 V(c)=1.0 `include substrate_bias.inc biasSweep V(b)=0.7,1.0,0.02 @@ -322,7 +322,7 @@ modelParameters CBCO=11.7e-015 `include ../test_specs/set_mult.inc test acBias_CBEO -temperature 25 +temperature 25 biases V(e)=0 V(c)=1.0 `include substrate_bias.inc biasSweep V(b)=0.7,1.0,0.02 @@ -335,7 +335,7 @@ modelParameters CBEO=31.7e-015 // ac frequency sweeps at ref T test acFreq_Gbb -temperature 25 +temperature 25 biases V(e)=0 V(b)=0.85 V(c)=2.0 `include substrate_bias.inc freq dec 1 1e6 1e9 @@ -344,7 +344,7 @@ outputs G(b,b) `include ../test_specs/set_mult.inc test acFreq_Cbb -temperature 25 +temperature 25 biases V(e)=0 V(b)=0.85 V(c)=2.0 `include substrate_bias.inc freq dec 1 1e6 1e9 @@ -353,7 +353,7 @@ outputs C(b,b) `include ../test_specs/set_mult.inc test acFreq_Gcb -temperature 25 +temperature 25 biases V(e)=0 V(b)=0.85 V(c)=2.0 `include substrate_bias.inc freq dec 1 1e6 1e9 @@ -362,7 +362,7 @@ outputs G(c,b) `include ../test_specs/set_mult.inc test acFreq_Ccb -temperature 25 +temperature 25 biases V(e)=0 V(b)=0.85 V(c)=2.0 `include substrate_bias.inc freq dec 1 1e6 1e9 @@ -371,7 +371,7 @@ outputs C(c,b) `include ../test_specs/set_mult.inc test acFreq_Gbc -temperature 25 +temperature 25 biases V(e)=0 V(b)=0.85 V(c)=2.0 `include substrate_bias.inc freq dec 1 1e6 1e9 @@ -380,7 +380,7 @@ outputs G(b,c) `include ../test_specs/set_mult.inc test acFreq_Cbc -temperature 25 +temperature 25 biases V(e)=0 V(b)=0.85 V(c)=2.0 `include substrate_bias.inc freq dec 1 1e6 1e9 @@ -389,7 +389,7 @@ outputs C(b,c) `include ../test_specs/set_mult.inc test acFreq_Gcc -temperature 25 +temperature 25 biases V(e)=0 V(b)=0.85 V(c)=2.0 `include substrate_bias.inc freq dec 1 1e6 1e9 @@ -398,7 +398,7 @@ outputs G(c,c) `include ../test_specs/set_mult.inc test acFreq_Ccc -temperature 25 +temperature 25 biases V(e)=0 V(b)=0.85 V(c)=2.0 `include substrate_bias.inc freq dec 1 1e6 1e9 @@ -485,7 +485,7 @@ outputs C(c,c) test acFreq_no_EXPHI_Gbb -temperature 25 +temperature 25 biases V(e)=0 V(b)=0.85 V(c)=2.0 `include substrate_bias.inc freq dec 1 1e6 1e9 @@ -495,7 +495,7 @@ modelParameters EXPHI=0 `include ../test_specs/set_mult.inc test acFreq_no_EXPHI_Cbb -temperature 25 +temperature 25 biases V(e)=0 V(b)=0.85 V(c)=2.0 `include substrate_bias.inc freq dec 1 1e6 1e9 @@ -505,7 +505,7 @@ modelParameters EXPHI=0 `include ../test_specs/set_mult.inc test acFreq_no_EXPHI_Gcb -temperature 25 +temperature 25 biases V(e)=0 V(b)=0.85 V(c)=2.0 `include substrate_bias.inc freq dec 1 1e6 1e9 @@ -515,7 +515,7 @@ modelParameters EXPHI=0 `include ../test_specs/set_mult.inc test acFreq_no_EXPHI_Ccb -temperature 25 +temperature 25 biases V(e)=0 V(b)=0.85 V(c)=2.0 `include substrate_bias.inc freq dec 1 1e6 1e9 @@ -525,7 +525,7 @@ modelParameters EXPHI=0 `include ../test_specs/set_mult.inc test acFreq_no_EXPHI_Gbc -temperature 25 +temperature 25 biases V(e)=0 V(b)=0.85 V(c)=2.0 `include substrate_bias.inc freq dec 1 1e6 1e9 @@ -535,7 +535,7 @@ modelParameters EXPHI=0 `include ../test_specs/set_mult.inc test acFreq_no_EXPHI_Cbc -temperature 25 +temperature 25 biases V(e)=0 V(b)=0.85 V(c)=2.0 `include substrate_bias.inc freq dec 1 1e6 1e9 @@ -545,7 +545,7 @@ modelParameters EXPHI=0 `include ../test_specs/set_mult.inc test acFreq_no_EXPHI_Gcc -temperature 25 +temperature 25 biases V(e)=0 V(b)=0.85 V(c)=2.0 `include substrate_bias.inc freq dec 1 1e6 1e9 @@ -555,7 +555,7 @@ modelParameters EXPHI=0 `include ../test_specs/set_mult.inc test acFreq_no_EXPHI_Ccc -temperature 25 +temperature 25 biases V(e)=0 V(b)=0.85 V(c)=2.0 `include substrate_bias.inc freq dec 1 1e6 1e9