From 3f50652a5c8451ce0fa6db3160ea85e1f02f86fa Mon Sep 17 00:00:00 2001 From: couriersud Date: Thu, 20 Aug 2020 18:55:22 +0200 Subject: [PATCH] netlist: Add AN6551 opamp --- src/lib/netlist/macro/nlm_opamp_lib.cpp | 37 ++++++++++++++++++++++++- src/lib/netlist/macro/nlm_opamp_lib.h | 3 ++ 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/src/lib/netlist/macro/nlm_opamp_lib.cpp b/src/lib/netlist/macro/nlm_opamp_lib.cpp index 94c5da23686..8be7732792c 100644 --- a/src/lib/netlist/macro/nlm_opamp_lib.cpp +++ b/src/lib/netlist/macro/nlm_opamp_lib.cpp @@ -408,6 +408,38 @@ static NETLIST_START(LM747A_DIP) NETLIST_END() +//- Identifier: AN6551_SIL +//- Title: AN6551 Dual Operational Amplifier +//- Description: The AN6551 is a dual operational Amplifier with a +//- phase compensation circuit built-in. It is suitable for application to +//- various electronic circuits such as active filters and +//- audio pre-amplifiers +//- +//- Features: Phase compensation circuit, High gain, low noise, +//- Output short-circuit protection, Two circuits symmetrically arranged in 9-pin SIL plastic package +//- Pinalias: VCC,A.OUT,A-,A+,GND,B+,B-,B.OUT,VCC +//- Package: SIL +//- NamingConvention: Naming conventions follow Panasonic datasheet +//- FunctionTable: +//- https://datasheetspdf.com/pdf-file/182163/PanasonicSemiconductor/AN6551/1 +//- +static NETLIST_START(AN6551_SIL) + OPAMP(A, "AN6551") + OPAMP(B, "AN6551") + + NET_C(A.GND, B.GND) + + ALIAS(1, A.VCC) + ALIAS(2, A.OUT) + ALIAS(3, A.MINUS) + ALIAS(4, A.PLUS) + ALIAS(5, A.GND) + ALIAS(6, B.PLUS) + ALIAS(7, B.MINUS) + ALIAS(8, B.OUT) + ALIAS(9, B.VCC) +NETLIST_END() + #if USE_LM3900_MODEL == 0 static NETLIST_START(LM3900) @@ -595,7 +627,9 @@ NETLIST_START(opamp_lib) // TI and Motorola Datasheets differ - below are Motorola values, SLEW is average of LH and HL NET_MODEL("LM3900 OPAMP(TYPE=3 VLH=1.0 VLL=0.03 FPF=2k UGF=4M SLEW=10M RI=10M RO=2k DAB=0.0015)") -#if USE_LM3900_MODEL == 1 + NET_MODEL("AN6551 OPAMP(TYPE=3 VLH=1.0 VLL=0.03 FPF=20 UGF=2M SLEW=1M RI=10M RO=200 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)") NET_MODEL("LM3900_PNP1 PNP(IS=1E-14 BF=40 TF=1E-7 CJC=1E-12 CJE=1E-12 VAF=150 RB=100 RE=5)") #endif @@ -614,5 +648,6 @@ NETLIST_START(opamp_lib) LOCAL_LIB_ENTRY(LM747_DIP) LOCAL_LIB_ENTRY(LM747A_DIP) LOCAL_LIB_ENTRY(LM3900) + LOCAL_LIB_ENTRY(AN6551_SIL) NETLIST_END() diff --git a/src/lib/netlist/macro/nlm_opamp_lib.h b/src/lib/netlist/macro/nlm_opamp_lib.h index 362e5c7baa1..f2de947f5db 100644 --- a/src/lib/netlist/macro/nlm_opamp_lib.h +++ b/src/lib/netlist/macro/nlm_opamp_lib.h @@ -63,6 +63,9 @@ #define MC3340_DIP(name) \ NET_REGISTER_DEV(MC3340_DIP, name) +#define AN6551_SIL(name) \ + NET_REGISTER_DEV(AN6551_SIL, name) + #endif // NL_AUTO_DEVICES /* ----------------------------------------------------------------------------