From 03d486e9b562d6d63ed80f92b252d2d9c2855eed Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Mon, 26 Dec 2016 02:22:25 +1100 Subject: [PATCH] netlist: Added LM747, LM747A and 2N2565. --- src/lib/netlist/devices/net_lib.cpp | 1 + src/lib/netlist/macro/nlm_opamp.cpp | 49 ++++++++++++++++++++++++++--- 2 files changed, 46 insertions(+), 4 deletions(-) diff --git a/src/lib/netlist/devices/net_lib.cpp b/src/lib/netlist/devices/net_lib.cpp index b989fdd73c9..cdf290ed4ed 100644 --- a/src/lib/netlist/devices/net_lib.cpp +++ b/src/lib/netlist/devices/net_lib.cpp @@ -34,6 +34,7 @@ NETLIST_START(bjt_models) NET_MODEL("2SA1015 PNP(Is=295.1E-18 Xti=3 Eg=1.11 Vaf=100 Bf=110 Xtb=1.5 Br=10.45 Rc=15 Cjc=66.2p Mjc=1.054 Vjc=.75 Fc=.5 Cje=5p Mje=.3333 Vje=.75 Tr=10n Tf=1.661n VCEO=45V ICrating=150M MFG=Toshiba)") NET_MODEL("2SC1815 NPN(Is=2.04f Xti=3 Eg=1.11 Vaf=6 Bf=400 Ikf=20m Xtb=1.5 Br=3.377 Rc=1 Cjc=1p Mjc=.3333 Vjc=.75 Fc=.5 Cje=25p Mje=.3333 Vje=.75 Tr=450n Tf=20n Itf=0 Vtf=0 Xtf=0 VCEO=45V ICrating=150M MFG=Toshiba)") + NET_MODEL("2N3565 NPN(IS=5.911E-15 ISE=5.911E-15 ISC=0 XTI=3 BF=697.1 BR=1.297 IKF=0.01393 IKR=0 XTB=1.5 VAF=62.37 VAR=21.5 VJE=0.65 VJC=0.65 RE=0.15 RC=1.61 RB=10 CJE=4.973E-12 CJC=4.017E-12 XCJC=0.75 FC=0.5 NF=1 NR=1 NE=1.342 NC=2 MJE=0.4146 MJC=0.3174 TF=820.4E-12 TR=4.687E-9 ITF=0.35 VTF=4 XTF=7 EG=1.11 KF=1E-9 AF=1 VCEO=25 ICRATING=500m MFG=NSC)") NET_MODEL("2N3643 NPN(IS=14.34E-15 ISE=14.34E-15 ISC=0 XTI=3 BF=255.9 BR=6.092 IKF=0.2847 IKR=0 XTB=1.5 VAF=74.03 VAR=28 VJE=0.65 VJC=0.65 RE=0.1 RC=1 RB=10 CJE=22.01E-12 CJC=7.306E-12 XCJC=0.75 FC=0.5 NF=1 NR=1 NE=1.307 NC=2 MJE=0.377 MJC=0.3416 TF=411.1E-12 TR=46.91E-9 ITF=0.6 VTF=1.7 XTF=3 EG=1.11 KF=0 AF=1 VCEO=30 ICRATING=500m MFG=NSC)") NET_MODEL("2N3645 PNP(IS=650.6E-18 ISE=54.81E-15 ISC=0 XTI=3 BF=231.7 BR=3.563 IKF=1.079 IKR=0 XTB=1.5 VAF=115.7 VAR=35 VJE=0.65 VJC=0.65 RE=0.15 RC=0.715 RB=10 CJE=19.82E-12 CJC=14.76E-12 XCJC=0.75 FC=0.5 NF=1 NR=1 NE=1.829 NC=2 MJE=0.3357 MJC=0.5383 TF=603.7E-12 TR=111.3E-9 ITF=0.65 VTF=5 XTF=1.7 EG=1.11 KF=0 AF=1 VCEO=60 ICRATING=500m MFG=NSC)") // 3644 = 3645 Difference between 3644 and 3645 is voltage rating. 3644: VCBO=45, 3645: VCBO=60 diff --git a/src/lib/netlist/macro/nlm_opamp.cpp b/src/lib/netlist/macro/nlm_opamp.cpp index 38f47d5a68e..08dc5f60b27 100644 --- a/src/lib/netlist/macro/nlm_opamp.cpp +++ b/src/lib/netlist/macro/nlm_opamp.cpp @@ -40,6 +40,24 @@ static NETLIST_START(opamp_layout_2_8_4) NET_C(A.VCC, B.VCC) NETLIST_END() +/* + * Generic layout with 2 opamps, VCC+ on pins 9/13, VCC- on pin 4 and compensation + */ + +static NETLIST_START(opamp_layout_2_13_9_4) + DIPPINS( /* +--------------+ */ + A.MINUS, /* |1 ++ 14| */ A.N2, + A.PLUS, /* |2 13| */ A.VCC, + A.N1, /* |3 12| */ A.OUT, + A.GND, /* |4 11| */ NC, + B.N1, /* |5 10| */ B.OUT, + B.PLUS, /* |6 9| */ B.VCC, + B.MINUS /* |7 8| */ B.N2 + /* +--------------+ */ + ) + NET_C(A.GND, B.GND) +NETLIST_END() + /* * Generic layout with 1 opamp, VCC+ on pin 7, VCC- on pin 4 and compensation */ @@ -121,6 +139,14 @@ static NETLIST_START(LM324_DIP) NETLIST_END() +static NETLIST_START(LM358_DIP) + OPAMP(A, "LM358") + OPAMP(B, "LM358") + + INCLUDE(opamp_layout_2_8_4) + +NETLIST_END() + static NETLIST_START(UA741_DIP8) OPAMP(A, "UA741") @@ -142,17 +168,28 @@ static NETLIST_START(UA741_DIP14) NETLIST_END() -static NETLIST_START(LM358_DIP) - OPAMP(A, "LM358") - OPAMP(B, "LM358") +static NETLIST_START(LM747_DIP) + OPAMP(A, "LM747") + OPAMP(B, "LM747") - INCLUDE(opamp_layout_2_8_4) + INCLUDE(opamp_layout_2_13_9_4) + NET_C(A.VCC, B.VCC) + +NETLIST_END() + +static NETLIST_START(LM747A_DIP) + OPAMP(A, "LM747A") + OPAMP(B, "LM747A") + + INCLUDE(opamp_layout_2_13_9_4) + NET_C(A.VCC, B.VCC) NETLIST_END() NETLIST_START(OPAMP_lib) LOCAL_LIB_ENTRY(opamp_layout_4_4_11) LOCAL_LIB_ENTRY(opamp_layout_2_8_4) + LOCAL_LIB_ENTRY(opamp_layout_2_13_9_4) LOCAL_LIB_ENTRY(opamp_layout_1_7_4) LOCAL_LIB_ENTRY(opamp_layout_1_8_5) LOCAL_LIB_ENTRY(opamp_layout_1_11_6) @@ -161,6 +198,8 @@ NETLIST_START(OPAMP_lib) NET_MODEL("LM358 OPAMP(TYPE=3 VLH=2.0 VLL=0.2 FPF=5 UGF=500k SLEW=0.3M RI=1000k RO=50 DAB=0.001)") NET_MODEL("MB3614 OPAMP(TYPE=3 VLH=1.4 VLL=0.02 FPF=2 UGF=500k SLEW=0.6M RI=1000k RO=50 DAB=0.0002)") NET_MODEL("UA741 OPAMP(TYPE=3 VLH=1.0 VLL=1.0 FPF=5 UGF=1000k SLEW=0.5M RI=2000k RO=75 DAB=0.0017)") + NET_MODEL("LM747 OPAMP(TYPE=3 VLH=1.0 VLL=1.0 FPF=5 UGF=1000k SLEW=0.5M RI=2000k RO=50 DAB=0.0017)") + NET_MODEL("LM747A OPAMP(TYPE=3 VLH=2.0 VLL=2.0 FPF=5 UGF=1000k SLEW=0.7M RI=6000k RO=50 DAB=0.0015)") LOCAL_LIB_ENTRY(MB3614_DIP) LOCAL_LIB_ENTRY(LM324_DIP) @@ -168,5 +207,7 @@ NETLIST_START(OPAMP_lib) LOCAL_LIB_ENTRY(UA741_DIP8) LOCAL_LIB_ENTRY(UA741_DIP10) LOCAL_LIB_ENTRY(UA741_DIP14) + LOCAL_LIB_ENTRY(LM747_DIP) + LOCAL_LIB_ENTRY(LM747A_DIP) NETLIST_END()