Browse Source
Sim: Transmission line models
Sim: Transmission line models
Implement transmission line models and perform some adjustments to the current models. Add some QA tests.7.0
46 changed files with 6539 additions and 2713 deletions
-
1eeschema/CMakeLists.txt
-
32eeschema/dialogs/dialog_sim_model.cpp
-
2eeschema/dialogs/dialog_sim_model.h
-
28eeschema/netlist_exporters/netlist_exporter_spice.cpp
-
2eeschema/netlist_exporters/netlist_exporter_spice.h
-
6eeschema/sim/ngspice.h
-
8eeschema/sim/ngspice_helpers.cpp
-
3eeschema/sim/ngspice_helpers.h
-
4862eeschema/sim/ngspice_models.cpp
-
319eeschema/sim/sim_model.cpp
-
36eeschema/sim/sim_model.h
-
2eeschema/sim/sim_model_behavioral.cpp
-
2eeschema/sim/sim_model_ideal.cpp
-
17eeschema/sim/sim_model_ngspice.cpp
-
71eeschema/sim/sim_model_passive.cpp
-
4eeschema/sim/sim_model_passive.h
-
9eeschema/sim/sim_model_source.cpp
-
25eeschema/sim/sim_model_subckt.cpp
-
4eeschema/sim/sim_model_subckt.h
-
151eeschema/sim/sim_model_tline.cpp
-
46eeschema/sim/sim_model_tline.h
-
1eeschema/sim/sim_property.h
-
67eeschema/sim/sim_value.cpp
-
2eeschema/sim/sim_value.h
-
122eeschema/sim/spice_grammar.h
-
626qa/data/eeschema/spice_netlists/libraries/bjts.lib.spice
-
132qa/data/eeschema/spice_netlists/libraries/diodes.lib.spice
-
578qa/data/eeschema/spice_netlists/libraries/fets.lib.spice
-
2qa/data/eeschema/spice_netlists/npn_ce_amp/npn_ce_amp.cir
-
8qa/data/eeschema/spice_netlists/opamp/opamp.cir
-
9qa/data/eeschema/spice_netlists/opamp/opamp.kicad_sch
-
20qa/data/eeschema/spice_netlists/passives/passives.cir
-
6qa/data/eeschema/spice_netlists/passives/passives.kicad_pro
-
387qa/data/eeschema/spice_netlists/passives/passives.kicad_sch
-
6qa/data/eeschema/spice_netlists/rectifier/rectifier.cir
-
8qa/data/eeschema/spice_netlists/rectifier/rectifier.kicad_sch
-
82qa/data/eeschema/spice_netlists/tlines/Transmission_Line.kicad_sym
-
3qa/data/eeschema/spice_netlists/tlines/sym-lib-table
-
14qa/data/eeschema/spice_netlists/tlines/tlines.cir
-
2qa/data/eeschema/spice_netlists/tlines/tlines.kicad_pcb
-
331qa/data/eeschema/spice_netlists/tlines/tlines.kicad_pro
-
623qa/data/eeschema/spice_netlists/tlines/tlines.kicad_sch
-
1qa/unittests/eeschema/CMakeLists.txt
-
566qa/unittests/eeschema/sim/test_library_spice.cpp
-
20qa/unittests/eeschema/sim/test_ngspice.cpp
-
6qa/unittests/eeschema/test_netlist_exporter_spice.cpp
4862
eeschema/sim/ngspice_models.cpp
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,151 @@ |
|||
/*
|
|||
* This program source code file is part of KiCad, a free EDA CAD application. |
|||
* |
|||
* Copyright (C) 2022 Mikolaj Wielgus |
|||
* Copyright (C) 2022 KiCad Developers, see AUTHORS.txt for contributors. |
|||
* |
|||
* This program is free software; you can redistribute it and/or |
|||
* modify it under the terms of the GNU General Public License |
|||
* as published by the Free Software Foundation; either version 3 |
|||
* of the License, or (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program; if not, you may find one here: |
|||
* https://www.gnu.org/licenses/gpl-3.0.html
|
|||
* or you may search the http://www.gnu.org website for the version 3 license,
|
|||
* or you may write to the Free Software Foundation, Inc., |
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA |
|||
*/ |
|||
|
|||
#include <sim/sim_model_tline.h>
|
|||
|
|||
using PARAM = SIM_MODEL::PARAM; |
|||
|
|||
|
|||
SIM_MODEL_TLINE::SIM_MODEL_TLINE( TYPE aType ) |
|||
: SIM_MODEL( aType ) |
|||
{ |
|||
static std::vector<PARAM::INFO> z0 = makeZ0ParamInfo(); |
|||
static std::vector<PARAM::INFO> rlgc = makeRlgcParamInfo(); |
|||
|
|||
switch( aType ) |
|||
{ |
|||
case TYPE::TLINE_Z0: |
|||
for( const PARAM::INFO& paramInfo : z0 ) |
|||
AddParam( paramInfo ); |
|||
break; |
|||
|
|||
case TYPE::TLINE_RLGC: |
|||
for( const PARAM::INFO& paramInfo : rlgc ) |
|||
AddParam( paramInfo ); |
|||
break; |
|||
|
|||
default: |
|||
wxFAIL_MSG( "Unhandled SIM_MODEL type in SIM_MODEL_TLINE" ); |
|||
} |
|||
} |
|||
|
|||
|
|||
/*wxString SIM_MODEL_TLINE::GenerateSpiceItemName( const wxString& aRefName ) const
|
|||
{ |
|||
|
|||
}*/ |
|||
|
|||
|
|||
std::vector<PARAM::INFO> SIM_MODEL_TLINE::makeZ0ParamInfo() |
|||
{ |
|||
std::vector<PARAM::INFO> paramInfos; |
|||
PARAM::INFO paramInfo = {}; |
|||
|
|||
paramInfo.name = "z0"; |
|||
paramInfo.type = SIM_VALUE::TYPE::FLOAT; |
|||
paramInfo.unit = "Ω"; |
|||
paramInfo.category = PARAM::CATEGORY::PRINCIPAL; |
|||
paramInfo.defaultValue = ""; |
|||
paramInfo.description = "Characteristic impedance"; |
|||
paramInfo.isInstanceParam = false; |
|||
paramInfo.isSpiceInstanceParam = true; |
|||
paramInfos.push_back( paramInfo ); |
|||
|
|||
paramInfo.name = "td"; |
|||
paramInfo.type = SIM_VALUE::TYPE::FLOAT; |
|||
paramInfo.unit = "s"; |
|||
paramInfo.category = PARAM::CATEGORY::PRINCIPAL; |
|||
paramInfo.defaultValue = ""; |
|||
paramInfo.description = "Transmission delay"; |
|||
paramInfo.isInstanceParam = false; |
|||
paramInfo.isSpiceInstanceParam = true; |
|||
paramInfos.push_back( paramInfo ); |
|||
|
|||
return paramInfos; |
|||
} |
|||
|
|||
|
|||
std::vector<PARAM::INFO> SIM_MODEL_TLINE::makeRlgcParamInfo() |
|||
{ |
|||
std::vector<PARAM::INFO> paramInfos; |
|||
PARAM::INFO paramInfo = {}; |
|||
|
|||
paramInfo.name = "len"; |
|||
paramInfo.type = SIM_VALUE::TYPE::FLOAT; |
|||
paramInfo.unit = "m"; |
|||
paramInfo.category = PARAM::CATEGORY::PRINCIPAL; |
|||
paramInfo.defaultValue = ""; |
|||
paramInfo.description = "Length"; |
|||
paramInfo.isInstanceParam = true; |
|||
paramInfo.isSpiceInstanceParam = false; |
|||
paramInfos.push_back( paramInfo ); |
|||
|
|||
paramInfo.name = "r"; |
|||
paramInfo.type = SIM_VALUE::TYPE::FLOAT; |
|||
paramInfo.unit = "Ω/m"; |
|||
paramInfo.category = PARAM::CATEGORY::PRINCIPAL; |
|||
paramInfo.defaultValue = "0"; |
|||
paramInfo.description = "Resistance per length"; |
|||
paramInfo.isInstanceParam = false; |
|||
paramInfo.isSpiceInstanceParam = false; |
|||
paramInfos.push_back( paramInfo ); |
|||
|
|||
paramInfo.name = "l"; |
|||
paramInfo.type = SIM_VALUE::TYPE::FLOAT; |
|||
paramInfo.unit = "H/m"; |
|||
paramInfo.category = PARAM::CATEGORY::PRINCIPAL; |
|||
paramInfo.defaultValue = "0"; |
|||
paramInfo.description = "Inductance per length"; |
|||
paramInfo.isInstanceParam = false; |
|||
paramInfo.isSpiceInstanceParam = false; |
|||
paramInfos.push_back( paramInfo ); |
|||
|
|||
paramInfo.name = "g"; |
|||
paramInfo.type = SIM_VALUE::TYPE::FLOAT; |
|||
paramInfo.unit = "1/(Ω m)"; |
|||
paramInfo.category = PARAM::CATEGORY::PRINCIPAL; |
|||
paramInfo.defaultValue = "0"; |
|||
paramInfo.description = "Conductance per length"; |
|||
paramInfo.isInstanceParam = false; |
|||
paramInfo.isSpiceInstanceParam = false; |
|||
paramInfos.push_back( paramInfo ); |
|||
|
|||
paramInfo.name = "c"; |
|||
paramInfo.type = SIM_VALUE::TYPE::FLOAT; |
|||
paramInfo.unit = "C/m"; |
|||
paramInfo.category = PARAM::CATEGORY::PRINCIPAL; |
|||
paramInfo.defaultValue = "0"; |
|||
paramInfo.description = "Capacitance per length"; |
|||
paramInfo.isInstanceParam = false; |
|||
paramInfo.isSpiceInstanceParam = false; |
|||
paramInfos.push_back( paramInfo ); |
|||
|
|||
return paramInfos; |
|||
} |
|||
|
|||
|
|||
bool SIM_MODEL_TLINE::requiresSpiceModel() const |
|||
{ |
|||
return GetType() == TYPE::TLINE_RLGC; |
|||
} |
|||
@ -0,0 +1,46 @@ |
|||
/* |
|||
* This program source code file is part of KiCad, a free EDA CAD application. |
|||
* |
|||
* Copyright (C) 2022 Mikolaj Wielgus |
|||
* Copyright (C) 2022 KiCad Developers, see AUTHORS.txt for contributors. |
|||
* |
|||
* This program is free software; you can redistribute it and/or |
|||
* modify it under the terms of the GNU General Public License |
|||
* as published by the Free Software Foundation; either version 3 |
|||
* of the License, or (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program; if not, you may find one here: |
|||
* https://www.gnu.org/licenses/gpl-3.0.html |
|||
* or you may search the http://www.gnu.org website for the version 3 license, |
|||
* or you may write to the Free Software Foundation, Inc., |
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA |
|||
*/ |
|||
|
|||
#ifndef SIM_MODEL_TLINE_H |
|||
#define SIM_MODEL_TLINE_H |
|||
|
|||
#include <sim/sim_model.h> |
|||
|
|||
|
|||
class SIM_MODEL_TLINE : public SIM_MODEL |
|||
{ |
|||
public: |
|||
SIM_MODEL_TLINE( TYPE aType ); |
|||
|
|||
private: |
|||
static std::vector<PARAM::INFO> makeZ0ParamInfo(); |
|||
static std::vector<PARAM::INFO> makeRlgcParamInfo(); |
|||
|
|||
std::vector<wxString> getPinNames() const override { return { "1+", "1-", "2+", "2-" }; } |
|||
|
|||
// Subcircuits require models even when they have no Spice instance parameters. |
|||
bool requiresSpiceModel() const override; |
|||
}; |
|||
|
|||
#endif // SIM_MODEL_TLINE_H |
|||
@ -0,0 +1,626 @@ |
|||
* |
|||
* bjts.lib.spice |
|||
* |
|||
|
|||
* All parameter values are made up and physically nonsensical. |
|||
* Commented out some parameters to avoid making test code overly long. |
|||
|
|||
* First, Gummel-Poon. |
|||
|
|||
* |
|||
.MODEL _0_NPN_GUMMELPOON NPN( |
|||
+ IS=000.000E+07 |
|||
+ NF=100.001E+07 |
|||
+ ISE=200.002E+07 |
|||
+ NE=300.003E+07 |
|||
+ BF=400.004E+07 |
|||
+ IKF=500.005E+07 |
|||
+ VAF=600.006E+07 |
|||
+ NR=700.007E+07 |
|||
+ ISC=800.008E+07 |
|||
+ NC=900.009E+07 |
|||
+) |
|||
*+ BR=1.111E-05 |
|||
*+ IKR=2.222E-04 |
|||
*+ VAR=3.333E-03 |
|||
*+ RB=4.444E-02 |
|||
*+ IRB=5.555E-01 |
|||
*+ RBM=6.666E-00 |
|||
*+ RE=7.777E*+01 |
|||
*+ RC=8.888E*+02 |
|||
*+ XTB=9.999E*+03 |
|||
*+ EG=0.000E*+04 |
|||
*+ XTI=1.111E*+05 |
|||
*+ CJE=2.222E*+06 |
|||
*+ VJE=3.333E*+07 |
|||
*+ MJE=4.444E*+08 |
|||
*+ TF=5.555E*+09 |
|||
*+ XTF=6.666E*+10 |
|||
*+ VTF=7.777E*+11 |
|||
*+ ITF=8.888E*+12 |
|||
*+ PTF=9.999E*+13 |
|||
*+ CJC=0.000E*+14 |
|||
*+ VJC=1.111E*+15 |
|||
*+ MJC=2.2222 |
|||
*+ XCJC=3.3333 |
|||
*+ TR=4.4444 |
|||
*+ CJS=5.5555 |
|||
*+ VJS=6.6666 |
|||
*+ MJS=7.7777 |
|||
*+ FC=8.8888 ) |
|||
* |
|||
|
|||
* |
|||
.MODEL _1_PNP_GUMMELPOON PNP( level = 1. ; Decimal separator must be accepted too. |
|||
+ IS=000.000E+07 |
|||
+ NF=100.001E+07 |
|||
+ ISE=200.002E+07 |
|||
+ NE=300.003E+07 |
|||
+ BF=400.004E+07 |
|||
+ IKF=500.005E+07 |
|||
+ VAF=600.006E+07 |
|||
+ NR=700.007E+07 |
|||
+ ISC=800.008E+07 |
|||
+ NC=900.009E+07 |
|||
+) |
|||
*+ BR=1.111E-05 |
|||
*+ IKR=2.222E-04 |
|||
*+ VAR=3.333E-03 |
|||
*+ RB=4.444E-02 |
|||
*+ IRB=5.555E-01 |
|||
*+ RBM=6.666E-00 |
|||
*+ RE=7.777E*+01 |
|||
*+ RC=8.888E*+02 |
|||
*+ XTB=9.999E*+03 |
|||
*+ EG=0.000E*+04 |
|||
*+ XTI=1.111E*+05 |
|||
*+ CJE=2.222E*+06 |
|||
*+ VJE=3.333E*+07 |
|||
*+ MJE=4.444E*+08 |
|||
*+ TF=5.555E*+09 |
|||
*+ XTF=6.666E*+10 |
|||
*+ VTF=7.777E*+11 |
|||
*+ ITF=8.888E*+12 |
|||
*+ PTF=9.999E*+13 |
|||
*+ CJC=0.000E*+14 |
|||
*+ VJC=1.111E*+15 |
|||
*+ MJC=2.2222 |
|||
*+ XCJC=3.3333 |
|||
*+ TR=4.4444 |
|||
*+ CJS=5.5555 |
|||
*+ VJS=6.6666 |
|||
*+ MJS=7.7777 |
|||
*+ FC=8.8888 ) |
|||
* |
|||
|
|||
|
|||
* VBIC. |
|||
|
|||
.model _2_NPN_VBIC NPN( level=4 |
|||
+ rcx = 000.000E+07 |
|||
+ rci = 100.001E+07 |
|||
+ vo = 200.002E+07 |
|||
+ gamm = 300.003E+07 |
|||
+ hrcf = 400.004E+07 |
|||
+ rbx = 500.005E+07 |
|||
+ rbi = 600.006E+07 |
|||
+ re = 700.007E+07 |
|||
+ rs = 800.008E+07 |
|||
+ rbp = 900.009E+07 |
|||
+) |
|||
*+ is = 123.456E+07 |
|||
*+ nf = 123.456E+07 |
|||
*+ nr = 123.456E+07 |
|||
*+ fc = 123.456E+07 |
|||
*+ cbeo = 123.456E+07 |
|||
*+ cje = 123.456E+07 |
|||
*+ pe = 123.456E+07 |
|||
*+ me = 123.456E+07 |
|||
*+ aje = 123.456E+07 |
|||
*+ cbco = 123.456E+07 |
|||
*+ cjc = 123.456E+07 |
|||
*+ qco = 123.456E+07 |
|||
*+ cjep = 123.456E+07 |
|||
*+ pc = 123.456E+07 |
|||
*+ mc = 123.456E+07 |
|||
*+ ajc = 123.456E+07 |
|||
*+ cjcp = 123.456E+07 |
|||
*+ ps = 123.456E+07 |
|||
*+ ms = 123.456E+07 |
|||
*+ ajs = 123.456E+07 |
|||
*+ ibei = 123.456E+07 |
|||
*+ wbe = 123.456E+07 |
|||
*+ nei = 123.456E+07 |
|||
*+ iben = 123.456E+07 |
|||
*+ nen = 123.456E+07 |
|||
*+ ibci = 123.456E+07 |
|||
*+ nci = 123.456E+07 |
|||
*+ ibcn = 123.456E+07 |
|||
*+ ncn = 123.456E+07 |
|||
*+ avc1 = 123.456E+07 |
|||
*+ avc2 = 123.456E+07 |
|||
*+ isp = 123.456E+07 |
|||
*+ wsp = 123.456E+07 |
|||
*+ nfp = 123.456E+07 |
|||
*+ ibeip = 123.456E+07 |
|||
*+ ibenp = 123.456E+07 |
|||
*+ ibcip = 123.456E+07 |
|||
*+ ncip = 123.456E+07 |
|||
*+ ibcnp = 123.456E+07 |
|||
*+ ncnp = 123.456E+07 |
|||
*+ vef = 123.456E+07 |
|||
*+ ver = 123.456E+07 |
|||
*+ ikf = 123.456E+07 |
|||
*+ ikr = 123.456E+07 |
|||
*+ ikp = 123.456E+07 |
|||
*+ tf = 123.456E+07 |
|||
*+ qtf = 123.456E+07 |
|||
*+ xtf = 123.456E+07 |
|||
*+ vtf = 123.456E+07 |
|||
*+ itf = 123.456E+07 |
|||
*+ tr = 123.456E+07 |
|||
*+ td = 123.456E+07 |
|||
*+ kfn = 123.456E+07 |
|||
*+ afn = 123.456E+07 |
|||
*+ bfn = 123.456E+07 |
|||
*+ xre = 123.456E+07 |
|||
*+ xrb = 123.456E+07 |
|||
*+ xrbi = 123.456E+07 |
|||
*+ xrc = 123.456E+07 |
|||
*+ xrci = 123.456E+07 |
|||
*+ xrs = 123.456E+07 |
|||
*+ xvo = 123.456E+07 |
|||
*+ ea = 123.456E+07 |
|||
*+ eaie = 123.456E+07 |
|||
*+ eaic = 123.456E+07 |
|||
*+ eais = 123.456E+07 |
|||
*+ eane = 123.456E+07 |
|||
*+ eanc = 123.456E+07 |
|||
*+ eans = 123.456E+07 |
|||
*+ xis = 123.456E+07 |
|||
*+ xii = 123.456E+07 |
|||
*+ xin = 123.456E+07 |
|||
*+ tnf = 123.456E+07 |
|||
*+ tavc = 123.456E+07 |
|||
*+ rth = 123.456E+07 |
|||
*+ cth = 123.456E+07 |
|||
*+ vrt = 123.456E+07 |
|||
*+ art = 123.456E+07 |
|||
*+ ccso = 123.456E+07 |
|||
*+ qbm = 123.456E+07 |
|||
*+ nkf = 123.456E+07 |
|||
*+ xikf = 123.456E+07 |
|||
*+ xrcx = 123.456E+07 |
|||
*+ xrbx = 123.456E+07 |
|||
*+ xrbp = 123.456E+07 |
|||
*+ isrr = 123.456E+07 |
|||
*+ xisr = 123.456E+07 |
|||
*+ dear = 123.456E+07 |
|||
*+ eap = 123.456E+07 |
|||
*+ vbbe = 123.456E+07 |
|||
*+ nbbe = 123.456E+07 |
|||
*+ ibbe = 123.456E+07 |
|||
*+ tvbbe1 = 123.456E+07 |
|||
*+ tvbbe2 = 123.456E+07 |
|||
*+ tnbbe = 123.456E+07 |
|||
*+ ebbe = 123.456E+07 |
|||
*+ dtemp = 123.456E+07 |
|||
*+ vers = 123.456E+07 |
|||
*+ vref = 123.456E+07 |
|||
*+ vbe_max = 123.456E+07 |
|||
*+ vbc_max = 123.456E+07 |
|||
*+ vce_max = 123.456E+07 |
|||
*+) |
|||
|
|||
.model _3_PNP_VBIC PNP( level=4.0 |
|||
+ rcx = 000.000E+07 |
|||
+ rci = 100.001E+07 |
|||
+ vo = 200.002E+07 |
|||
+ gamm = 300.003E+07 |
|||
+ hrcf = 400.004E+07 |
|||
+ rbx = 500.005E+07 |
|||
+ rbi = 600.006E+07 |
|||
+ re = 700.007E+07 |
|||
+ rs = 800.008E+07 |
|||
+ rbp = 900.009E+07 |
|||
+) |
|||
*+ is = 123.456E+07 |
|||
*+ nf = 123.456E+07 |
|||
*+ nr = 123.456E+07 |
|||
*+ fc = 123.456E+07 |
|||
*+ cbeo = 123.456E+07 |
|||
*+ cje = 123.456E+07 |
|||
*+ pe = 123.456E+07 |
|||
*+ me = 123.456E+07 |
|||
*+ aje = 123.456E+07 |
|||
*+ cbco = 123.456E+07 |
|||
*+ cjc = 123.456E+07 |
|||
*+ qco = 123.456E+07 |
|||
*+ cjep = 123.456E+07 |
|||
*+ pc = 123.456E+07 |
|||
*+ mc = 123.456E+07 |
|||
*+ ajc = 123.456E+07 |
|||
*+ cjcp = 123.456E+07 |
|||
*+ ps = 123.456E+07 |
|||
*+ ms = 123.456E+07 |
|||
*+ ajs = 123.456E+07 |
|||
*+ ibei = 123.456E+07 |
|||
*+ wbe = 123.456E+07 |
|||
*+ nei = 123.456E+07 |
|||
*+ iben = 123.456E+07 |
|||
*+ nen = 123.456E+07 |
|||
*+ ibci = 123.456E+07 |
|||
*+ nci = 123.456E+07 |
|||
*+ ibcn = 123.456E+07 |
|||
*+ ncn = 123.456E+07 |
|||
*+ avc1 = 123.456E+07 |
|||
*+ avc2 = 123.456E+07 |
|||
*+ isp = 123.456E+07 |
|||
*+ wsp = 123.456E+07 |
|||
*+ nfp = 123.456E+07 |
|||
*+ ibeip = 123.456E+07 |
|||
*+ ibenp = 123.456E+07 |
|||
*+ ibcip = 123.456E+07 |
|||
*+ ncip = 123.456E+07 |
|||
*+ ibcnp = 123.456E+07 |
|||
*+ ncnp = 123.456E+07 |
|||
*+ vef = 123.456E+07 |
|||
*+ ver = 123.456E+07 |
|||
*+ ikf = 123.456E+07 |
|||
*+ ikr = 123.456E+07 |
|||
*+ ikp = 123.456E+07 |
|||
*+ tf = 123.456E+07 |
|||
*+ qtf = 123.456E+07 |
|||
*+ xtf = 123.456E+07 |
|||
*+ vtf = 123.456E+07 |
|||
*+ itf = 123.456E+07 |
|||
*+ tr = 123.456E+07 |
|||
*+ td = 123.456E+07 |
|||
*+ kfn = 123.456E+07 |
|||
*+ afn = 123.456E+07 |
|||
*+ bfn = 123.456E+07 |
|||
*+ xre = 123.456E+07 |
|||
*+ xrb = 123.456E+07 |
|||
*+ xrbi = 123.456E+07 |
|||
*+ xrc = 123.456E+07 |
|||
*+ xrci = 123.456E+07 |
|||
*+ xrs = 123.456E+07 |
|||
*+ xvo = 123.456E+07 |
|||
*+ ea = 123.456E+07 |
|||
*+ eaie = 123.456E+07 |
|||
*+ eaic = 123.456E+07 |
|||
*+ eais = 123.456E+07 |
|||
*+ eane = 123.456E+07 |
|||
*+ eanc = 123.456E+07 |
|||
*+ eans = 123.456E+07 |
|||
*+ xis = 123.456E+07 |
|||
*+ xii = 123.456E+07 |
|||
*+ xin = 123.456E+07 |
|||
*+ tnf = 123.456E+07 |
|||
*+ tavc = 123.456E+07 |
|||
*+ rth = 123.456E+07 |
|||
*+ cth = 123.456E+07 |
|||
*+ vrt = 123.456E+07 |
|||
*+ art = 123.456E+07 |
|||
*+ ccso = 123.456E+07 |
|||
*+ qbm = 123.456E+07 |
|||
*+ nkf = 123.456E+07 |
|||
*+ xikf = 123.456E+07 |
|||
*+ xrcx = 123.456E+07 |
|||
*+ xrbx = 123.456E+07 |
|||
*+ xrbp = 123.456E+07 |
|||
*+ isrr = 123.456E+07 |
|||
*+ xisr = 123.456E+07 |
|||
*+ dear = 123.456E+07 |
|||
*+ eap = 123.456E+07 |
|||
*+ vbbe = 123.456E+07 |
|||
*+ nbbe = 123.456E+07 |
|||
*+ ibbe = 123.456E+07 |
|||
*+ tvbbe1 = 123.456E+07 |
|||
*+ tvbbe2 = 123.456E+07 |
|||
*+ tnbbe = 123.456E+07 |
|||
*+ ebbe = 123.456E+07 |
|||
*+ dtemp = 123.456E+07 |
|||
*+ vers = 123.456E+07 |
|||
*+ vref = 123.456E+07 |
|||
*+ vbe_max = 123.456E+07 |
|||
*+ vbc_max = 123.456E+07 |
|||
*+ vce_max = 123.456E+07 |
|||
*+) |
|||
|
|||
|
|||
* HICUM/L2 |
|||
|
|||
.model _4_NPN_HICUML2 NPN( level=8.00 |
|||
+ c10 = 000.000E+07 |
|||
+ qp0 = 100.001E+07 |
|||
+ ich = 200.002E+07 |
|||
+ hf0 = 300.003E+07 |
|||
+ hfe = 400.004E+07 |
|||
+ hfc = 500.005E+07 |
|||
+ hjei = 600.006E+07 |
|||
+ ahjei = 700.007E+07 |
|||
+ rhjei = 800.008E+07 |
|||
+ hjci = 900.009E+07 |
|||
+) |
|||
*+ ibeis = 123.456E+07 |
|||
*+ mbei = 123.456E+07 |
|||
*+ ireis = 123.456E+07 |
|||
*+ mrei = 123.456E+07 |
|||
*+ ibeps = 123.456E+07 |
|||
*+ mbep = 123.456E+07 |
|||
*+ ireps = 123.456E+07 |
|||
*+ mrep = 123.456E+07 |
|||
*+ mcf = 123.456E+07 |
|||
*+ tbhrec = 123.456E+07 |
|||
*+ ibcis = 123.456E+07 |
|||
*+ mbci = 123.456E+07 |
|||
*+ ibcxs = 123.456E+07 |
|||
*+ mbcx = 123.456E+07 |
|||
*+ ibets = 123.456E+07 |
|||
*+ abet = 123.456E+07 |
|||
*+ tunode = 123.456E+07 |
|||
*+ favl = 123.456E+07 |
|||
*+ qavl = 123.456E+07 |
|||
*+ kavl = 123.456E+07 |
|||
*+ alfav = 123.456E+07 |
|||
*+ alqav = 123.456E+07 |
|||
*+ alkav = 123.456E+07 |
|||
*+ rbi0 = 123.456E+07 |
|||
*+ rbx = 123.456E+07 |
|||
*+ fgeo = 123.456E+07 |
|||
*+ fdqr0 = 123.456E+07 |
|||
*+ fcrbi = 123.456E+07 |
|||
*+ fqi = 123.456E+07 |
|||
*+ re = 123.456E+07 |
|||
*+ rcx = 123.456E+07 |
|||
*+ itss = 123.456E+07 |
|||
*+ msf = 123.456E+07 |
|||
*+ iscs = 123.456E+07 |
|||
*+ msc = 123.456E+07 |
|||
*+ tsf = 123.456E+07 |
|||
*+ rsu = 123.456E+07 |
|||
*+ csu = 123.456E+07 |
|||
*+ cjei0 = 123.456E+07 |
|||
*+ vdei = 123.456E+07 |
|||
*+ zei = 123.456E+07 |
|||
*+ ajei = 123.456E+07 |
|||
*+ aljei = 123.456E+07 |
|||
*+ cjep0 = 123.456E+07 |
|||
*+ vdep = 123.456E+07 |
|||
*+ zep = 123.456E+07 |
|||
*+ ajep = 123.456E+07 |
|||
*+ aljep = 123.456E+07 |
|||
*+ cjci0 = 123.456E+07 |
|||
*+ vdci = 123.456E+07 |
|||
*+ zci = 123.456E+07 |
|||
*+ vptci = 123.456E+07 |
|||
*+ cjcx0 = 123.456E+07 |
|||
*+ vdcx = 123.456E+07 |
|||
*+ zcx = 123.456E+07 |
|||
*+ vptcx = 123.456E+07 |
|||
*+ fbcpar = 123.456E+07 |
|||
*+ fbc = 123.456E+07 |
|||
*+ fbepar = 123.456E+07 |
|||
*+ fbe = 123.456E+07 |
|||
*+ cjs0 = 123.456E+07 |
|||
*+ vds = 123.456E+07 |
|||
*+ zs = 123.456E+07 |
|||
*+ vpts = 123.456E+07 |
|||
*+ cscp0 = 123.456E+07 |
|||
*+ vdsp = 123.456E+07 |
|||
*+ zsp = 123.456E+07 |
|||
*+ vptsp = 123.456E+07 |
|||
*+ t0 = 123.456E+07 |
|||
*+ dt0h = 123.456E+07 |
|||
*+ tbvl = 123.456E+07 |
|||
*+ tef0 = 123.456E+07 |
|||
*+ gtfe = 123.456E+07 |
|||
*+ thcs = 123.456E+07 |
|||
*+ ahc = 123.456E+07 |
|||
*+ alhc = 123.456E+07 |
|||
*+ fthc = 123.456E+07 |
|||
*+ rci0 = 123.456E+07 |
|||
*+ vlim = 123.456E+07 |
|||
*+ vces = 123.456E+07 |
|||
*+ vpt = 123.456E+07 |
|||
*+ aick = 123.456E+07 |
|||
*+ delck = 123.456E+07 |
|||
*+ tr = 123.456E+07 |
|||
*+ vcbar = 123.456E+07 |
|||
*+ icbar = 123.456E+07 |
|||
*+ acbar = 123.456E+07 |
|||
*+ cbepar = 123.456E+07 |
|||
*+ ceox = 123.456E+07 |
|||
*+ cbcpar = 123.456E+07 |
|||
*+ ccox = 123.456E+07 |
|||
*+ alqf = 123.456E+07 |
|||
*+ alit = 123.456E+07 |
|||
*+ flnqs = 123.456E+07 |
|||
*+ kf = 123.456E+07 |
|||
*+ af = 123.456E+07 |
|||
*+ cfbe = 123.456E+07 |
|||
*+ flcono = 123.456E+07 |
|||
*+ kfre = 123.456E+07 |
|||
*+ afre = 123.456E+07 |
|||
*+ latb = 123.456E+07 |
|||
*+ latl = 123.456E+07 |
|||
*+ vgb = 123.456E+07 |
|||
*+ alt0 = 123.456E+07 |
|||
*+ kt0 = 123.456E+07 |
|||
*+ zetaci = 123.456E+07 |
|||
*+ alvs = 123.456E+07 |
|||
*+ alces = 123.456E+07 |
|||
*+ zetarbi = 123.456E+07 |
|||
*+ zetarbx = 123.456E+07 |
|||
*+ zetarcx = 123.456E+07 |
|||
*+ zetare = 123.456E+07 |
|||
*+ zetacx = 123.456E+07 |
|||
*+ vge = 123.456E+07 |
|||
*+ vgc = 123.456E+07 |
|||
*+ vgs = 123.456E+07 |
|||
*+ f1vg = 123.456E+07 |
|||
*+ f2vg = 123.456E+07 |
|||
*+ zetact = 123.456E+07 |
|||
*+ zetabet = 123.456E+07 |
|||
*+ alb = 123.456E+07 |
|||
*+ dvgbe = 123.456E+07 |
|||
*+ zetahjei = 123.456E+07 |
|||
*+ zetavgbe = 123.456E+07 |
|||
*+ flsh = 123.456E+07 |
|||
*+ rth = 123.456E+07 |
|||
*+ zetarth = 123.456E+07 |
|||
*+ alrth = 123.456E+07 |
|||
*+ cth = 123.456E+07 |
|||
*+ flcomp = 123.456E+07 |
|||
*+ vbe_max = 123.456E+07 |
|||
*+ vbc_max = 123.456E+07 |
|||
*+ vce_max = 123.456E+07 |
|||
*+) |
|||
|
|||
.model _5_PNP_HICUML2 PNP( level=8 |
|||
+ c10 = 000.000E+07 |
|||
+ qp0 = 100.001E+07 |
|||
+ ich = 200.002E+07 |
|||
+ hf0 = 300.003E+07 |
|||
+ hfe = 400.004E+07 |
|||
+ hfc = 500.005E+07 |
|||
+ hjei = 600.006E+07 |
|||
+ ahjei = 700.007E+07 |
|||
+ rhjei = 800.008E+07 |
|||
+ hjci = 900.009E+07 |
|||
+) |
|||
*+ ibeis = 123.456E+07 |
|||
*+ mbei = 123.456E+07 |
|||
*+ ireis = 123.456E+07 |
|||
*+ mrei = 123.456E+07 |
|||
*+ ibeps = 123.456E+07 |
|||
*+ mbep = 123.456E+07 |
|||
*+ ireps = 123.456E+07 |
|||
*+ mrep = 123.456E+07 |
|||
*+ mcf = 123.456E+07 |
|||
*+ tbhrec = 123.456E+07 |
|||
*+ ibcis = 123.456E+07 |
|||
*+ mbci = 123.456E+07 |
|||
*+ ibcxs = 123.456E+07 |
|||
*+ mbcx = 123.456E+07 |
|||
*+ ibets = 123.456E+07 |
|||
*+ abet = 123.456E+07 |
|||
*+ tunode = 123.456E+07 |
|||
*+ favl = 123.456E+07 |
|||
*+ qavl = 123.456E+07 |
|||
*+ kavl = 123.456E+07 |
|||
*+ alfav = 123.456E+07 |
|||
*+ alqav = 123.456E+07 |
|||
*+ alkav = 123.456E+07 |
|||
*+ rbi0 = 123.456E+07 |
|||
*+ rbx = 123.456E+07 |
|||
*+ fgeo = 123.456E+07 |
|||
*+ fdqr0 = 123.456E+07 |
|||
*+ fcrbi = 123.456E+07 |
|||
*+ fqi = 123.456E+07 |
|||
*+ re = 123.456E+07 |
|||
*+ rcx = 123.456E+07 |
|||
*+ itss = 123.456E+07 |
|||
*+ msf = 123.456E+07 |
|||
*+ iscs = 123.456E+07 |
|||
*+ msc = 123.456E+07 |
|||
*+ tsf = 123.456E+07 |
|||
*+ rsu = 123.456E+07 |
|||
*+ csu = 123.456E+07 |
|||
*+ cjei0 = 123.456E+07 |
|||
*+ vdei = 123.456E+07 |
|||
*+ zei = 123.456E+07 |
|||
*+ ajei = 123.456E+07 |
|||
*+ aljei = 123.456E+07 |
|||
*+ cjep0 = 123.456E+07 |
|||
*+ vdep = 123.456E+07 |
|||
*+ zep = 123.456E+07 |
|||
*+ ajep = 123.456E+07 |
|||
*+ aljep = 123.456E+07 |
|||
*+ cjci0 = 123.456E+07 |
|||
*+ vdci = 123.456E+07 |
|||
*+ zci = 123.456E+07 |
|||
*+ vptci = 123.456E+07 |
|||
*+ cjcx0 = 123.456E+07 |
|||
*+ vdcx = 123.456E+07 |
|||
*+ zcx = 123.456E+07 |
|||
*+ vptcx = 123.456E+07 |
|||
*+ fbcpar = 123.456E+07 |
|||
*+ fbc = 123.456E+07 |
|||
*+ fbepar = 123.456E+07 |
|||
*+ fbe = 123.456E+07 |
|||
*+ cjs0 = 123.456E+07 |
|||
*+ vds = 123.456E+07 |
|||
*+ zs = 123.456E+07 |
|||
*+ vpts = 123.456E+07 |
|||
*+ cscp0 = 123.456E+07 |
|||
*+ vdsp = 123.456E+07 |
|||
*+ zsp = 123.456E+07 |
|||
*+ vptsp = 123.456E+07 |
|||
*+ t0 = 123.456E+07 |
|||
*+ dt0h = 123.456E+07 |
|||
*+ tbvl = 123.456E+07 |
|||
*+ tef0 = 123.456E+07 |
|||
*+ gtfe = 123.456E+07 |
|||
*+ thcs = 123.456E+07 |
|||
*+ ahc = 123.456E+07 |
|||
*+ alhc = 123.456E+07 |
|||
*+ fthc = 123.456E+07 |
|||
*+ rci0 = 123.456E+07 |
|||
*+ vlim = 123.456E+07 |
|||
*+ vces = 123.456E+07 |
|||
*+ vpt = 123.456E+07 |
|||
*+ aick = 123.456E+07 |
|||
*+ delck = 123.456E+07 |
|||
*+ tr = 123.456E+07 |
|||
*+ vcbar = 123.456E+07 |
|||
*+ icbar = 123.456E+07 |
|||
*+ acbar = 123.456E+07 |
|||
*+ cbepar = 123.456E+07 |
|||
*+ ceox = 123.456E+07 |
|||
*+ cbcpar = 123.456E+07 |
|||
*+ ccox = 123.456E+07 |
|||
*+ alqf = 123.456E+07 |
|||
*+ alit = 123.456E+07 |
|||
*+ flnqs = 123.456E+07 |
|||
*+ kf = 123.456E+07 |
|||
*+ af = 123.456E+07 |
|||
*+ cfbe = 123.456E+07 |
|||
*+ flcono = 123.456E+07 |
|||
*+ kfre = 123.456E+07 |
|||
*+ afre = 123.456E+07 |
|||
*+ latb = 123.456E+07 |
|||
*+ latl = 123.456E+07 |
|||
*+ vgb = 123.456E+07 |
|||
*+ alt0 = 123.456E+07 |
|||
*+ kt0 = 123.456E+07 |
|||
*+ zetaci = 123.456E+07 |
|||
*+ alvs = 123.456E+07 |
|||
*+ alces = 123.456E+07 |
|||
*+ zetarbi = 123.456E+07 |
|||
*+ zetarbx = 123.456E+07 |
|||
*+ zetarcx = 123.456E+07 |
|||
*+ zetare = 123.456E+07 |
|||
*+ zetacx = 123.456E+07 |
|||
*+ vge = 123.456E+07 |
|||
*+ vgc = 123.456E+07 |
|||
*+ vgs = 123.456E+07 |
|||
*+ f1vg = 123.456E+07 |
|||
*+ f2vg = 123.456E+07 |
|||
*+ zetact = 123.456E+07 |
|||
*+ zetabet = 123.456E+07 |
|||
*+ alb = 123.456E+07 |
|||
*+ dvgbe = 123.456E+07 |
|||
*+ zetahjei = 123.456E+07 |
|||
*+ zetavgbe = 123.456E+07 |
|||
*+ flsh = 123.456E+07 |
|||
*+ rth = 123.456E+07 |
|||
*+ zetarth = 123.456E+07 |
|||
*+ alrth = 123.456E+07 |
|||
*+ cth = 123.456E+07 |
|||
*+ flcomp = 123.456E+07 |
|||
*+ vbe_max = 123.456E+07 |
|||
*+ vbc_max = 123.456E+07 |
|||
*+ vce_max = 123.456E+07 |
|||
*+) |
|||
@ -0,0 +1,132 @@ |
|||
* |
|||
* diodes.lib |
|||
* |
|||
|
|||
* Some diode models to test if reading Spice libraries works. |
|||
|
|||
* Not really 1N4148, just shoddily based on some values in datasheet. |
|||
.MODEL 1N4148 D (BV=100 CJO=4p IBV=100u IS=4n M=0.33 N=2 |
|||
+ RS=0.5 TT=10n VJ=0.8) |
|||
|
|||
* The below models have made up values - I didn't bother to check if they are physically correct. |
|||
|
|||
|
|||
.model D1 D(Is=1.23n N=1.23 Rs=.7890 Ikf=12.34m Xti=3 Eg=1.23 Cjo=.90p |
|||
+ M=.56 Vj=.78 Fc=.9 Isr=12.34n Nr=2.345 Bv=100 Ibv=100u Tt=12.34n) |
|||
|
|||
* This line has a single trailing space. |
|||
* DUsual* models always have the same values to save space on test asserts. |
|||
.model D2_Usual D(BV=1.1U CJO=2.2M IBV=3.3 IS=4.4K M=5.5MEG N=6.6G) |
|||
|
|||
* Trailing spaces, and an (empty) continuation. |
|||
.model D3_Usual D(BV=1.1U CJO=2.2M IBV=3.3 IS=4.4K M=5.5MEG N=6.6G |
|||
+) |
|||
|
|||
.model D4 D( Is=0.1p |
|||
+ Rs=2 |
|||
+ CJO=3p |
|||
+ Tt=45n ; Test comment |
|||
+ Bv=678 |
|||
+ Ibv=0.1p ) |
|||
* (Has trailing spaces after each parameter value) |
|||
|
|||
.model D5_Empty D () ; Empty model |
|||
|
|||
* Parentheses are optional. |
|||
.model D6_Empty D |
|||
|
|||
.model D7_Empty D ; Empty model, no parentheses, ending with a comment. |
|||
|
|||
.model D8_Empty D |
|||
|
|||
.model D9_Empty D; |
|||
|
|||
* Several parameters, no parentheses. |
|||
.model D10_Usual D BV=1.1U CJO=2.2M IBV=3.3 IS=4.4K M=5.5MEG N=6.6G |
|||
|
|||
* Several parameters, no parentheses, multiple lines, backslash continuations. |
|||
.model D11_Usual D BV=1.1U \\ |
|||
CJO=2.2M |
|||
+ IBV=3.3; |
|||
+ IS=4.4K ; Test comment |
|||
+ M=5.5MEG\\ |
|||
N=6.6G |
|||
|
|||
.model D12_Usual D |
|||
+BV=1.1U |
|||
+CJO=2.2M |
|||
+IBV=3.3; |
|||
+IS=4.4K; |
|||
+M=5.5MEG |
|||
+N=6.6G |
|||
|
|||
* Test some parameter synonyms. |
|||
.model D13_Usual D |
|||
+ BV=1.1U |
|||
+ CJ0=2.2M |
|||
+ IBV=3.3 |
|||
+ JS=4.4K |
|||
+ MJ=5.5MEG |
|||
+ N=6.6G |
|||
.model D14_Usual D |
|||
+ BV=1.1U |
|||
+ CJ=2.2M |
|||
+ IBV=3.3 |
|||
+ JS=4.4K |
|||
+ MJ=5.5MEG |
|||
+ N=6.6G |
|||
|
|||
* Two spaces as a separator everywhere, two leading, two trailing spaces. |
|||
.model D15_Usual D ( BV=1.1U CJ=2.2M IBV=3.3 JS=4.4K MJ=5.5MEG N=6.6G ) |
|||
|
|||
* Spaces aligning param names and values. |
|||
* Leading tab. |
|||
.model D16_Usual D |
|||
+ BV = 1.1U |
|||
+ CJ0 = 2.2M |
|||
+ IBV = 3.3 |
|||
+ JS = 4.4K |
|||
+ MJ = 5.5MEG |
|||
+ N = 6.6G |
|||
|
|||
* Parameters intermingled with garbage characters. Spice allows that, so we should too. |
|||
.model D17_Usual D ( () ) , = |
|||
+ BV ==== +1.1E-6, |
|||
+ CJ0 ,, ,, +2.2e-03 , |
|||
+ IBV 3.3E-00 |
|||
+ JS = = 4.4e+03 |
|||
+ MJ +5.5MEG,;, |
|||
+ N = 6.6G ; |
|||
|
|||
* All valid combinations of + - signs. |
|||
.model D18 D |
|||
+ N -1.1, MJ +2.2, JS -3.3e-3, IBV +4.4e+4, CJ0 5.5e-5, BV 6.6e+6 |
|||
|
|||
* Multiple empty-line continuations. |
|||
* TODO |
|||
.model D19_Usual D |
|||
* Comment 1 |
|||
* Comment 2 |
|||
+ BV=1.1U |
|||
+ |
|||
+ CJ=2.2M\\ |
|||
\\ |
|||
|
|||
+ |
|||
* Comment 3 |
|||
+ |
|||
+ IBV=3.3 |
|||
+ |
|||
+ |
|||
+ JS=4.4K |
|||
* Comment 4 |
|||
* Comment 5 |
|||
+ |
|||
* Comment 8 |
|||
+ MJ=5.5MEG |
|||
+ |
|||
(),= * Comment 9 |
|||
+ N=6.6G |
|||
|
|||
* No newline at the end of file. |
|||
.model D20_Usual D(BV=1.1U CJ=2.2M IBV=3.3 JS=4.4K MJ=5.5MEG N=6.6G) |
|||
@ -0,0 +1,578 @@ |
|||
* |
|||
* fets.lib.spice |
|||
* |
|||
|
|||
* All parameter values are made up and physically nonsensical. |
|||
|
|||
.model _0_NJF_SHICHMANHODGES njf (level=1 |
|||
+ VTO=000.000E+07 |
|||
+ BETA=100.001E+07 |
|||
+ LAMBDA=200.002E+07 |
|||
+ RD=300.003E+07 |
|||
+ RS=400.004E+07 |
|||
+ CGS=500.005E+07 |
|||
+ CGD=600.006E+07 |
|||
+ PB=700.007E+07 |
|||
+ IS=800.008E+07 |
|||
+ FC=900.009E+07 |
|||
+) |
|||
|
|||
.model _1_PJF_SHICHMANHODGES pjf (level=1 |
|||
+ VTO=000.000E+07 |
|||
+ BETA=100.001E+07 |
|||
+ LAMBDA=200.002E+07 |
|||
+ RD=300.003E+07 |
|||
+ RS=400.004E+07 |
|||
+ CGS=500.005E+07 |
|||
+ CGD=600.006E+07 |
|||
+ PB=700.007E+07 |
|||
+ IS=800.008E+07 |
|||
+ FC=900.009E+07 |
|||
+) |
|||
|
|||
.model _2_NJF_PARKERSKELLERN njf (level=2 |
|||
+ VBI=000.000E+07;;; |
|||
+ AF=100.001E+07 |
|||
+ BETA=200.002E+07 |
|||
+ CDS=300.003E+07 |
|||
+ CGD=400.004E+07 |
|||
+ CGS=500.005E+07 |
|||
+ DELTA=600.006E+07 |
|||
+ HFETA=700.007E+07;;; |
|||
+ MVST=800.008E+07 |
|||
+ MXI=900.009E+07 |
|||
+) |
|||
|
|||
.model _3_PJF_PARKERSKELLERN pjf (level=2 |
|||
+ VBI=000.000E+07;;; |
|||
+ AF=100.001E+07 |
|||
+ BETA=200.002E+07 |
|||
+ CDS=300.003E+07 |
|||
+ CGD=400.004E+07 |
|||
+ CGS=500.005E+07 |
|||
+ DELTA=600.006E+07 |
|||
+ HFETA=700.007E+07;;; |
|||
+ MVST=800.008E+07 |
|||
+ MXI=900.009E+07 |
|||
+) |
|||
|
|||
.model _4_NMF_STATZ nmf (level=1 |
|||
+ VTO=000.000E+07 |
|||
+ ALPHA=100.001E+07 |
|||
+ BETA=200.002E+07 |
|||
+ LAMBDA=300.003E+07 |
|||
+ B=400.004E+07 |
|||
+ RD=500.005E+07 |
|||
+ RS=600.006E+07 |
|||
+ CGS=700.007E+07 |
|||
+ CGD=800.008E+07 |
|||
+ PB=900.009E+07 |
|||
+) |
|||
|
|||
.model _5_PMF_STATZ pmf (level=1 |
|||
+ VTO=000.000E+07 |
|||
+ ALPHA=100.001E+07 |
|||
+ BETA=200.002E+07 |
|||
+ LAMBDA=300.003E+07 |
|||
+ B=400.004E+07 |
|||
+ RD=500.005E+07 |
|||
+ RS=600.006E+07 |
|||
+ CGS=700.007E+07 |
|||
+ CGD=800.008E+07 |
|||
+ PB=900.009E+07 |
|||
+) |
|||
|
|||
* TODO: Ngspice User's Manual shows model line for MESFETs with level=4 - investigate that. |
|||
.model _6_NMF_YTTERDAL nmf (level=2 |
|||
+ VTO=000.000E+07 |
|||
+ LAMBDA=100.001E+07 |
|||
+ LAMBDAHF=200.002E+07 |
|||
+ BETA=300.003E+07 |
|||
+ VS=400.004E+07 |
|||
+ RD=500.005E+07 |
|||
+ RS=600.006E+07 |
|||
+ RG=700.007E+07 |
|||
+ RI=800.008E+07 |
|||
+ RF=900.009E+07 |
|||
+) |
|||
|
|||
.model _7_PMF_YTTERDAL pmf (level=2 |
|||
+ VTO=000.000E+07 |
|||
+ LAMBDA=100.001E+07 |
|||
+ LAMBDAHF=200.002E+07 |
|||
+ BETA=300.003E+07 |
|||
+ VS=400.004E+07 |
|||
+ RD=500.005E+07 |
|||
+ RS=600.006E+07 |
|||
+ RG=700.007E+07 |
|||
+ RI=800.008E+07 |
|||
+ RF=900.009E+07 |
|||
+) |
|||
|
|||
.model _8_NMF_HFET1 nmf (level=5 |
|||
+ VTO=000.000E+07 |
|||
+ LAMBDA=100.001E+07 |
|||
+ RD=200.002E+07 |
|||
+ RS=300.003E+07 |
|||
+ RG=400.004E+07 |
|||
+ RDI=500.005E+07 |
|||
+ RSI=600.006E+07 |
|||
+ RGS=700.007E+07 |
|||
+ RGD=800.008E+07;;; |
|||
+ ETA=900.009E+07 |
|||
+) |
|||
|
|||
.model _9_PMF_HFET1 pmf (level=5 |
|||
+ VTO=000.000E+07 |
|||
+ LAMBDA=100.001E+07 |
|||
+ RD=200.002E+07 |
|||
+ RS=300.003E+07 |
|||
+ RG=400.004E+07 |
|||
+ RDI=500.005E+07 |
|||
+ RSI=600.006E+07 |
|||
+ RGS=700.007E+07 |
|||
+ RGD=800.008E+07;;; |
|||
+ ETA=900.009E+07 |
|||
+) |
|||
|
|||
.model _10_NMF_HFET2 nmf (level=6 |
|||
+ VS=000.000E+07;;; |
|||
+ GGR=100.001E+07 |
|||
+ JS=200.002E+07;;; |
|||
+ DEL=300.003E+07 |
|||
+ DELTA=400.004E+07 |
|||
+ DELTAD=500.005E+07 |
|||
+ DI=600.006E+07 |
|||
+ EPSI=700.007E+07 |
|||
+ ETA=800.008E+07 |
|||
+ ETA1=900.009E+07 |
|||
+) |
|||
|
|||
.model _11_PMF_HFET2 pmf (level=6 |
|||
+ VS=000.000E+07;;; |
|||
+ GGR=100.001E+07 |
|||
+ JS=200.002E+07;;; |
|||
+ DEL=300.003E+07 |
|||
+ DELTA=400.004E+07 |
|||
+ DELTAD=500.005E+07 |
|||
+ DI=600.006E+07 |
|||
+ EPSI=700.007E+07 |
|||
+ ETA=800.008E+07 |
|||
+ ETA1=900.009E+07 |
|||
+) |
|||
|
|||
.model _12_NMOS_MOS1 nmos (level=1 |
|||
+ VTO=000.000E+07 |
|||
+ KP=100.001E+07 |
|||
+ GAMMA=200.002E+07 |
|||
+ PHI=300.003E+07 |
|||
+ LAMBDA=400.004E+07 |
|||
+ RD=500.005E+07 |
|||
+ RS=600.006E+07 |
|||
+ CBD=700.007E+07 |
|||
+ CBS=800.008E+07 |
|||
+ IS=900.009E+07 |
|||
+) |
|||
|
|||
.model _13_PMOS_MOS1 pmos (level=1 |
|||
+ VTO=000.000E+07 |
|||
+ KP=100.001E+07 |
|||
+ GAMMA=200.002E+07 |
|||
+ PHI=300.003E+07 |
|||
+ LAMBDA=400.004E+07 |
|||
+ RD=500.005E+07 |
|||
+ RS=600.006E+07 |
|||
+ CBD=700.007E+07 |
|||
+ CBS=800.008E+07 |
|||
+ IS=900.009E+07 |
|||
+) |
|||
|
|||
.model _14_NMOS_MOS2 nmos (level=2 |
|||
+ VTO=000.000E+07 |
|||
+ KP=100.001E+07 |
|||
+ GAMMA=200.002E+07 |
|||
+ PHI=300.003E+07 |
|||
+ LAMBDA=400.004E+07 |
|||
+ RD=500.005E+07 |
|||
+ RS=600.006E+07 |
|||
+ CBD=700.007E+07 |
|||
+ CBS=800.008E+07 |
|||
+ IS=900.009E+07 |
|||
+) |
|||
|
|||
.model _15_PMOS_MOS2 pmos (level=2 |
|||
+ VTO=000.000E+07 |
|||
+ KP=100.001E+07 ; Does not exist in MOS3 and MOS6 |
|||
+ GAMMA=200.002E+07 |
|||
+ PHI=300.003E+07 |
|||
+ LAMBDA=400.004E+07 ; Does not exist in MOS3 |
|||
+ RD=500.005E+07 |
|||
+ RS=600.006E+07 |
|||
+ CBD=700.007E+07 |
|||
+ CBS=800.008E+07 |
|||
+ IS=900.009E+07 |
|||
+) |
|||
|
|||
.model _16_NMOS_MOS3 nmos (level=3 |
|||
+ VTO=000.000E+07 |
|||
+ THETA=100.001E+07 ; MOS3 and MOS9-only |
|||
+ GAMMA=200.002E+07 |
|||
+ PHI=300.003E+07 |
|||
+ ETA=400.004E+07 ; MOS3 and MOS9-only |
|||
+ RD=500.005E+07 |
|||
+ RS=600.006E+07 |
|||
+ CBD=700.007E+07 |
|||
+ CBS=800.008E+07 |
|||
+ IS=900.009E+07 |
|||
+) |
|||
|
|||
.model _17_PMOS_MOS3 pmos (level=3 |
|||
+ VTO=000.000E+07 |
|||
+ THETA=100.001E+07 ; MOS3 and MOS9-only |
|||
+ GAMMA=200.002E+07 |
|||
+ PHI=300.003E+07 |
|||
+ ETA=400.004E+07 ; MOS3 and MOS9-only |
|||
+ RD=500.005E+07 |
|||
+ RS=600.006E+07 |
|||
+ CBD=700.007E+07 |
|||
+ CBS=800.008E+07 |
|||
+ IS=900.009E+07 |
|||
+) |
|||
|
|||
.model _18_NMOS_BSIM1 nmos (level=4 |
|||
+ VFB=000.000E+07 |
|||
+ LVFB=100.001E+07 |
|||
+ WVFB=200.002E+07 |
|||
+ PHI=300.003E+07 |
|||
+ LPHI=400.004E+07 |
|||
+ WPHI=500.005E+07 |
|||
+ K1=600.006E+07 |
|||
+ LK1=700.007E+07 |
|||
+ WK1=800.008E+07 |
|||
+ K2=900.009E+07 |
|||
+) |
|||
|
|||
.model _19_PMOS_BSIM1 pmos (level=4 |
|||
+ VFB=000.000E+07 |
|||
+ LVFB=100.001E+07 |
|||
+ WVFB=200.002E+07 |
|||
+ PHI=300.003E+07 |
|||
+ LPHI=400.004E+07 |
|||
+ WPHI=500.005E+07 |
|||
+ K1=600.006E+07 |
|||
+ LK1=700.007E+07 |
|||
+ WK1=800.008E+07 |
|||
+ K2=900.009E+07 |
|||
+) |
|||
|
|||
.model _20_NMOS_BSIM2 nmos (level=5 |
|||
+ BIB=000.000E+07 |
|||
+ LBIB=100.001E+07 |
|||
+ WBIB=200.002E+07 |
|||
+ VGHIGH=300.003E+07 |
|||
+ LVGHIGH=400.004E+07 |
|||
+ WVGHIGH=500.005E+07;;; |
|||
+ WAIB=600.006E+07 |
|||
+ BI0=700.007E+07 |
|||
+ LBI0=800.008E+07 |
|||
+ WBI0=900.009E+07 |
|||
+) |
|||
|
|||
.model _21_PMOS_BSIM2 pmos (level=5 |
|||
+ BIB=000.000E+07 |
|||
+ LBIB=100.001E+07 |
|||
+ WBIB=200.002E+07 |
|||
+ VGHIGH=300.003E+07 |
|||
+ LVGHIGH=400.004E+07 |
|||
+ WVGHIGH=500.005E+07;;; |
|||
+ WAIB=600.006E+07 |
|||
+ BI0=700.007E+07 |
|||
+ LBI0=800.008E+07 |
|||
+ WBI0=900.009E+07 |
|||
+) |
|||
|
|||
.model _22_NMOS_MOS6 nmos (level=6 |
|||
+ VTO=000.000E+07 |
|||
+ NVTH=100.001E+07 ; MOS6-only |
|||
+ GAMMA=200.002E+07 |
|||
+ PHI=300.003E+07 |
|||
+ LAMBDA=400.004E+07 |
|||
+ RD=500.005E+07 |
|||
+ RS=600.006E+07 |
|||
+ CBD=700.007E+07 |
|||
+ CBS=800.008E+07 |
|||
+ IS=900.009E+07 |
|||
+) |
|||
|
|||
.model _23_PMOS_MOS6 pmos (level=6 |
|||
+ VTO=000.000E+07 |
|||
+ NVTH=100.001E+07 ; MOS6-only |
|||
+ GAMMA=200.002E+07 |
|||
+ PHI=300.003E+07 |
|||
+ LAMBDA=400.004E+07 |
|||
+ RD=500.005E+07 |
|||
+ RS=600.006E+07 |
|||
+ CBD=700.007E+07 |
|||
+ CBS=800.008E+07 |
|||
+ IS=900.009E+07 |
|||
+) |
|||
|
|||
.model _24_NMOS_BSIM3 nmos (level=8 |
|||
+ TOX=000.000E+07 |
|||
+ TOXM=100.001E+07 |
|||
+ CDSC=200.002E+07 |
|||
+ CDSCB=300.003E+07 |
|||
+ CDSCD=400.004E+07 |
|||
+ CIT=500.005E+07 |
|||
+ NFACTOR=600.006E+07 |
|||
+ XJ=700.007E+07 |
|||
+ VSAT=800.008E+07 |
|||
+ AT=900.009E+07 |
|||
+) |
|||
|
|||
.model _25_PMOS_BSIM3 pmos (level=8 |
|||
+ TOX=000.000E+07 |
|||
+ TOXM=100.001E+07 |
|||
+ CDSC=200.002E+07 |
|||
+ CDSCB=300.003E+07 |
|||
+ CDSCD=400.004E+07 |
|||
+ CIT=500.005E+07 |
|||
+ NFACTOR=600.006E+07 |
|||
+ XJ=700.007E+07 |
|||
+ VSAT=800.008E+07 |
|||
+ AT=900.009E+07 |
|||
+) |
|||
|
|||
.model _26_NMOS_MOS9 nmos (level=9 |
|||
+ VTO=000.000E+07 |
|||
+ THETA=100.001E+07 ; MOS3 and MOS9-only |
|||
+ GAMMA=200.002E+07 |
|||
+ PHI=300.003E+07 |
|||
+ ETA=400.004E+07 ; MOS3 and MOS9-only |
|||
+ RD=500.005E+07 |
|||
+ RS=600.006E+07 |
|||
+ CBD=700.007E+07 |
|||
+ CBS=800.008E+07 |
|||
+ IS=900.009E+07 |
|||
+) |
|||
|
|||
.model _27_PMOS_MOS9 pmos (level=9 |
|||
+ VTO=000.000E+07 |
|||
+ THETA=100.001E+07 ; MOS3 and MOS9-only |
|||
+ GAMMA=200.002E+07 |
|||
+ PHI=300.003E+07 |
|||
+ ETA=400.004E+07 ; MOS3 and MOS9-only |
|||
+ RD=500.005E+07 |
|||
+ RS=600.006E+07 |
|||
+ CBD=700.007E+07 |
|||
+ CBS=800.008E+07 |
|||
+ IS=900.009E+07 |
|||
+) |
|||
|
|||
.model _28_NMOS_B4SOI nmos (level=10 |
|||
+ TOX=000.000E+07 |
|||
+ TOXP=100.001E+07 |
|||
+ TOXM=200.002E+07 |
|||
+ DTOXCV=300.003E+07 |
|||
+ CDSC=400.004E+07 |
|||
+ CDSCB=500.005E+07 |
|||
+ CDSCD=600.006E+07 |
|||
+ CIT=700.007E+07 |
|||
+ NFACTOR=800.008E+07 |
|||
+ VSAT=900.009E+07 |
|||
+) |
|||
|
|||
.model _29_PMOS_B4SOI pmos (level=10 |
|||
+ TOX=000.000E+07 |
|||
+ TOXP=100.001E+07 |
|||
+ TOXM=200.002E+07 |
|||
+ DTOXCV=300.003E+07 |
|||
+ CDSC=400.004E+07 |
|||
+ CDSCB=500.005E+07 |
|||
+ CDSCD=600.006E+07 |
|||
+ CIT=700.007E+07 |
|||
+ NFACTOR=800.008E+07 |
|||
+ VSAT=900.009E+07 |
|||
+) |
|||
|
|||
.model _30_NMOS_BSIM4 nmos (level=14 |
|||
+ RBPS0=000.000E+07 |
|||
+ RBPSL=100.001E+07 |
|||
+ RBPSW=200.002E+07 |
|||
+ RBPSNF=300.003E+07 |
|||
+ RBPD0=400.004E+07 |
|||
+ RBPDL=500.005E+07 |
|||
+ RBPDW=600.006E+07 |
|||
+ RBPDNF=700.007E+07 |
|||
+ RBPBX0=800.008E+07 |
|||
+ RBPBXL=900.009E+07 |
|||
+) |
|||
|
|||
.model _31_PMOS_BSIM4 pmos (level=14 |
|||
+ RBPS0=000.000E+07 |
|||
+ RBPSL=100.001E+07 |
|||
+ RBPSW=200.002E+07 |
|||
+ RBPSNF=300.003E+07 |
|||
+ RBPD0=400.004E+07 |
|||
+ RBPDL=500.005E+07 |
|||
+ RBPDW=600.006E+07 |
|||
+ RBPDNF=700.007E+07 |
|||
+ RBPBX0=800.008E+07 |
|||
+ RBPBXL=900.009E+07 |
|||
+) |
|||
|
|||
.model _32_NMOS_B3SOIFD nmos (level=55 |
|||
+ TOX=000.000E+07 |
|||
+ CDSC=100.001E+07 |
|||
+ CDSCB=200.002E+07 |
|||
+ CDSCD=300.003E+07 |
|||
+ CIT=400.004E+07 |
|||
+ NFACTOR=500.005E+07 |
|||
+ VSAT=600.006E+07 |
|||
+ AT=700.007E+07 |
|||
+ A0=800.008E+07 |
|||
+ AGS=900.009E+07 |
|||
+) |
|||
|
|||
.model _33_PMOS_B3SOIFD pmos (level=55 |
|||
+ TOX=000.000E+07 |
|||
+ CDSC=100.001E+07 |
|||
+ CDSCB=200.002E+07 |
|||
+ CDSCD=300.003E+07 |
|||
+ CIT=400.004E+07 |
|||
+ NFACTOR=500.005E+07 |
|||
+ VSAT=600.006E+07 |
|||
+ AT=700.007E+07 |
|||
+ A0=800.008E+07 |
|||
+ AGS=900.009E+07 |
|||
+) |
|||
|
|||
.model _34_NMOS_B3SOIDD nmos (level=56 |
|||
+ TOX=000.000E+07 |
|||
+ CDSC=100.001E+07 |
|||
+ CDSCB=200.002E+07 |
|||
+ CDSCD=300.003E+07 |
|||
+ CIT=400.004E+07 |
|||
+ NFACTOR=500.005E+07 |
|||
+ VSAT=600.006E+07 |
|||
+ AT=700.007E+07 |
|||
+ A0=800.008E+07 |
|||
+ AGS=900.009E+07 |
|||
+) |
|||
|
|||
.model _35_PMOS_B3SOIDD pmos (level=56 |
|||
+ TOX=000.000E+07 |
|||
+ CDSC=100.001E+07 |
|||
+ CDSCB=200.002E+07 |
|||
+ CDSCD=300.003E+07 |
|||
+ CIT=400.004E+07 |
|||
+ NFACTOR=500.005E+07 |
|||
+ VSAT=600.006E+07 |
|||
+ AT=700.007E+07 |
|||
+ A0=800.008E+07 |
|||
+ AGS=900.009E+07 |
|||
+) |
|||
|
|||
.model _36_NMOS_B3SOIPD nmos (level=57 |
|||
+ TOX=000.000E+07 |
|||
+ CDSC=100.001E+07 |
|||
+ CDSCB=200.002E+07 |
|||
+ CDSCD=300.003E+07 |
|||
+ CIT=400.004E+07 |
|||
+ NFACTOR=500.005E+07 |
|||
+ VSAT=600.006E+07 |
|||
+ AT=700.007E+07 |
|||
+ A0=800.008E+07 |
|||
+ AGS=900.009E+07 |
|||
+) |
|||
|
|||
.model _37_PMOS_B3SOIPD pmos (level=57 |
|||
+ TOX=000.000E+07 |
|||
+ CDSC=100.001E+07 |
|||
+ CDSCB=200.002E+07 |
|||
+ CDSCD=300.003E+07 |
|||
+ CIT=400.004E+07 |
|||
+ NFACTOR=500.005E+07 |
|||
+ VSAT=600.006E+07 |
|||
+ AT=700.007E+07 |
|||
+ A0=800.008E+07 |
|||
+ AGS=900.009E+07 |
|||
+) |
|||
|
|||
.model _38_NMOS_HISIM2 nmos (level=68 |
|||
+ DEPMUE0=000.000E+07 |
|||
+ DEPMUE0L=100.001E+07 |
|||
+ DEPMUE0LP=200.002E+07 |
|||
+ DEPMUE1=300.003E+07 |
|||
+ DEPMUE1L=400.004E+07 |
|||
+ DEPMUE1LP=500.005E+07 |
|||
+ DEPMUEBACK0=600.006E+07 |
|||
+ DEPMUEBACK0L=700.007E+07 |
|||
+ DEPMUEBACK0LP=800.008E+07 |
|||
+ DEPMUEBACK1=900.009E+07 |
|||
+) |
|||
|
|||
.model _39_PMOS_HISIM2 pmos (level=68 |
|||
+ DEPMUE0=000.000E+07 |
|||
+ DEPMUE0L=100.001E+07 |
|||
+ DEPMUE0LP=200.002E+07 |
|||
+ DEPMUE1=300.003E+07 |
|||
+ DEPMUE1L=400.004E+07 |
|||
+ DEPMUE1LP=500.005E+07 |
|||
+ DEPMUEBACK0=600.006E+07 |
|||
+ DEPMUEBACK0L=700.007E+07 |
|||
+ DEPMUEBACK0LP=800.008E+07 |
|||
+ DEPMUEBACK1=900.009E+07 |
|||
+) |
|||
|
|||
.model _40_NMOS_HISIMHV1 nmos (level=73 version=1.2.4 |
|||
+ PRD=000.000E+07 |
|||
+ PRD22=100.001E+07 |
|||
+ PRD23=200.002E+07 |
|||
+ PRD24=300.003E+07 |
|||
+ PRDICT1=400.004E+07 |
|||
+ PRDOV13=500.005E+07 |
|||
+ PRDSLP1=600.006E+07 |
|||
+ PRDVB=700.007E+07 |
|||
+ PRDVD=800.008E+07 |
|||
+ PRDVG11=900.009E+07 |
|||
+) |
|||
|
|||
.model _41_PMOS_HISIMHV1 pmos (level=73 version=1.2.4 |
|||
+ PRD=000.000E+07 |
|||
+ PRD22=100.001E+07 |
|||
+ PRD23=200.002E+07 |
|||
+ PRD24=300.003E+07 |
|||
+ PRDICT1=400.004E+07 |
|||
+ PRDOV13=500.005E+07 |
|||
+ PRDSLP1=600.006E+07 |
|||
+ PRDVB=700.007E+07 |
|||
+ PRDVD=800.008E+07 |
|||
+ PRDVG11=900.009E+07 |
|||
+) |
|||
|
|||
.model _42_NMOS_HISIMHV2 nmos (level=73 version=2.2.0 |
|||
+ PJS0D=000.000E+07 |
|||
+ PJS0SWD=100.001E+07 |
|||
+ PNJD=200.002E+07 |
|||
+ PCISBKD=300.003E+07 |
|||
+ PVDIFFJD=400.004E+07 |
|||
+ PJS0S=500.005E+07 |
|||
+ PJS0SWS=600.006E+07;;; |
|||
+ PRS=700.007E+07 |
|||
+ PRTH0=800.008E+07 |
|||
+ PVOVER=900.009E+07 |
|||
+) |
|||
|
|||
.model _43_PMOS_HISIMHV2 pmos (level=73 version=2.2.0 |
|||
+ PJS0D=000.000E+07 |
|||
+ PJS0SWD=100.001E+07 |
|||
+ PNJD=200.002E+07 |
|||
+ PCISBKD=300.003E+07 |
|||
+ PVDIFFJD=400.004E+07 |
|||
+ PJS0S=500.005E+07 |
|||
+ PJS0SWS=600.006E+07;;; |
|||
+ PRS=700.007E+07 |
|||
+ PRTH0=800.008E+07 |
|||
+ PVOVER=900.009E+07 |
|||
+) |
|||
@ -0,0 +1,20 @@ |
|||
.title KiCad schematic |
|||
.include "passives.lib" |
|||
.model __R2 r( |
|||
+ r=10Meg tnom=20 tc1=100u ) |
|||
.model __C2 c( |
|||
+ c=100u tnom=15 tc1=21.4u ) |
|||
.model __L2 l( |
|||
+ l=220n tnom=20 tc1=125u ) |
|||
.save all |
|||
.probe alli |
|||
.dc TEMP -40 125 1 |
|||
|
|||
R2 VCC GND __R2 |
|||
C2 VCC GND __C2 |
|||
R1 VCC GND VISHAY_CRCW060310M0FKTABC |
|||
L1 VCC GND AVX_0603WL221GT |
|||
C1 VCC GND AVX_12066D107MAT4A |
|||
VDC1 VCC GND ( 1 ) |
|||
L2 VCC GND __L2 |
|||
.end |
|||
@ -0,0 +1,82 @@ |
|||
(kicad_symbol_lib (version 20220331) (generator kicad_symbol_editor) |
|||
(symbol "TLINE" (in_bom no) (on_board no) |
|||
(property "Reference" "T" (id 0) (at 0 -2.54 0) |
|||
(effects (font (size 1.27 1.27))) |
|||
) |
|||
(property "Value" "TLINE" (id 1) (at 0 2.54 0) |
|||
(effects (font (size 1.27 1.27))) |
|||
) |
|||
(property "Footprint" "" (id 2) (at 0 0 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Datasheet" "http://ngspice.sourceforge.net/docs/ngspice-36-manual.pdf#7f" (id 3) (at 0 5.08 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "ki_keywords" "lossless transmission line characteristic impedance" (id 4) (at 0 0 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "ki_description" "Lossless transmission line, for simulation only" (id 5) (at 0 0 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(symbol "TLINE_0_1" |
|||
(circle (center -3.81 0) (radius 1.27) |
|||
(stroke (width 0) (type default)) |
|||
(fill (type none)) |
|||
) |
|||
(polyline |
|||
(pts |
|||
(xy -5.08 -1.27) |
|||
(xy 3.81 -1.27) |
|||
) |
|||
(stroke (width 0) (type default)) |
|||
(fill (type none)) |
|||
) |
|||
(polyline |
|||
(pts |
|||
(xy -3.81 0) |
|||
(xy -5.08 0) |
|||
) |
|||
(stroke (width 0) (type default)) |
|||
(fill (type none)) |
|||
) |
|||
(polyline |
|||
(pts |
|||
(xy -3.81 1.27) |
|||
(xy 3.81 1.27) |
|||
) |
|||
(stroke (width 0) (type default)) |
|||
(fill (type none)) |
|||
) |
|||
(polyline |
|||
(pts |
|||
(xy 5.08 -1.27) |
|||
(xy 3.81 -1.27) |
|||
) |
|||
(stroke (width 0) (type default)) |
|||
(fill (type none)) |
|||
) |
|||
(arc (start 3.8776 -1.27) (mid 5.0818 0) (end 3.8776 1.27) |
|||
(stroke (width 0) (type default)) |
|||
(fill (type none)) |
|||
) |
|||
) |
|||
(symbol "TLINE_1_1" |
|||
(pin passive line (at -7.62 0 0) (length 2.54) |
|||
(name "" (effects (font (size 1.27 1.27)))) |
|||
(number "1" (effects (font (size 1.27 1.27)))) |
|||
) |
|||
(pin passive line (at -5.08 -2.54 90) (length 1.27) |
|||
(name "" (effects (font (size 1.27 1.27)))) |
|||
(number "2" (effects (font (size 1.27 1.27)))) |
|||
) |
|||
(pin passive line (at 7.62 0 180) (length 2.54) |
|||
(name "" (effects (font (size 1.27 1.27)))) |
|||
(number "3" (effects (font (size 1.27 1.27)))) |
|||
) |
|||
(pin passive line (at 5.08 -2.54 90) (length 1.27) |
|||
(name "" (effects (font (size 1.27 1.27)))) |
|||
(number "4" (effects (font (size 1.27 1.27)))) |
|||
) |
|||
) |
|||
) |
|||
) |
|||
@ -0,0 +1,3 @@ |
|||
(sym_lib_table |
|||
(lib (name "Transmission_Line")(type "KiCad")(uri "${KIPRJMOD}/Transmission_Line.kicad_sym")(options "")(descr "")) |
|||
) |
|||
@ -0,0 +1,14 @@ |
|||
.title KiCad schematic |
|||
.model __OT2 ltra( |
|||
+ len=1 r=0 l=1.25m g=0 c=500n ) |
|||
.save all |
|||
.probe alli |
|||
.tran 1u 1m |
|||
|
|||
R1 /z0_out GND 50 |
|||
VPULSE2 /rlgc_in GND PULSE( 0 1 0 1u 1u 50u 100u ) |
|||
OT2 /rlgc_in GND /rlgc_out GND __OT2 |
|||
R2 /rlgc_out GND 50 |
|||
T1 /z0_in GND /z0_out GND z0=50 td=25u |
|||
VPULSE1 /z0_in GND PULSE( 0 1 0 1u 1u 50u 100u ) |
|||
.end |
|||
@ -0,0 +1,2 @@ |
|||
(kicad_pcb (version 20220308) (generator pcbnew) |
|||
) |
|||
@ -0,0 +1,331 @@ |
|||
{ |
|||
"board": { |
|||
"design_settings": { |
|||
"defaults": { |
|||
"board_outline_line_width": 0.1, |
|||
"copper_line_width": 0.2, |
|||
"copper_text_size_h": 1.5, |
|||
"copper_text_size_v": 1.5, |
|||
"copper_text_thickness": 0.3, |
|||
"other_line_width": 0.15, |
|||
"silk_line_width": 0.15, |
|||
"silk_text_size_h": 1.0, |
|||
"silk_text_size_v": 1.0, |
|||
"silk_text_thickness": 0.15 |
|||
}, |
|||
"diff_pair_dimensions": [], |
|||
"drc_exclusions": [], |
|||
"rules": { |
|||
"min_copper_edge_clearance": 0.0, |
|||
"solder_mask_clearance": 0.0, |
|||
"solder_mask_min_width": 0.0 |
|||
}, |
|||
"track_widths": [], |
|||
"via_dimensions": [] |
|||
}, |
|||
"layer_presets": [], |
|||
"viewports": [] |
|||
}, |
|||
"boards": [], |
|||
"cvpcb": { |
|||
"equivalence_files": [] |
|||
}, |
|||
"erc": { |
|||
"erc_exclusions": [], |
|||
"meta": { |
|||
"version": 0 |
|||
}, |
|||
"pin_map": [ |
|||
[ |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
2, |
|||
0, |
|||
1, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
2, |
|||
2, |
|||
2, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
1, |
|||
0, |
|||
1, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
1, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
1, |
|||
1, |
|||
2, |
|||
1, |
|||
1, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
2 |
|||
], |
|||
[ |
|||
1, |
|||
1, |
|||
1, |
|||
1, |
|||
1, |
|||
0, |
|||
1, |
|||
1, |
|||
1, |
|||
1, |
|||
1, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
2, |
|||
1, |
|||
2, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
2, |
|||
2, |
|||
2, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
2, |
|||
0, |
|||
1, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
2, |
|||
0, |
|||
0, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
2, |
|||
1, |
|||
1, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
2, |
|||
0, |
|||
0, |
|||
2 |
|||
], |
|||
[ |
|||
2, |
|||
2, |
|||
2, |
|||
2, |
|||
2, |
|||
2, |
|||
2, |
|||
2, |
|||
2, |
|||
2, |
|||
2, |
|||
2 |
|||
] |
|||
], |
|||
"rule_severities": { |
|||
"bus_definition_conflict": "error", |
|||
"bus_entry_needed": "error", |
|||
"bus_label_syntax": "error", |
|||
"bus_to_bus_conflict": "error", |
|||
"bus_to_net_conflict": "error", |
|||
"different_unit_footprint": "error", |
|||
"different_unit_net": "error", |
|||
"duplicate_reference": "error", |
|||
"duplicate_sheet_names": "error", |
|||
"extra_units": "error", |
|||
"global_label_dangling": "warning", |
|||
"hier_label_mismatch": "error", |
|||
"label_dangling": "error", |
|||
"lib_symbol_issues": "warning", |
|||
"multiple_net_names": "warning", |
|||
"net_not_bus_member": "warning", |
|||
"no_connect_connected": "warning", |
|||
"no_connect_dangling": "warning", |
|||
"pin_not_connected": "error", |
|||
"pin_not_driven": "error", |
|||
"pin_to_pin": "warning", |
|||
"power_pin_not_driven": "error", |
|||
"similar_labels": "warning", |
|||
"unannotated": "error", |
|||
"unit_value_mismatch": "error", |
|||
"unresolved_variable": "error", |
|||
"wire_dangling": "error" |
|||
} |
|||
}, |
|||
"libraries": { |
|||
"pinned_footprint_libs": [], |
|||
"pinned_symbol_libs": [] |
|||
}, |
|||
"meta": { |
|||
"filename": "tlines.kicad_pro", |
|||
"version": 1 |
|||
}, |
|||
"net_settings": { |
|||
"classes": [ |
|||
{ |
|||
"bus_width": 12.0, |
|||
"clearance": 0.2, |
|||
"diff_pair_gap": 0.25, |
|||
"diff_pair_via_gap": 0.25, |
|||
"diff_pair_width": 0.2, |
|||
"line_style": 0, |
|||
"microvia_diameter": 0.3, |
|||
"microvia_drill": 0.1, |
|||
"name": "Default", |
|||
"pcb_color": "rgba(0, 0, 0, 0.000)", |
|||
"schematic_color": "rgba(0, 0, 0, 0.000)", |
|||
"track_width": 0.25, |
|||
"via_diameter": 0.8, |
|||
"via_drill": 0.4, |
|||
"wire_width": 6.0 |
|||
} |
|||
], |
|||
"meta": { |
|||
"version": 2 |
|||
}, |
|||
"net_colors": null |
|||
}, |
|||
"pcbnew": { |
|||
"last_paths": { |
|||
"gencad": "", |
|||
"idf": "", |
|||
"netlist": "", |
|||
"specctra_dsn": "", |
|||
"step": "", |
|||
"vrml": "" |
|||
}, |
|||
"page_layout_descr_file": "" |
|||
}, |
|||
"schematic": { |
|||
"annotate_start_num": 0, |
|||
"drawing": { |
|||
"dashed_lines_dash_length_ratio": 12.0, |
|||
"dashed_lines_gap_length_ratio": 3.0, |
|||
"default_line_thickness": 6.0, |
|||
"default_text_size": 50.0, |
|||
"field_names": [], |
|||
"intersheets_ref_own_page": false, |
|||
"intersheets_ref_prefix": "", |
|||
"intersheets_ref_short": false, |
|||
"intersheets_ref_show": false, |
|||
"intersheets_ref_suffix": "", |
|||
"junction_size_choice": 3, |
|||
"label_size_ratio": 0.375, |
|||
"pin_symbol_size": 25.0, |
|||
"text_offset_ratio": 0.15 |
|||
}, |
|||
"legacy_lib_dir": "", |
|||
"legacy_lib_list": [], |
|||
"meta": { |
|||
"version": 1 |
|||
}, |
|||
"net_format_name": "Spice", |
|||
"ngspice": { |
|||
"fix_include_paths": true, |
|||
"fix_passive_vals": false, |
|||
"meta": { |
|||
"version": 0 |
|||
}, |
|||
"model_mode": 0, |
|||
"workbook_filename": "" |
|||
}, |
|||
"page_layout_descr_file": "", |
|||
"plot_directory": "", |
|||
"spice_adjust_passive_values": false, |
|||
"spice_external_command": "spice \"%I\"", |
|||
"spice_save_all_currents": true, |
|||
"spice_save_all_voltages": true, |
|||
"subpart_first_id": 65, |
|||
"subpart_id_separator": 0 |
|||
}, |
|||
"sheets": [ |
|||
[ |
|||
"f74aa792-5ddc-4342-b3b1-f3d782106d77", |
|||
"" |
|||
] |
|||
], |
|||
"text_variables": {} |
|||
} |
|||
@ -0,0 +1,623 @@ |
|||
(kicad_sch (version 20220331) (generator eeschema) |
|||
|
|||
(uuid f74aa792-5ddc-4342-b3b1-f3d782106d77) |
|||
|
|||
(paper "A4") |
|||
|
|||
(lib_symbols |
|||
(symbol "Device:R" (pin_numbers hide) (pin_names (offset 0)) (in_bom yes) (on_board yes) |
|||
(property "Reference" "R" (id 0) (at 2.032 0 90) |
|||
(effects (font (size 1.27 1.27))) |
|||
) |
|||
(property "Value" "R" (id 1) (at 0 0 90) |
|||
(effects (font (size 1.27 1.27))) |
|||
) |
|||
(property "Footprint" "" (id 2) (at -1.778 0 90) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Datasheet" "~" (id 3) (at 0 0 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "ki_keywords" "R res resistor" (id 4) (at 0 0 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "ki_description" "Resistor" (id 5) (at 0 0 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "ki_fp_filters" "R_*" (id 6) (at 0 0 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(symbol "R_0_1" |
|||
(rectangle (start -1.016 -2.54) (end 1.016 2.54) |
|||
(stroke (width 0.254) (type default)) |
|||
(fill (type none)) |
|||
) |
|||
) |
|||
(symbol "R_1_1" |
|||
(pin passive line (at 0 3.81 270) (length 1.27) |
|||
(name "~" (effects (font (size 1.27 1.27)))) |
|||
(number "1" (effects (font (size 1.27 1.27)))) |
|||
) |
|||
(pin passive line (at 0 -3.81 90) (length 1.27) |
|||
(name "~" (effects (font (size 1.27 1.27)))) |
|||
(number "2" (effects (font (size 1.27 1.27)))) |
|||
) |
|||
) |
|||
) |
|||
(symbol "Simulation_SPICE:VPULSE" (pin_numbers hide) (pin_names (offset 0.0254)) (in_bom yes) (on_board yes) |
|||
(property "Reference" "V" (id 0) (at 2.54 2.54 0) |
|||
(effects (font (size 1.27 1.27)) (justify left)) |
|||
) |
|||
(property "Value" "VPULSE" (id 1) (at 2.54 0 0) |
|||
(effects (font (size 1.27 1.27)) (justify left)) |
|||
) |
|||
(property "Footprint" "" (id 2) (at 0 0 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Datasheet" "~" (id 3) (at 0 0 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Spice_Netlist_Enabled" "Y" (id 4) (at 0 0 0) |
|||
(effects (font (size 1.27 1.27)) (justify left) hide) |
|||
) |
|||
(property "Spice_Primitive" "V" (id 5) (at 0 0 0) |
|||
(effects (font (size 1.27 1.27)) (justify left) hide) |
|||
) |
|||
(property "Spice_Model" "pulse(0 1 2n 2n 2n 50n 100n)" (id 6) (at 2.54 -2.54 0) |
|||
(effects (font (size 1.27 1.27)) (justify left)) |
|||
) |
|||
(property "ki_keywords" "simulation" (id 7) (at 0 0 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "ki_description" "Voltage source, pulse" (id 8) (at 0 0 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(symbol "VPULSE_0_0" |
|||
(polyline |
|||
(pts |
|||
(xy -2.032 -0.762) |
|||
(xy -1.397 -0.762) |
|||
(xy -1.143 0.762) |
|||
(xy -0.127 0.762) |
|||
(xy 0.127 -0.762) |
|||
(xy 1.143 -0.762) |
|||
(xy 1.397 0.762) |
|||
(xy 2.032 0.762) |
|||
) |
|||
(stroke (width 0) (type default)) |
|||
(fill (type none)) |
|||
) |
|||
(text "+" (at 0 1.905 0) |
|||
(effects (font (size 1.27 1.27))) |
|||
) |
|||
) |
|||
(symbol "VPULSE_0_1" |
|||
(circle (center 0 0) (radius 2.54) |
|||
(stroke (width 0.254) (type default)) |
|||
(fill (type background)) |
|||
) |
|||
) |
|||
(symbol "VPULSE_1_1" |
|||
(pin passive line (at 0 5.08 270) (length 2.54) |
|||
(name "~" (effects (font (size 1.27 1.27)))) |
|||
(number "1" (effects (font (size 1.27 1.27)))) |
|||
) |
|||
(pin passive line (at 0 -5.08 90) (length 2.54) |
|||
(name "~" (effects (font (size 1.27 1.27)))) |
|||
(number "2" (effects (font (size 1.27 1.27)))) |
|||
) |
|||
) |
|||
) |
|||
(symbol "Transmission_Line:TLINE" (in_bom no) (on_board no) |
|||
(property "Reference" "T" (id 0) (at 0 -2.54 0) |
|||
(effects (font (size 1.27 1.27))) |
|||
) |
|||
(property "Value" "TLINE" (id 1) (at 0 2.54 0) |
|||
(effects (font (size 1.27 1.27))) |
|||
) |
|||
(property "Footprint" "" (id 2) (at 0 0 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Datasheet" "http://ngspice.sourceforge.net/docs/ngspice-36-manual.pdf#7f" (id 3) (at 0 5.08 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "ki_keywords" "lossless transmission line characteristic impedance" (id 4) (at 0 0 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "ki_description" "Lossless transmission line, for simulation only" (id 5) (at 0 0 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(symbol "TLINE_0_1" |
|||
(circle (center -3.81 0) (radius 1.27) |
|||
(stroke (width 0) (type default)) |
|||
(fill (type none)) |
|||
) |
|||
(polyline |
|||
(pts |
|||
(xy -5.08 -1.27) |
|||
(xy 3.81 -1.27) |
|||
) |
|||
(stroke (width 0) (type default)) |
|||
(fill (type none)) |
|||
) |
|||
(polyline |
|||
(pts |
|||
(xy -3.81 0) |
|||
(xy -5.08 0) |
|||
) |
|||
(stroke (width 0) (type default)) |
|||
(fill (type none)) |
|||
) |
|||
(polyline |
|||
(pts |
|||
(xy -3.81 1.27) |
|||
(xy 3.81 1.27) |
|||
) |
|||
(stroke (width 0) (type default)) |
|||
(fill (type none)) |
|||
) |
|||
(polyline |
|||
(pts |
|||
(xy 5.08 -1.27) |
|||
(xy 3.81 -1.27) |
|||
) |
|||
(stroke (width 0) (type default)) |
|||
(fill (type none)) |
|||
) |
|||
(arc (start 3.8776 -1.27) (mid 5.0818 0) (end 3.8776 1.27) |
|||
(stroke (width 0) (type default)) |
|||
(fill (type none)) |
|||
) |
|||
) |
|||
(symbol "TLINE_1_1" |
|||
(pin passive line (at -7.62 0 0) (length 2.54) |
|||
(name "" (effects (font (size 1.27 1.27)))) |
|||
(number "1" (effects (font (size 1.27 1.27)))) |
|||
) |
|||
(pin passive line (at -5.08 -2.54 90) (length 1.27) |
|||
(name "" (effects (font (size 1.27 1.27)))) |
|||
(number "2" (effects (font (size 1.27 1.27)))) |
|||
) |
|||
(pin passive line (at 7.62 0 180) (length 2.54) |
|||
(name "" (effects (font (size 1.27 1.27)))) |
|||
(number "3" (effects (font (size 1.27 1.27)))) |
|||
) |
|||
(pin passive line (at 5.08 -2.54 90) (length 1.27) |
|||
(name "" (effects (font (size 1.27 1.27)))) |
|||
(number "4" (effects (font (size 1.27 1.27)))) |
|||
) |
|||
) |
|||
) |
|||
(symbol "power:GND" (power) (pin_names (offset 0)) (in_bom yes) (on_board yes) |
|||
(property "Reference" "#PWR" (id 0) (at 0 -6.35 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Value" "GND" (id 1) (at 0 -3.81 0) |
|||
(effects (font (size 1.27 1.27))) |
|||
) |
|||
(property "Footprint" "" (id 2) (at 0 0 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Datasheet" "" (id 3) (at 0 0 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "ki_keywords" "power-flag" (id 4) (at 0 0 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "ki_description" "Power symbol creates a global label with name \"GND\" , ground" (id 5) (at 0 0 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(symbol "GND_0_1" |
|||
(polyline |
|||
(pts |
|||
(xy 0 0) |
|||
(xy 0 -1.27) |
|||
(xy 1.27 -1.27) |
|||
(xy 0 -2.54) |
|||
(xy -1.27 -1.27) |
|||
(xy 0 -1.27) |
|||
) |
|||
(stroke (width 0) (type default)) |
|||
(fill (type none)) |
|||
) |
|||
) |
|||
(symbol "GND_1_1" |
|||
(pin power_in line (at 0 0 270) (length 0) hide |
|||
(name "GND" (effects (font (size 1.27 1.27)))) |
|||
(number "1" (effects (font (size 1.27 1.27)))) |
|||
) |
|||
) |
|||
) |
|||
) |
|||
|
|||
|
|||
(wire (pts (xy 165.1 83.82) (xy 165.1 86.36)) |
|||
(stroke (width 0) (type default)) |
|||
(uuid 2ba860d8-4c67-4b9e-85f2-068d29a33da8) |
|||
) |
|||
(wire (pts (xy 153.67 114.3) (xy 165.1 114.3)) |
|||
(stroke (width 0) (type default)) |
|||
(uuid 3668df94-f0a6-4370-aa0d-9f77618594f1) |
|||
) |
|||
(wire (pts (xy 127 76.2) (xy 138.43 76.2)) |
|||
(stroke (width 0) (type default)) |
|||
(uuid b00425c7-fc25-4d52-86ca-c25504c4afd0) |
|||
) |
|||
(wire (pts (xy 153.67 76.2) (xy 165.1 76.2)) |
|||
(stroke (width 0) (type default)) |
|||
(uuid b49a2030-2a38-4ee5-93a8-9e5f491987d4) |
|||
) |
|||
(wire (pts (xy 127 114.3) (xy 138.43 114.3)) |
|||
(stroke (width 0) (type default)) |
|||
(uuid c54361d7-984a-4956-9835-91d4c78f3499) |
|||
) |
|||
(wire (pts (xy 165.1 121.92) (xy 165.1 124.46)) |
|||
(stroke (width 0) (type default)) |
|||
(uuid f6b1e3a3-6d27-412f-badc-8a952a963985) |
|||
) |
|||
|
|||
(text "RLGC model" (at 140.97 106.68 0) |
|||
(effects (font (size 1.27 1.27)) (justify left bottom)) |
|||
(uuid 038e46ca-eb20-484c-98ed-ea8d53265c3a) |
|||
) |
|||
(text "Z0 model" (at 140.97 68.58 0) |
|||
(effects (font (size 1.27 1.27)) (justify left bottom)) |
|||
(uuid 22e3550a-57e1-4d36-aa59-7cd278354265) |
|||
) |
|||
(text ".tran 1u 1m" (at 128.27 142.24 0) |
|||
(effects (font (size 1.27 1.27)) (justify left bottom)) |
|||
(uuid aed2dcac-ccbe-4203-b5c4-eb7aa00d9f70) |
|||
) |
|||
|
|||
(label "rlgc_in" (at 127 114.3 0) (fields_autoplaced) |
|||
(effects (font (size 1.27 1.27)) (justify left bottom)) |
|||
(uuid 0821414f-2b2d-471a-aa30-b748365de6cf) |
|||
) |
|||
(label "z0_out" (at 165.1 76.2 0) (fields_autoplaced) |
|||
(effects (font (size 1.27 1.27)) (justify left bottom)) |
|||
(uuid 3624eef7-cd56-469b-9bc9-d0fd3a4804f4) |
|||
) |
|||
(label "rlgc_out" (at 165.1 114.3 0) (fields_autoplaced) |
|||
(effects (font (size 1.27 1.27)) (justify left bottom)) |
|||
(uuid 59ba7133-1446-4b84-958d-a03a68c90d05) |
|||
) |
|||
(label "z0_in" (at 127 76.2 0) (fields_autoplaced) |
|||
(effects (font (size 1.27 1.27)) (justify left bottom)) |
|||
(uuid c50f3d74-34e4-4791-9f17-976408b8033d) |
|||
) |
|||
|
|||
(symbol (lib_id "power:GND") (at 127 86.36 0) (unit 1) |
|||
(in_bom yes) (on_board yes) (fields_autoplaced) |
|||
(uuid 0bb52765-586c-4bf2-a0f2-cc8769dedeec) |
|||
(property "Reference" "#PWR0106" (id 0) (at 127 92.71 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Value" "GND" (id 1) (at 127 91.44 0) |
|||
(effects (font (size 1.27 1.27))) |
|||
) |
|||
(property "Footprint" "" (id 2) (at 127 86.36 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Datasheet" "" (id 3) (at 127 86.36 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(pin "1" (uuid 646ae8f9-e672-4035-ba98-115c4670c2c0)) |
|||
) |
|||
|
|||
(symbol (lib_id "power:GND") (at 151.13 116.84 0) (unit 1) |
|||
(in_bom yes) (on_board yes) (fields_autoplaced) |
|||
(uuid 232c811f-1246-4b76-86b4-d8721684bd11) |
|||
(property "Reference" "#PWR0104" (id 0) (at 151.13 123.19 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Value" "GND" (id 1) (at 151.13 121.92 0) |
|||
(effects (font (size 1.27 1.27))) |
|||
) |
|||
(property "Footprint" "" (id 2) (at 151.13 116.84 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Datasheet" "" (id 3) (at 151.13 116.84 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(pin "1" (uuid afd18e4f-ec3d-4b0c-9c3a-f269db3363d6)) |
|||
) |
|||
|
|||
(symbol (lib_id "Transmission_Line:TLINE") (at 146.05 114.3 0) (unit 1) |
|||
(in_bom no) (on_board no) (fields_autoplaced) |
|||
(uuid 34b3fec2-c790-40cf-bb63-dd642fff2299) |
|||
(property "Reference" "T2" (id 0) (at 146.0509 109.22 0) |
|||
(effects (font (size 1.27 1.27))) |
|||
) |
|||
(property "Value" "TLINE" (id 1) (at 146.0509 111.76 0) |
|||
(effects (font (size 1.27 1.27))) |
|||
) |
|||
(property "Footprint" "" (id 2) (at 146.05 114.3 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Datasheet" "http://ngspice.sourceforge.net/docs/ngspice-36-manual.pdf#7f" (id 3) (at 146.05 109.22 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Model_Device" "TLINE" (id 4) (at 146.05 114.3 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Model_Type" "RLGC" (id 5) (at 146.05 114.3 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Model_Pins" "1 2 3 4" (id 6) (at 146.05 114.3 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Model_Params" "len=1 r=0 l=1.25m g=0 c=500n" (id 7) (at 146.05 114.3 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(pin "1" (uuid 3ba94ccd-338c-44da-afd8-322313c0ff13)) |
|||
(pin "2" (uuid ed81258e-3e5d-4a2d-8e04-b3182f9c51c0)) |
|||
(pin "3" (uuid 443d9994-dd5c-4f22-b64a-7cbede1ad619)) |
|||
(pin "4" (uuid 5b960bbf-5dc9-492f-b460-847fb0c65707)) |
|||
) |
|||
|
|||
(symbol (lib_id "Simulation_SPICE:VPULSE") (at 127 81.28 0) (unit 1) |
|||
(in_bom yes) (on_board yes) |
|||
(uuid 56fc236a-df5f-49ef-9b92-3227f86197b4) |
|||
(property "Reference" "VPULSE1" (id 0) (at 87.63 80.01 0) |
|||
(effects (font (size 1.27 1.27)) (justify left)) |
|||
) |
|||
(property "Value" "v2=1 tr=1u tf=1u pw=50u per=100u" (id 1) (at 87.63 82.55 0) |
|||
(effects (font (size 1.27 1.27)) (justify left)) |
|||
) |
|||
(property "Footprint" "" (id 2) (at 127 81.28 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Datasheet" "~" (id 3) (at 127 81.28 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(pin "1" (uuid 5e20d69f-9003-4997-b6ac-fca384177c2c)) |
|||
(pin "2" (uuid 59e755b2-04d0-4799-bdf1-e10965451a30)) |
|||
) |
|||
|
|||
(symbol (lib_id "power:GND") (at 140.97 78.74 0) (unit 1) |
|||
(in_bom yes) (on_board yes) (fields_autoplaced) |
|||
(uuid 59dbe783-3723-4dcc-a641-a603ab67a5a4) |
|||
(property "Reference" "#PWR0107" (id 0) (at 140.97 85.09 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Value" "GND" (id 1) (at 140.97 83.82 0) |
|||
(effects (font (size 1.27 1.27))) |
|||
) |
|||
(property "Footprint" "" (id 2) (at 140.97 78.74 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Datasheet" "" (id 3) (at 140.97 78.74 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(pin "1" (uuid 872f8eab-890e-44cc-a827-4116fa2b9a93)) |
|||
) |
|||
|
|||
(symbol (lib_id "power:GND") (at 165.1 86.36 0) (unit 1) |
|||
(in_bom yes) (on_board yes) (fields_autoplaced) |
|||
(uuid 5b460e62-196b-4585-8ed3-c8e3325f6a48) |
|||
(property "Reference" "#PWR0101" (id 0) (at 165.1 92.71 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Value" "GND" (id 1) (at 165.1 91.44 0) |
|||
(effects (font (size 1.27 1.27))) |
|||
) |
|||
(property "Footprint" "" (id 2) (at 165.1 86.36 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Datasheet" "" (id 3) (at 165.1 86.36 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(pin "1" (uuid 084b1caf-06a0-4971-9750-c64366f414d2)) |
|||
) |
|||
|
|||
(symbol (lib_id "power:GND") (at 127 124.46 0) (unit 1) |
|||
(in_bom yes) (on_board yes) (fields_autoplaced) |
|||
(uuid 5f9f7595-cc0b-4628-ae7b-35d307a4eb99) |
|||
(property "Reference" "#PWR0102" (id 0) (at 127 130.81 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Value" "GND" (id 1) (at 127 129.54 0) |
|||
(effects (font (size 1.27 1.27))) |
|||
) |
|||
(property "Footprint" "" (id 2) (at 127 124.46 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Datasheet" "" (id 3) (at 127 124.46 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(pin "1" (uuid e537417c-dc56-4566-b159-06201f9d24eb)) |
|||
) |
|||
|
|||
(symbol (lib_id "Device:R") (at 165.1 80.01 0) (unit 1) |
|||
(in_bom yes) (on_board yes) (fields_autoplaced) |
|||
(uuid 9eecf3ec-d266-4199-973b-6e10e301b41b) |
|||
(property "Reference" "R1" (id 0) (at 167.64 79.375 0) |
|||
(effects (font (size 1.27 1.27)) (justify left)) |
|||
) |
|||
(property "Value" "50" (id 1) (at 167.64 81.915 0) |
|||
(effects (font (size 1.27 1.27)) (justify left)) |
|||
) |
|||
(property "Footprint" "" (id 2) (at 163.322 80.01 90) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Datasheet" "~" (id 3) (at 165.1 80.01 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(pin "1" (uuid 1ec2478e-c74c-4b1f-94f8-f36178bb057b)) |
|||
(pin "2" (uuid d9cd7012-5227-493d-a953-8c8f9e0cc488)) |
|||
) |
|||
|
|||
(symbol (lib_id "power:GND") (at 140.97 116.84 0) (unit 1) |
|||
(in_bom yes) (on_board yes) (fields_autoplaced) |
|||
(uuid b0fd7eaf-a224-48f5-80b6-b4c9a3988f57) |
|||
(property "Reference" "#PWR0103" (id 0) (at 140.97 123.19 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Value" "GND" (id 1) (at 140.97 121.92 0) |
|||
(effects (font (size 1.27 1.27))) |
|||
) |
|||
(property "Footprint" "" (id 2) (at 140.97 116.84 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Datasheet" "" (id 3) (at 140.97 116.84 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(pin "1" (uuid 432e54be-78c9-4ddf-8ec7-819cecbfe6c2)) |
|||
) |
|||
|
|||
(symbol (lib_id "Transmission_Line:TLINE") (at 146.05 76.2 0) (unit 1) |
|||
(in_bom no) (on_board no) (fields_autoplaced) |
|||
(uuid b320600b-eef1-4883-916c-38700f3f43d4) |
|||
(property "Reference" "T1" (id 0) (at 146.0509 71.12 0) |
|||
(effects (font (size 1.27 1.27))) |
|||
) |
|||
(property "Value" "TLINE" (id 1) (at 146.0509 73.66 0) |
|||
(effects (font (size 1.27 1.27))) |
|||
) |
|||
(property "Footprint" "" (id 2) (at 146.05 76.2 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Datasheet" "http://ngspice.sourceforge.net/docs/ngspice-36-manual.pdf#7f" (id 3) (at 146.05 71.12 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Model_Device" "TLINE" (id 4) (at 146.05 76.2 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Model_Type" "Z0" (id 5) (at 146.05 76.2 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Model_Pins" "1 2 3 4" (id 6) (at 146.05 76.2 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Model_Params" "z0=50 td=25u" (id 7) (at 146.05 76.2 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(pin "1" (uuid ea050e5c-1246-4281-a897-0695b0c28888)) |
|||
(pin "2" (uuid 6a849f27-b16c-48cb-80be-7504707e9e4a)) |
|||
(pin "3" (uuid a8652546-dd2b-4f4f-874e-abb58500b88a)) |
|||
(pin "4" (uuid c752f402-877d-4339-af44-9bdefe8327ef)) |
|||
) |
|||
|
|||
(symbol (lib_id "Device:R") (at 165.1 118.11 0) (unit 1) |
|||
(in_bom yes) (on_board yes) (fields_autoplaced) |
|||
(uuid c89e9e2f-1e5f-45ee-9942-af42fb5cfaf4) |
|||
(property "Reference" "R2" (id 0) (at 167.64 117.475 0) |
|||
(effects (font (size 1.27 1.27)) (justify left)) |
|||
) |
|||
(property "Value" "50" (id 1) (at 167.64 120.015 0) |
|||
(effects (font (size 1.27 1.27)) (justify left)) |
|||
) |
|||
(property "Footprint" "" (id 2) (at 163.322 118.11 90) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Datasheet" "~" (id 3) (at 165.1 118.11 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(pin "1" (uuid 720acbb9-4c0b-48b1-9b2a-ca5415db622e)) |
|||
(pin "2" (uuid aee2f2ef-458b-4835-9263-2a66796398fe)) |
|||
) |
|||
|
|||
(symbol (lib_id "power:GND") (at 151.13 78.74 0) (unit 1) |
|||
(in_bom yes) (on_board yes) (fields_autoplaced) |
|||
(uuid fc8afb4b-228e-4b15-8225-7bdabc7f37d5) |
|||
(property "Reference" "#PWR0108" (id 0) (at 151.13 85.09 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Value" "GND" (id 1) (at 151.13 83.82 0) |
|||
(effects (font (size 1.27 1.27))) |
|||
) |
|||
(property "Footprint" "" (id 2) (at 151.13 78.74 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Datasheet" "" (id 3) (at 151.13 78.74 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(pin "1" (uuid 3a04e902-893e-40a5-b4c0-3247e54eeb89)) |
|||
) |
|||
|
|||
(symbol (lib_id "Simulation_SPICE:VPULSE") (at 127 119.38 0) (unit 1) |
|||
(in_bom yes) (on_board yes) |
|||
(uuid fcc0dfa9-c624-4a32-a3d3-4c36ee7b0fe6) |
|||
(property "Reference" "VPULSE2" (id 0) (at 87.63 118.11 0) |
|||
(effects (font (size 1.27 1.27)) (justify left)) |
|||
) |
|||
(property "Value" "v2=1 tr=1u tf=1u pw=50u per=100u" (id 1) (at 87.63 120.65 0) |
|||
(effects (font (size 1.27 1.27)) (justify left)) |
|||
) |
|||
(property "Footprint" "" (id 2) (at 127 119.38 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Datasheet" "~" (id 3) (at 127 119.38 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(pin "1" (uuid 4697d16d-3f33-43d4-bdc9-9604ce8ac4d7)) |
|||
(pin "2" (uuid b718a7b9-338a-42ec-b700-e8a6ef481ecb)) |
|||
) |
|||
|
|||
(symbol (lib_id "power:GND") (at 165.1 124.46 0) (unit 1) |
|||
(in_bom yes) (on_board yes) (fields_autoplaced) |
|||
(uuid ff04fe94-7180-4f4a-b4d1-f6aca630b6d1) |
|||
(property "Reference" "#PWR0105" (id 0) (at 165.1 130.81 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Value" "GND" (id 1) (at 165.1 129.54 0) |
|||
(effects (font (size 1.27 1.27))) |
|||
) |
|||
(property "Footprint" "" (id 2) (at 165.1 124.46 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(property "Datasheet" "" (id 3) (at 165.1 124.46 0) |
|||
(effects (font (size 1.27 1.27)) hide) |
|||
) |
|||
(pin "1" (uuid 51e6012c-cc82-4ffa-9f4c-c6cdff662294)) |
|||
) |
|||
|
|||
(sheet_instances |
|||
(path "/" (page "1")) |
|||
) |
|||
|
|||
(symbol_instances |
|||
(path "/5b460e62-196b-4585-8ed3-c8e3325f6a48" |
|||
(reference "#PWR0101") (unit 1) (value "GND") (footprint "") |
|||
) |
|||
(path "/5f9f7595-cc0b-4628-ae7b-35d307a4eb99" |
|||
(reference "#PWR0102") (unit 1) (value "GND") (footprint "") |
|||
) |
|||
(path "/b0fd7eaf-a224-48f5-80b6-b4c9a3988f57" |
|||
(reference "#PWR0103") (unit 1) (value "GND") (footprint "") |
|||
) |
|||
(path "/232c811f-1246-4b76-86b4-d8721684bd11" |
|||
(reference "#PWR0104") (unit 1) (value "GND") (footprint "") |
|||
) |
|||
(path "/ff04fe94-7180-4f4a-b4d1-f6aca630b6d1" |
|||
(reference "#PWR0105") (unit 1) (value "GND") (footprint "") |
|||
) |
|||
(path "/0bb52765-586c-4bf2-a0f2-cc8769dedeec" |
|||
(reference "#PWR0106") (unit 1) (value "GND") (footprint "") |
|||
) |
|||
(path "/59dbe783-3723-4dcc-a641-a603ab67a5a4" |
|||
(reference "#PWR0107") (unit 1) (value "GND") (footprint "") |
|||
) |
|||
(path "/fc8afb4b-228e-4b15-8225-7bdabc7f37d5" |
|||
(reference "#PWR0108") (unit 1) (value "GND") (footprint "") |
|||
) |
|||
(path "/9eecf3ec-d266-4199-973b-6e10e301b41b" |
|||
(reference "R1") (unit 1) (value "50") (footprint "") |
|||
) |
|||
(path "/c89e9e2f-1e5f-45ee-9942-af42fb5cfaf4" |
|||
(reference "R2") (unit 1) (value "50") (footprint "") |
|||
) |
|||
(path "/b320600b-eef1-4883-916c-38700f3f43d4" |
|||
(reference "T1") (unit 1) (value "TLINE") (footprint "") |
|||
) |
|||
(path "/34b3fec2-c790-40cf-bb63-dd642fff2299" |
|||
(reference "T2") (unit 1) (value "TLINE") (footprint "") |
|||
) |
|||
(path "/56fc236a-df5f-49ef-9b92-3227f86197b4" |
|||
(reference "VPULSE1") (unit 1) (value "v2=1 tr=1u tf=1u pw=50u per=100u") (footprint "") |
|||
) |
|||
(path "/fcc0dfa9-c624-4a32-a3d3-4c36ee7b0fe6" |
|||
(reference "VPULSE2") (unit 1) (value "v2=1 tr=1u tf=1u pw=50u per=100u") (footprint "") |
|||
) |
|||
) |
|||
) |
|||
@ -0,0 +1,566 @@ |
|||
/*
|
|||
* This program source code file is part of KiCad, a free EDA CAD application. |
|||
* |
|||
* Copyright (C) 2022 KiCad Developers, see AUTHORS.TXT for contributors. |
|||
* |
|||
* This program is free software; you can redistribute it and/or |
|||
* modify it under the terms of the GNU General Public License |
|||
* as published by the Free Software Foundation; either version 2 |
|||
* of the License, or (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program; if not, you may find one here: |
|||
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
|
|||
* or you may search the http://www.gnu.org website for the version 2 license,
|
|||
* or you may write to the Free Software Foundation, Inc., |
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA |
|||
*/ |
|||
|
|||
#include <qa_utils/wx_utils/unit_test_utils.h>
|
|||
#include <eeschema_test_utils.h>
|
|||
#include <sim/sim_library_spice.h>
|
|||
|
|||
|
|||
class TEST_SIM_LIBRARY_SPICE_FIXTURE |
|||
{ |
|||
public: |
|||
wxString GetLibraryPath( const wxString& aBaseName ) |
|||
{ |
|||
wxFileName fn = KI_TEST::GetEeschemaTestDataDir(); |
|||
fn.AppendDir( "spice_netlists" ); |
|||
fn.AppendDir( "libraries" ); |
|||
fn.SetName( aBaseName ); |
|||
fn.SetExt( "lib.spice" ); |
|||
|
|||
return fn.GetFullPath(); |
|||
} |
|||
|
|||
void LoadLibrary( const wxString& aBaseName ) |
|||
{ |
|||
wxString path = GetLibraryPath( aBaseName ); |
|||
m_library = std::make_unique<SIM_LIBRARY_SPICE>(); |
|||
BOOST_CHECK( m_library->ReadFile( path ) ); |
|||
} |
|||
|
|||
void CompareToUsualDiodeModel( const SIM_MODEL& aModel, const wxString& aModelName, int aModelIndex ) |
|||
{ |
|||
BOOST_CHECK( aModel.GetType() == SIM_MODEL::TYPE::D ); |
|||
BOOST_CHECK_EQUAL( aModelName, aModel.GetSpiceInfo().modelType.Upper() |
|||
+ wxString::FromCDouble( aModelIndex ) |
|||
+ "_Usual" ); |
|||
BOOST_CHECK_EQUAL( aModel.FindParam( "bv" )->value->ToString(), "1.1u" ); |
|||
BOOST_CHECK_EQUAL( aModel.FindParam( "cjo" )->value->ToString(), "2.2m" ); |
|||
BOOST_CHECK_EQUAL( aModel.FindParam( "ibv" )->value->ToString(), "3.3" ); |
|||
BOOST_CHECK_EQUAL( aModel.FindParam( "is" )->value->ToString(), "4.4k" ); |
|||
BOOST_CHECK_EQUAL( aModel.FindParam( "m" )->value->ToString(), "5.5M" ); |
|||
BOOST_CHECK_EQUAL( aModel.FindParam( "n" )->value->ToString(), "6.6G" ); |
|||
} |
|||
|
|||
void CompareToEmptyModel( const SIM_MODEL& aModel, const wxString& aModelName, int aModelIndex ) |
|||
{ |
|||
BOOST_TEST_CONTEXT( "Model index: " << aModelIndex ) |
|||
{ |
|||
BOOST_CHECK_EQUAL( aModelName, aModel.GetSpiceInfo().modelType.Upper() |
|||
+ wxString::FromCDouble( aModelIndex ) |
|||
+ "_Empty" ); |
|||
|
|||
for( unsigned i = 0; i < aModel.GetParamCount(); ++i ) |
|||
{ |
|||
BOOST_TEST_CONTEXT( "Param name: " << aModel.GetParam( i ).info.name ) |
|||
{ |
|||
BOOST_CHECK_EQUAL( aModel.GetUnderlyingParam( i ).value->ToString(), "" ); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
void TestTransistor( const SIM_MODEL& aModel, const wxString& aModelName, int aModelIndex, |
|||
SIM_MODEL::TYPE aType, const std::vector<wxString>& aParamNames ) |
|||
{ |
|||
BOOST_TEST_CONTEXT( "Model index: " << aModelIndex |
|||
<< ", Model name: " << aModelName |
|||
<< ", Model device type: " << aModel.GetDeviceTypeInfo().fieldValue |
|||
<< ", Model type: " << aModel.GetTypeInfo().fieldValue ) |
|||
{ |
|||
BOOST_CHECK( aModel.GetType() == aType ); |
|||
BOOST_CHECK_EQUAL( aModelName, "_" + wxString::FromCDouble( aModelIndex ) |
|||
+ "_" + aModel.GetSpiceInfo().modelType.Upper() |
|||
+ "_" + aModel.GetTypeInfo().fieldValue ); |
|||
|
|||
for( int i = 0; i < aParamNames.size(); ++i ) |
|||
{ |
|||
wxString paramName = aParamNames.at( i ); |
|||
|
|||
BOOST_TEST_CONTEXT( "Param name: " << paramName ) |
|||
{ |
|||
if( i == 0 ) |
|||
{ |
|||
BOOST_CHECK_EQUAL( aModel.FindParam( paramName )->value->ToString(), "0" ); |
|||
} |
|||
else |
|||
{ |
|||
BOOST_CHECK_EQUAL( aModel.FindParam( paramName )->value->ToString(), |
|||
wxString::FromCDouble( i ) + ".0000" |
|||
+ wxString::FromCDouble( i ) + "G" ); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
|||
std::unique_ptr<SIM_LIBRARY_SPICE> m_library; |
|||
}; |
|||
|
|||
|
|||
BOOST_FIXTURE_TEST_SUITE( SimLibrarySpice, TEST_SIM_LIBRARY_SPICE_FIXTURE ) |
|||
|
|||
|
|||
BOOST_AUTO_TEST_CASE( Diodes ) |
|||
{ |
|||
LoadLibrary( "diodes" ); |
|||
|
|||
const std::vector<std::reference_wrapper<SIM_MODEL>> models = m_library->GetModels(); |
|||
const std::vector<wxString>& modelNames = m_library->GetModelNames(); |
|||
|
|||
BOOST_CHECK_EQUAL( models.size(), 21 ); |
|||
|
|||
for( int i = 0; i < models.size(); ++i ) |
|||
{ |
|||
const SIM_MODEL& model = models.at( i ); |
|||
const wxString& modelName = modelNames.at( i ); |
|||
|
|||
switch( i ) |
|||
{ |
|||
case 0: |
|||
BOOST_CHECK_EQUAL( modelName, "1N4148" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "bv" )->value->ToString(), "100" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "cjo" )->value->ToString(), "4p" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "ibv" )->value->ToString(), "100u" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "is" )->value->ToString(), "4n" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "m" )->value->ToString(), "330m" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "n" )->value->ToString(), "2" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "rs" )->value->ToString(), "500m" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "tt" )->value->ToString(), "10n" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "vj" )->value->ToString(), "800m" ); |
|||
break; |
|||
|
|||
case 1: |
|||
BOOST_CHECK_EQUAL( modelName, "D1" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "is" )->value->ToString(), "1.23n" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "n" )->value->ToString(), "1.23" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "rs" )->value->ToString(), "789m" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "ikf" )->value->ToString(), "12.34m" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "xti" )->value->ToString(), "3" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "eg" )->value->ToString(), "1.23" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "cjo" )->value->ToString(), "900f" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "m" )->value->ToString(), "560m" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "vj" )->value->ToString(), "780m" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "fc" )->value->ToString(), "900m" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "isr" )->value->ToString(), "12.34n" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "nr" )->value->ToString(), "2.345" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "bv" )->value->ToString(), "100" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "ibv" )->value->ToString(), "100u" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "tt" )->value->ToString(), "12.34n" ); |
|||
break; |
|||
|
|||
case 2: |
|||
case 3: |
|||
CompareToUsualDiodeModel( model, modelName, i ); |
|||
break; |
|||
|
|||
case 4: |
|||
BOOST_CHECK_EQUAL( modelName, "D4" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "is" )->value->ToString(), "100f" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "rs" )->value->ToString(), "2" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "cjo" )->value->ToString(), "3p" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "tt" )->value->ToString(), "45n" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "bv" )->value->ToString(), "678" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "ibv" )->value->ToString(), "100f" ); |
|||
break; |
|||
|
|||
case 5: |
|||
case 6: |
|||
case 7: |
|||
case 8: |
|||
case 9: |
|||
CompareToEmptyModel( model, modelName, i ); |
|||
break; |
|||
|
|||
case 10: |
|||
case 11: |
|||
case 12: |
|||
case 13: |
|||
case 14: |
|||
case 15: |
|||
case 16: |
|||
case 17: |
|||
CompareToUsualDiodeModel( model, modelName, i ); |
|||
break; |
|||
|
|||
case 18: |
|||
BOOST_CHECK_EQUAL( modelName, "D18" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "n" )->value->ToString(), "-1.1" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "m" )->value->ToString(), "2.2" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "is" )->value->ToString(), "-3.3m" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "ibv" )->value->ToString(), "44k" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "cjo" )->value->ToString(), "55u" ); |
|||
BOOST_CHECK_EQUAL( model.FindParam( "bv" )->value->ToString(), "6.6M" ); |
|||
break; |
|||
|
|||
case 19: |
|||
case 20: |
|||
CompareToUsualDiodeModel( model, modelName, i ); |
|||
break; |
|||
|
|||
default: |
|||
BOOST_FAIL( "Unknown parameter index" ); |
|||
} |
|||
} |
|||
} |
|||
|
|||
|
|||
BOOST_AUTO_TEST_CASE( Bjts ) |
|||
{ |
|||
LoadLibrary( "bjts" ); |
|||
|
|||
const std::vector<std::reference_wrapper<SIM_MODEL>> models = m_library->GetModels(); |
|||
const std::vector<wxString>& modelNames = m_library->GetModelNames(); |
|||
|
|||
BOOST_CHECK_EQUAL( models.size(), 6 ); |
|||
|
|||
for( int i = 0; i < models.size(); ++i ) |
|||
{ |
|||
const SIM_MODEL& model = models.at( i ); |
|||
const wxString& modelName = modelNames.at( i ); |
|||
|
|||
switch( i ) |
|||
{ |
|||
case 0: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NPN_GUMMELPOON, |
|||
{ "is", "nf", "ise", "ne", "bf", "ikf", "vaf", "nr", "isc", "nc" } ); |
|||
break; |
|||
|
|||
case 1: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PNP_GUMMELPOON, |
|||
{ "is", "nf", "ise", "ne", "bf", "ikf", "vaf", "nr", "isc", "nc" } ); |
|||
break; |
|||
|
|||
case 2: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NPN_VBIC, |
|||
{ "rcx", "rci", "vo", "gamm", "hrcf", "rbx", "rbi", "re", "rs", |
|||
"rbp" } ); |
|||
break; |
|||
|
|||
case 3: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PNP_VBIC, |
|||
{ "rcx", "rci", "vo", "gamm", "hrcf", "rbx", "rbi", "re", "rs", |
|||
"rbp" } ); |
|||
break; |
|||
|
|||
case 4: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NPN_HICUML2, |
|||
{ "c10", "qp0", "ich", "hf0", "hfe", "hfc", "hjei", "ahjei", "rhjei", |
|||
"hjci" } ); |
|||
break; |
|||
|
|||
case 5: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PNP_HICUML2, |
|||
{ "c10", "qp0", "ich", "hf0", "hfe", "hfc", "hjei", "ahjei", "rhjei", |
|||
"hjci" } ); |
|||
break; |
|||
} |
|||
} |
|||
} |
|||
|
|||
|
|||
BOOST_AUTO_TEST_CASE( Fets ) |
|||
{ |
|||
LoadLibrary( "fets" ); |
|||
|
|||
const std::vector<std::reference_wrapper<SIM_MODEL>> models = m_library->GetModels(); |
|||
const std::vector<wxString>& modelNames = m_library->GetModelNames(); |
|||
|
|||
BOOST_CHECK_EQUAL( models.size(), 44 ); |
|||
|
|||
for( int i = 0; i < models.size(); ++i ) |
|||
{ |
|||
const SIM_MODEL& model = models.at( i ); |
|||
const wxString& modelName = modelNames.at( i ); |
|||
|
|||
switch( i ) |
|||
{ |
|||
case 0: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NJFET_SHICHMANHODGES, |
|||
{ "vt0", "beta", "lambda", "rd", "rs", "cgs", "cgd", "pb", "is", |
|||
"fc" } ); |
|||
break; |
|||
|
|||
case 1: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PJFET_SHICHMANHODGES, |
|||
{ "vt0", "beta", "lambda", "rd", "rs", "cgs", "cgd", "pb", "is", |
|||
"fc" } ); |
|||
break; |
|||
|
|||
case 2: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NJFET_PARKERSKELLERN, |
|||
{ "vbi", "af", "beta", "cds", "cgd", "cgs", "delta", "hfeta", "mvst", |
|||
"mxi" } ); |
|||
break; |
|||
|
|||
case 3: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PJFET_PARKERSKELLERN, |
|||
{ "vbi", "af", "beta", "cds", "cgd", "cgs", "delta", "hfeta", "mvst", |
|||
"mxi" } ); |
|||
break; |
|||
|
|||
case 4: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMES_STATZ, |
|||
{ "vt0", "alpha", "beta", "lambda", "b", "rd", "rs", "cgs", "cgd", |
|||
"pb" } ); |
|||
break; |
|||
|
|||
case 5: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMES_STATZ, |
|||
{ "vt0", "alpha", "beta", "lambda", "b", "rd", "rs", "cgs", "cgd", |
|||
"pb" } ); |
|||
break; |
|||
|
|||
case 6: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMES_YTTERDAL, |
|||
{ "vto", "lambda", "lambdahf", "beta", "vs", "rd", "rs", "rg", "ri", |
|||
"rf" } ); |
|||
break; |
|||
|
|||
case 7: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMES_YTTERDAL, |
|||
{ "vto", "lambda", "lambdahf", "beta", "vs", "rd", "rs", "rg", "ri", |
|||
"rf" } ); |
|||
break; |
|||
|
|||
case 8: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMES_HFET1, |
|||
{ "vt0", "lambda", "rd", "rs", "rg", "rdi", "rsi", "rgs", "rgd", |
|||
"eta" } ); |
|||
break; |
|||
|
|||
case 9: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMES_HFET1, |
|||
{ "vt0", "lambda", "rd", "rs", "rg", "rdi", "rsi", "rgs", "rgd", |
|||
"eta" } ); |
|||
break; |
|||
|
|||
case 10: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMES_HFET2, |
|||
{ "vs", "ggr", "js", "del", "delta", "deltad", "di", "epsi", "eta", |
|||
"eta1" } ); |
|||
break; |
|||
|
|||
case 11: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMES_HFET2, |
|||
{ "vs", "ggr", "js", "del", "delta", "deltad", "di", "epsi", "eta", |
|||
"eta1" } ); |
|||
break; |
|||
|
|||
case 12: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMOS_MOS1, |
|||
{ "vto", "kp", "gamma", "phi", "lambda", "rd", "rs", "cbd", "cbs", |
|||
"is" } ); |
|||
break; |
|||
|
|||
case 13: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMOS_MOS1, |
|||
{ "vto", "kp", "gamma", "phi", "lambda", "rd", "rs", "cbd", "cbs", |
|||
"is" } ); |
|||
break; |
|||
|
|||
case 14: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMOS_MOS2, |
|||
{ "vto", "kp", "gamma", "phi", "lambda", "rd", "rs", "cbd", "cbs", |
|||
"is" } ); |
|||
break; |
|||
|
|||
case 15: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMOS_MOS2, |
|||
{ "vto", "kp", "gamma", "phi", "lambda", "rd", "rs", "cbd", "cbs", |
|||
"is" } ); |
|||
break; |
|||
|
|||
case 16: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMOS_MOS3, |
|||
{ "vto", "theta", "gamma", "phi", "eta", "rd", "rs", "cbd", "cbs", |
|||
"is" } ); |
|||
break; |
|||
|
|||
case 17: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMOS_MOS3, |
|||
{ "vto", "theta", "gamma", "phi", "eta", "rd", "rs", "cbd", "cbs", |
|||
"is" } ); |
|||
break; |
|||
|
|||
case 18: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMOS_BSIM1, |
|||
{ "vfb", "lvfb", "wvfb", "phi", "lphi", "wphi", "k1", "lk1", "wk1", |
|||
"k2" } ); |
|||
break; |
|||
|
|||
case 19: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMOS_BSIM1, |
|||
{ "vfb", "lvfb", "wvfb", "phi", "lphi", "wphi", "k1", "lk1", "wk1", |
|||
"k2" } ); |
|||
break; |
|||
|
|||
case 20: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMOS_BSIM2, |
|||
{ "bib", "lbib", "wbib", "vghigh", "lvghigh", "wvghigh", |
|||
"waib", "bi0", "lbi0", "wbi0" } ); |
|||
break; |
|||
|
|||
case 21: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMOS_BSIM2, |
|||
{ "bib", "lbib", "wbib", "vghigh", "lvghigh", "wvghigh", |
|||
"waib", "bi0", "lbi0", "wbi0" } ); |
|||
break; |
|||
|
|||
case 22: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMOS_MOS6, |
|||
{ "vto", "nvth", "gamma", "phi", "lambda", "rd", "rs", "cbd", "cbs", |
|||
"is" } ); |
|||
break; |
|||
|
|||
case 23: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMOS_MOS6, |
|||
{ "vto", "nvth", "gamma", "phi", "lambda", "rd", "rs", "cbd", "cbs", |
|||
"is" } ); |
|||
break; |
|||
|
|||
case 24: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMOS_BSIM3, |
|||
{ "tox", "toxm", "cdsc", "cdscb", "cdscd", "cit", "nfactor", "xj", |
|||
"vsat", "at" } ); |
|||
break; |
|||
|
|||
case 25: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMOS_BSIM3, |
|||
{ "tox", "toxm", "cdsc", "cdscb", "cdscd", "cit", "nfactor", "xj", |
|||
"vsat", "at" } ); |
|||
break; |
|||
|
|||
case 26: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMOS_MOS9, |
|||
{ "vto", "theta", "gamma", "phi", "eta", "rd", "rs", "cbd", "cbs", |
|||
"is" } ); |
|||
break; |
|||
|
|||
case 27: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMOS_MOS9, |
|||
{ "vto", "theta", "gamma", "phi", "eta", "rd", "rs", "cbd", "cbs", |
|||
"is" } ); |
|||
break; |
|||
|
|||
case 28: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMOS_B4SOI, |
|||
{ "tox", "toxp", "toxm", "dtoxcv", "cdsc", "cdscb", "cdscd", "cit", |
|||
"nfactor", "vsat" } ); |
|||
break; |
|||
|
|||
case 29: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMOS_B4SOI, |
|||
{ "tox", "toxp", "toxm", "dtoxcv", "cdsc", "cdscb", "cdscd", "cit", |
|||
"nfactor", "vsat" } ); |
|||
break; |
|||
|
|||
case 30: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMOS_BSIM4, |
|||
{ "rbps0", "rbpsl", "rbpsw", "rbpsnf", "rbpd0", "rbpdl", "rbpdw", "rbpdnf", |
|||
"rbpbx0", "rbpbxl" } ); |
|||
break; |
|||
|
|||
case 31: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMOS_BSIM4, |
|||
{ "rbps0", "rbpsl", "rbpsw", "rbpsnf", "rbpd0", "rbpdl", "rbpdw", "rbpdnf", |
|||
"rbpbx0", "rbpbxl" } ); |
|||
break; |
|||
|
|||
case 32: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMOS_B3SOIFD, |
|||
{ "tox", "cdsc", "cdscb", "cdscd", "cit", "nfactor", "vsat", "at", "a0", |
|||
"ags" } ); |
|||
break; |
|||
|
|||
case 33: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMOS_B3SOIFD, |
|||
{ "tox", "cdsc", "cdscb", "cdscd", "cit", "nfactor", "vsat", "at", "a0", |
|||
"ags" } ); |
|||
break; |
|||
|
|||
case 34: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMOS_B3SOIDD, |
|||
{ "tox", "cdsc", "cdscb", "cdscd", "cit", "nfactor", "vsat", "at", "a0", |
|||
"ags" } ); |
|||
break; |
|||
|
|||
case 35: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMOS_B3SOIDD, |
|||
{ "tox", "cdsc", "cdscb", "cdscd", "cit", "nfactor", "vsat", "at", "a0", |
|||
"ags" } ); |
|||
break; |
|||
|
|||
case 36: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMOS_B3SOIPD, |
|||
{ "tox", "cdsc", "cdscb", "cdscd", "cit", "nfactor", "vsat", "at", "a0", |
|||
"ags" } ); |
|||
break; |
|||
|
|||
case 37: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMOS_B3SOIPD, |
|||
{ "tox", "cdsc", "cdscb", "cdscd", "cit", "nfactor", "vsat", "at", "a0", |
|||
"ags" } ); |
|||
break; |
|||
|
|||
case 38: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMOS_HISIM2, |
|||
{ "depmue0", "depmue0l", "depmue0lp", "depmue1", "depmue1l", |
|||
"depmue1lp", "depmueback0", "depmueback0l", "depmueback0lp", |
|||
"depmueback1" } ); |
|||
break; |
|||
|
|||
case 39: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMOS_HISIM2, |
|||
{ "depmue0", "depmue0l", "depmue0lp", "depmue1", "depmue1l", "depmue1lp", |
|||
"depmueback0", "depmueback0l", "depmueback0lp", "depmueback1" } ); |
|||
break; |
|||
|
|||
case 40: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMOS_HISIMHV1, |
|||
{ "prd", "prd22", "prd23", "prd24", "prdict1", "prdov13", "prdslp1", |
|||
"prdvb", "prdvd", "prdvg11" } ); |
|||
break; |
|||
|
|||
case 41: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMOS_HISIMHV1, |
|||
{ "prd", "prd22", "prd23", "prd24", "prdict1", "prdov13", "prdslp1", |
|||
"prdvb", "prdvd", "prdvg11" } ); |
|||
break; |
|||
|
|||
case 42: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::NMOS_HISIMHV2, |
|||
{ "pjs0d", "pjs0swd", "pnjd", "pcisbkd", "pvdiffjd", "pjs0s", "pjs0sws", |
|||
"prs", "prth0", "pvover" } ); |
|||
break; |
|||
|
|||
case 43: |
|||
TestTransistor( model, modelName, i, SIM_MODEL::TYPE::PMOS_HISIMHV2, |
|||
{ "pjs0d", "pjs0swd", "pnjd", "pcisbkd", "pvdiffjd", "pjs0s", "pjs0sws", |
|||
"prs", "prth0", "pvover" } ); |
|||
break; |
|||
} |
|||
} |
|||
} |
|||
|
|||
|
|||
BOOST_AUTO_TEST_SUITE_END() |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue