diff --git a/circuit/ael/mr/mr_bjt.ael b/circuit/ael/mr/mr_bjt.ael new file mode 100644 index 0000000..c2e29ec --- /dev/null +++ b/circuit/ael/mr/mr_bjt.ael @@ -0,0 +1,202 @@ +// -------------------------------------------------------------------------------------- +// Creating item definition for bipolar NPN transistor +// -------------------------------------------------------------------------------------- +create_item +( + "mr_bjt_npn", // name + "Nonlinear Bipolar Transistor, NPN", // description + "Q", // prefix + 0, // attributes + NULL, // priority + NULL, // icon name + standard_dialog, // dialog name + "*", // dialog data + CmpModelNetlistFmt, // netlist format string + "BJT", // netlist data (??) + ComponentAnnotFmt, // display format string + NULL, // symbol name (not used since 2011) + NULL, // artwork type (not used since 2011) + NULL, // artwork data (not used since 2011) + ITEM_PRIMITIVE_EX, // extra attributes + + create_parm + ( + "Model", + "Model instance name", + 0, + "StdFileFormSet", + UNITLESS_UNIT, + prm("StdForm","") + ), + + create_parm + ( + "Area", + "Scaling Factor, (default: 1.0)", + PARM_OPTIMIZABLE | PARM_STATISTICAL | PARM_NO_DISPLAY, + "StdFileFormSet", + UNITLESS_UNIT, + prm("StdForm","") + ), + + create_parm + ( + "Region", + "DC operating region, 0=off, 1=on, 2=rev, 3=sat, (default: on)", + PARM_NO_DISPLAY, + "StdFileFormSet", + UNITLESS_UNIT, + prm("StdForm","") + ), + + create_parm + ( + "Temp", + "Device operating temperature, (default: 25)", + PARM_OPTIMIZABLE | PARM_STATISTICAL | PARM_NO_DISPLAY, + "StdFileFormSet", + TEMPERATURE_UNIT, + prm("StdForm","") + ), + + create_parm + ( + "Trise", + "Temperature rise over ambient", + PARM_OPTIMIZABLE | PARM_STATISTICAL | PARM_NO_DISPLAY, + "StdFileFormSet", + TEMPERATURE_UNIT, + prm("StdForm","") + ), + + create_parm + ( + "Mode", + "Simulation Mode for This Device, (default: NONLINEAR)", + PARM_NO_DISPLAY, + "simtype_mode", + UNITLESS_UNIT, + prm("simtype_nonlin","") + ), + + create_parm + ( + "Noise", + "Noise generation option; yes=1, no=0 ( default: yes ) ", + PARM_NO_DISPLAY, + "sim_enum_on_off_list_form", + UNITLESS_UNIT,prm("Yes","yes") + ), + + create_parm + ( + "_M", + "Number of devices in parallel, (default: 1)", + PARM_NO_DISPLAY, + "StdFileFormSet", + UNITLESS_UNIT, + prm("StdForm","") + ) +); + +// -------------------------------------------------------------------------------------- +// Creating item definition for bipolar NPN transistor +// -------------------------------------------------------------------------------------- +create_item +( + "mr_bjt_pnp", // name + "Nonlinear Bipolar Transistor, PNP", // description + "Q", // prefix + 0, // attributes + NULL, // priority + NULL, // icon name + standard_dialog, // dialog name + "*", // dialog data + CmpModelNetlistFmt, // netlist format string + "*", // netlist data (??) + ComponentAnnotFmt, // display format string + NULL, // symbol name (not used since 2011) + NULL, // artwork type (not used since 2011) + NULL, // artwork data (not used since 2011) + ITEM_PRIMITIVE_EX, // extra attributes + + create_parm + ( + "Model", + "Model instance name", + 0, + "StdFileFormSet", + UNITLESS_UNIT, + prm("StdForm","") + ), + + create_parm + ( + "Area", + "Scaling Factor, (default: 1.0)", + PARM_OPTIMIZABLE | PARM_STATISTICAL | PARM_NO_DISPLAY, + "StdFileFormSet", + UNITLESS_UNIT, + prm("StdForm","") + ), + + create_parm + ( + "Region", + "DC operating region, 0=off, 1=on, 2=rev, 3=sat, (default: on)", + PARM_NO_DISPLAY, + "StdFileFormSet", + UNITLESS_UNIT, + prm("StdForm","") + ), + + create_parm + ( + "Temp", + "Device operating temperature, (default: 25)", + PARM_OPTIMIZABLE | PARM_STATISTICAL | PARM_NO_DISPLAY, + "StdFileFormSet", + TEMPERATURE_UNIT, + prm("StdForm","") + ), + + create_parm + ( + "Trise", + "Temperature rise over ambient", + PARM_OPTIMIZABLE | PARM_STATISTICAL | PARM_NO_DISPLAY, + "StdFileFormSet", + TEMPERATURE_UNIT, + prm("StdForm","") + ), + + create_parm + ( + "Mode", + "Simulation Mode for This Device, (default: NONLINEAR)", + PARM_NO_DISPLAY, + "simtype_mode", + UNITLESS_UNIT, + prm("simtype_nonlin","") + ), + + create_parm + ( + "Noise", + "Noise generation option; yes=1, no=0 ( default: yes ) ", + PARM_NO_DISPLAY, + "sim_enum_on_off_list_form", + UNITLESS_UNIT,prm("Yes","yes") + ), + + create_parm + ( + "_M", + "Number of devices in parallel, (default: 1)", + PARM_NO_DISPLAY, + "StdFileFormSet", + UNITLESS_UNIT, + prm("StdForm","") + ) +); + diff --git a/circuit/models/bjt/2n3904.mod b/circuit/models/bjt/2n3904.mod new file mode 100644 index 0000000..78be8f9 --- /dev/null +++ b/circuit/models/bjt/2n3904.mod @@ -0,0 +1,32 @@ +model Q2N3904C BJT \ + NPN = yes \ + PNP = no \ + IS = 3.5e-15 \ + BF = 160 \ + VAF = 400 \ + IKF = 0.15 \ + ISE = 4e-16 \ + NE = 1.26 \ + NF = 1 \ + RB = 30.1 \ + RC = 1 \ + RE = 0.1 \ + CJE = 15e-12 \ + MJE = 0.25 \ + VJE = 0.75 \ + CJC = 3.6e-12 \ + MJC = 0.30 \ + VJC = 0.75 \ + FC = 0.5 \ + TF = 380e-12 \ + XTF = 30 \ + VTF = 4 \ + ITF = 0.4 \ + TR = 240e-9 \ + BR = 0.7 \ + IKR = 0 \ + EG = 1.1 \ + XTB = 1.5 \ + XTI = 3 \ + NC = 2 \ + ISC = 0 diff --git a/circuit/models/bjt/2n3906.mod b/circuit/models/bjt/2n3906.mod new file mode 100644 index 0000000..347f28b --- /dev/null +++ b/circuit/models/bjt/2n3906.mod @@ -0,0 +1,11 @@ +model Q2N3906C BJT \ + NPN = no PNP = yes \ + IS = 10e-15 BF = 180 VAF = 40 \ + IKF = 0.6 ISE = 30e-15 NE = 1.5 NF = 1 \ + RB = 33 RC = 1 RE = 0.1 \ + CJE = 12e-12 MJE = 0.7 VJE = 1.0 \ + CJC = 12e-12 MJC = 0.7 VJC = 1.0 FC = 0.5 \ + TF = 550e-12 XTF = 20000 VTF = 10 ITF = 3.5 \ + TR = 10e-9 BR = 4 IKR = 11 \ + EG = 1.1 XTB = 1.5 XTI = 3 NC = 15.5 \ + ISC = 0.5e-15 VAR = 100 NK = 1.0 diff --git a/de/ael/boot.ael b/de/ael/boot.ael index 80c74c0..f93f542 100644 --- a/de/ael/boot.ael +++ b/de/ael/boot.ael @@ -41,6 +41,7 @@ else // ---------------------------------------------------------------------------- load( strcat( MRMODELS_DIR_CIRCUIT_AEL, "mrmodels_include")); -load( strcat( MRMODELS_DIR_CIRCUIT_AEL, "mr/mr_resistor" )); +load( strcat( MRMODELS_DIR_CIRCUIT_AEL, "mr/mr_resistor" )); +load( strcat( MRMODELS_DIR_CIRCUIT_AEL, "mr/mr_bjt" )); diff --git a/mrModels/mr_bjt_npn/symbol/master.tag b/mrModels/mr_bjt_npn/symbol/master.tag new file mode 100644 index 0000000..e1024da --- /dev/null +++ b/mrModels/mr_bjt_npn/symbol/master.tag @@ -0,0 +1,2 @@ +-- Master.tag File, Rev:1.0 +symbol.oa diff --git a/mrModels/mr_bjt_npn/symbol/symbol.oa b/mrModels/mr_bjt_npn/symbol/symbol.oa new file mode 100644 index 0000000..103797a Binary files /dev/null and b/mrModels/mr_bjt_npn/symbol/symbol.oa differ diff --git a/mrModels/mr_bjt_pnp/symbol/master.tag b/mrModels/mr_bjt_pnp/symbol/master.tag new file mode 100644 index 0000000..e1024da --- /dev/null +++ b/mrModels/mr_bjt_pnp/symbol/master.tag @@ -0,0 +1,2 @@ +-- Master.tag File, Rev:1.0 +symbol.oa diff --git a/mrModels/mr_bjt_pnp/symbol/symbol.oa b/mrModels/mr_bjt_pnp/symbol/symbol.oa new file mode 100644 index 0000000..e59b9bc Binary files /dev/null and b/mrModels/mr_bjt_pnp/symbol/symbol.oa differ