summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2020-10-08 08:26:45 -0700
committer Aaron Giles <aaron@aarongiles.com>2020-10-08 08:26:45 -0700
commit7fc54760e16341bd1f13fa63663e2cb0a56cb035 (patch)
tree225da98cc501ec4e1960dce946fe9fb212c56dae /src/lib
parent67b9e8ae981da17783e705651756197a287f9ca8 (diff)
netlist: Add LM348, CD4071, CD4081 devices
Diffstat (limited to 'src/lib')
-rwxr-xr-xsrc/lib/netlist/generated/nld_devinc.h20
-rw-r--r--src/lib/netlist/macro/nlm_cd4xxx_lib.cpp82
-rw-r--r--src/lib/netlist/macro/nlm_opamp_lib.cpp11
3 files changed, 112 insertions, 1 deletions
diff --git a/src/lib/netlist/generated/nld_devinc.h b/src/lib/netlist/generated/nld_devinc.h
index e916998c93e..53a496be2d8 100755
--- a/src/lib/netlist/generated/nld_devinc.h
+++ b/src/lib/netlist/generated/nld_devinc.h
@@ -817,6 +817,14 @@
#define CD4070_GATE(...) \
NET_REGISTER_DEVEXT(CD4070_GATE, __VA_ARGS__)
+// usage : CD4071_GATE(name, )
+#define CD4071_GATE(...) \
+ NET_REGISTER_DEVEXT(CD4071_GATE, __VA_ARGS__)
+
+// usage : CD4081_GATE(name, )
+#define CD4081_GATE(...) \
+ NET_REGISTER_DEVEXT(CD4081_GATE, __VA_ARGS__)
+
// usage : CD4001_DIP(name, )
#define CD4001_DIP(...) \
NET_REGISTER_DEVEXT(CD4001_DIP, __VA_ARGS__)
@@ -841,6 +849,14 @@
#define CD4070_DIP(...) \
NET_REGISTER_DEVEXT(CD4070_DIP, __VA_ARGS__)
+// usage : CD4071_DIP(name, )
+#define CD4071_DIP(...) \
+ NET_REGISTER_DEVEXT(CD4071_DIP, __VA_ARGS__)
+
+// usage : CD4081_DIP(name, )
+#define CD4081_DIP(...) \
+ NET_REGISTER_DEVEXT(CD4081_DIP, __VA_ARGS__)
+
// usage : CD4006_DIP(name, )
#define CD4006_DIP(...) \
NET_REGISTER_DEVEXT(CD4006_DIP, __VA_ARGS__)
@@ -953,6 +969,10 @@
#define LM324_DIP(...) \
NET_REGISTER_DEVEXT(LM324_DIP, __VA_ARGS__)
+// usage : LM348_DIP(name, )
+#define LM348_DIP(...) \
+ NET_REGISTER_DEVEXT(LM348_DIP, __VA_ARGS__)
+
// usage : LM358_DIP(name, )
#define LM358_DIP(...) \
NET_REGISTER_DEVEXT(LM358_DIP, __VA_ARGS__)
diff --git a/src/lib/netlist/macro/nlm_cd4xxx_lib.cpp b/src/lib/netlist/macro/nlm_cd4xxx_lib.cpp
index ad0ff1fbe5b..35f5cae6374 100644
--- a/src/lib/netlist/macro/nlm_cd4xxx_lib.cpp
+++ b/src/lib/netlist/macro/nlm_cd4xxx_lib.cpp
@@ -642,6 +642,35 @@ static NETLIST_START(CD4070_DIP)
)
NETLIST_END()
+//- Identifier: CD4071_DIP
+//- Title: CD4071BC Quad 2-Input OR Buffered B Series Gate
+//- Pinalias: A,B,J,K,C,D,VSS,E,F,L,M,G,H,VDD
+//- Package: DIP
+//- NamingConvention: Naming conventions follow National Semiconductor datasheet
+//- FunctionTable:
+//- pdf.datasheetcatalog.com/datasheets/185/109289_DS.pdf
+//-
+static NETLIST_START(CD4071_DIP)
+ CD4071_GATE(A)
+ CD4071_GATE(B)
+ CD4071_GATE(C)
+ CD4071_GATE(D)
+
+ NET_C(A.VDD, B.VDD, C.VDD, D.VDD)
+ NET_C(A.VSS, B.VSS, C.VSS, D.VSS)
+
+ DIPPINS( /* +--------------+ */
+ A.A, /* A |1 ++ 14| VDD */ A.VDD,
+ A.B, /* B |2 13| H */ D.B,
+ A.Q, /* J |3 12| G */ D.A,
+ B.Q, /* K |4 4071 11| M */ D.Q,
+ B.A, /* C |5 10| L */ C.Q,
+ B.B, /* D |6 9| F */ C.B,
+ A.VSS, /* VSS |7 8| E */ C.A
+ /* +--------------+ */
+ )
+NETLIST_END()
+
//- Identifier: CD4076_DIP
//- Title: CD4076BM/CD4076BC TRI-STATE(R) Quad D Flip-Flop
//- Pinalias: OD1,OD2,OA,OB,OC,OD,CLK,VSS,ID1,ID2,ID,IC,IB,IA,CLR,VDD
@@ -692,6 +721,35 @@ static NETLIST_START(CD4076_DIP)
)
NETLIST_END()
+//- Identifier: CD4081_DIP
+//- Title: CD4081BC Quad 2-Input AND Buffered B Series Gate
+//- Pinalias: A,B,J,K,C,D,VSS,E,F,L,M,G,H,VDD
+//- Package: DIP
+//- NamingConvention: Naming conventions follow National Semiconductor datasheet
+//- FunctionTable:
+//- pdf.datasheetcatalog.com/datasheets/185/109289_DS.pdf
+//-
+static NETLIST_START(CD4081_DIP)
+ CD4081_GATE(A)
+ CD4081_GATE(B)
+ CD4081_GATE(C)
+ CD4081_GATE(D)
+
+ NET_C(A.VDD, B.VDD, C.VDD, D.VDD)
+ NET_C(A.VSS, B.VSS, C.VSS, D.VSS)
+
+ DIPPINS( /* +--------------+ */
+ A.A, /* A |1 ++ 14| VDD */ A.VDD,
+ A.B, /* B |2 13| H */ D.B,
+ A.Q, /* J |3 12| G */ D.A,
+ B.Q, /* K |4 4081 11| M */ D.Q,
+ B.A, /* C |5 10| L */ C.Q,
+ B.B, /* D |6 9| F */ C.B,
+ A.VSS, /* VSS |7 8| E */ C.A
+ /* +--------------+ */
+ )
+NETLIST_END()
+
//- Identifier: CD4316_DIP
//- Title: 74HC/HCT4316 Quad bilateral switches
//- Pinalias: 1Z,1Y,2Y,2Z,2S,3S,EQ,GND,VEE,3Z,3Y,4Y,4Z,4S,1S,VCC
@@ -797,7 +855,7 @@ static TRUTHTABLE_START(CD4011_GATE, 2, 1, "")
TRUTHTABLE_END()
static TRUTHTABLE_START(CD4030_GATE, 2, 1, "")
- TT_HEAD("A , B | Q ")
+ TT_HEAD("A,B|Q ")
TT_LINE("0,0|0|100")
TT_LINE("0,1|1|100")
TT_LINE("1,0|1|100")
@@ -828,6 +886,24 @@ static TRUTHTABLE_START(CD4070_GATE, 2, 1, "")
TT_FAMILY("CD4XXX")
TRUTHTABLE_END()
+static TRUTHTABLE_START(CD4071_GATE, 2, 1, "")
+ TT_HEAD("A,B|Q ")
+ TT_LINE("0,0|0|200")
+ TT_LINE("0,1|1|200")
+ TT_LINE("1,0|1|200")
+ TT_LINE("1,1|1|200")
+ TT_FAMILY("CD4XXX")
+TRUTHTABLE_END()
+
+static TRUTHTABLE_START(CD4081_GATE, 2, 1, "")
+ TT_HEAD("A,B|Q ")
+ TT_LINE("0,0|0|200")
+ TT_LINE("0,1|0|200")
+ TT_LINE("1,0|0|200")
+ TT_LINE("1,1|1|200")
+ TT_FAMILY("CD4XXX")
+TRUTHTABLE_END()
+
NETLIST_START(cd4xxx_lib)
TRUTHTABLE_ENTRY(CD4001_GATE)
@@ -836,6 +912,8 @@ NETLIST_START(cd4xxx_lib)
TRUTHTABLE_ENTRY(CD4049_GATE)
TRUTHTABLE_ENTRY(CD4069_GATE)
TRUTHTABLE_ENTRY(CD4070_GATE)
+ TRUTHTABLE_ENTRY(CD4071_GATE)
+ TRUTHTABLE_ENTRY(CD4081_GATE)
LOCAL_LIB_ENTRY(CD4001_DIP)
LOCAL_LIB_ENTRY(CD4011_DIP)
@@ -843,6 +921,8 @@ NETLIST_START(cd4xxx_lib)
LOCAL_LIB_ENTRY(CD4049_DIP)
LOCAL_LIB_ENTRY(CD4069_DIP)
LOCAL_LIB_ENTRY(CD4070_DIP)
+ LOCAL_LIB_ENTRY(CD4071_DIP)
+ LOCAL_LIB_ENTRY(CD4081_DIP)
/* DIP ONLY */
LOCAL_LIB_ENTRY(CD4006_DIP)
diff --git a/src/lib/netlist/macro/nlm_opamp_lib.cpp b/src/lib/netlist/macro/nlm_opamp_lib.cpp
index 0d1a77a87b8..db5fba1888c 100644
--- a/src/lib/netlist/macro/nlm_opamp_lib.cpp
+++ b/src/lib/netlist/macro/nlm_opamp_lib.cpp
@@ -353,6 +353,16 @@ static NETLIST_START(LM2902_DIP)
NETLIST_END()
+static NETLIST_START(LM348_DIP)
+ OPAMP(A, "UA741")
+ OPAMP(B, "UA741")
+ OPAMP(C, "UA741")
+ OPAMP(D, "UA741")
+
+ INCLUDE(opamp_layout_4_4_11)
+
+NETLIST_END()
+
static NETLIST_START(LM358_DIP)
OPAMP(A, "LM358")
OPAMP(B, "LM358")
@@ -632,6 +642,7 @@ NETLIST_START(opamp_lib)
LOCAL_LIB_ENTRY(TL082_DIP)
LOCAL_LIB_ENTRY(TL084_DIP)
LOCAL_LIB_ENTRY(LM324_DIP)
+ LOCAL_LIB_ENTRY(LM348_DIP)
LOCAL_LIB_ENTRY(LM358_DIP)
LOCAL_LIB_ENTRY(LM2902_DIP)
LOCAL_LIB_ENTRY(UA741_DIP8)