summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/macro/nlm_opamp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/netlist/macro/nlm_opamp.cpp')
-rw-r--r--src/lib/netlist/macro/nlm_opamp.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/lib/netlist/macro/nlm_opamp.cpp b/src/lib/netlist/macro/nlm_opamp.cpp
index 886345ec6c3..d671847abb0 100644
--- a/src/lib/netlist/macro/nlm_opamp.cpp
+++ b/src/lib/netlist/macro/nlm_opamp.cpp
@@ -290,18 +290,19 @@ NETLIST_END()
static NETLIST_START(LM3900)
OPAMP(A, "LM3900")
- DIODE(D1, "D")
- DIODE(D2, "D")
+ DIODE(D1, "D(IS=1e-14 N=1)")
+ CCCS(CS1) // Current Mirror
ALIAS(VCC, A.VCC)
ALIAS(GND, A.GND)
- ALIAS(MINUS, A.MINUS)
ALIAS(PLUS, A.PLUS)
+ ALIAS(MINUS, A.MINUS)
ALIAS(OUT, A.OUT)
- NET_C(D1.A, A.PLUS)
- NET_C(D2.A, A.MINUS)
- NET_C(D1.K, D2.K, A.MINUS)
+ NET_C(A.PLUS, CS1.IP)
+ NET_C(D1.A, CS1.IN)
+ NET_C(CS1.OP, A.MINUS)
+ NET_C(CS1.ON, A.GND, D1.K)
NETLIST_END()
#endif
@@ -320,7 +321,7 @@ NETLIST_START(OPAMP_lib)
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)")
- NET_MODEL("LM3900 OPAMP(TYPE=3 VLH=2.0 VLL=0.2 FPF=2k UGF=4M SLEW=0.5M RI=1M RO=2k DAB=0.0015)")
+ NET_MODEL("LM3900 OPAMP(TYPE=3 VLH=1.0 VLL=0.03 FPF=2k UGF=4M SLEW=0.5M RI=10M RO=2k DAB=0.0015)")
#if USE_LM3900_MODEL == 1
NET_MODEL("LM3900_NPN1 NPN(IS=1E-14 BF=150 TF=1E-9 CJC=1E-12 CJE=1E-12 VAF=150 RB=100 RE=5 IKF=0.002)")