Added BJT component with 2 models

This commit is contained in:
2026-06-29 20:18:44 +02:00
parent 5c458d5a63
commit 0175490365
8 changed files with 251 additions and 1 deletions
+202
View File
@@ -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","")
)
);
+32
View File
@@ -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
+11
View File
@@ -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
+1
View File
@@ -42,5 +42,6 @@ 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_bjt" ));
+2
View File
@@ -0,0 +1,2 @@
-- Master.tag File, Rev:1.0
symbol.oa
Binary file not shown.
+2
View File
@@ -0,0 +1,2 @@
-- Master.tag File, Rev:1.0
symbol.oa
Binary file not shown.