summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2020-08-02 01:25:38 -0700
committer couriersud <couriersud@gmx.org>2020-08-02 12:41:27 +0200
commit88c4e1d76ac70e0cbfc74e497e96a4bcfba64a5a (patch)
tree8fedcaeb12386833ca34c6792f78bc0691548e3f
parent90e4d6410a4e01c1952298a43cb45af7556f6444 (diff)
netlist: Macro-ized 74166 DIPs
-rw-r--r--src/lib/netlist/devices/net_lib.cpp1
-rw-r--r--src/lib/netlist/devices/nld_74166.cpp29
-rw-r--r--src/lib/netlist/devices/nld_74166.h23
-rw-r--r--src/lib/netlist/devices/nld_devinc.h8
-rw-r--r--src/lib/netlist/macro/nlm_ttl74xx.cpp32
-rw-r--r--src/lib/netlist/macro/nlm_ttl74xx.h3
6 files changed, 42 insertions, 54 deletions
diff --git a/src/lib/netlist/devices/net_lib.cpp b/src/lib/netlist/devices/net_lib.cpp
index df18a3ac7cf..792be66b292 100644
--- a/src/lib/netlist/devices/net_lib.cpp
+++ b/src/lib/netlist/devices/net_lib.cpp
@@ -102,7 +102,6 @@ namespace devices
LIB_ENTRY(74164)
LIB_ENTRY(74165)
LIB_ENTRY(74166)
- LIB_ENTRY(74166_dip)
LIB_ENTRY(74174)
LIB_ENTRY(74175)
LIB_ENTRY(74192)
diff --git a/src/lib/netlist/devices/nld_74166.cpp b/src/lib/netlist/devices/nld_74166.cpp
index d8da82a1e7a..ebe911662bc 100644
--- a/src/lib/netlist/devices/nld_74166.cpp
+++ b/src/lib/netlist/devices/nld_74166.cpp
@@ -100,36 +100,7 @@ namespace netlist
nld_power_pins m_power_pins;
};
- NETLIB_OBJECT(74166_dip)
- {
- NETLIB_CONSTRUCTOR(74166_dip)
- , A(*this, "A")
- {
- register_subalias("1", A.m_SER);
- register_subalias("2", A.m_DATA[7]);
- register_subalias("3", A.m_DATA[6]);
- register_subalias("4", A.m_DATA[5]);
- register_subalias("5", A.m_DATA[4]);
- register_subalias("6", A.m_CLKINH);
- register_subalias("7", A.m_CLK);
- register_subalias("8", "A.GND");
-
- register_subalias("9", A.m_CLRQ);
- register_subalias("10", A.m_DATA[3]);
- register_subalias("11", A.m_DATA[2]);
- register_subalias("12", A.m_DATA[1]);
- register_subalias("13", A.m_QH);
- register_subalias("14", A.m_DATA[0]);
- register_subalias("15", A.m_SH_LDQ);
- register_subalias("16", "A.VCC");
- }
- //NETLIB_RESETI() {}
- private:
- NETLIB_SUB(74166) A;
- };
-
NETLIB_DEVICE_IMPL(74166, "TTL_74166", "+CLK,+CLKINH,+SH_LDQ,+SER,+A,+B,+C,+D,+E,+F,+G,+H,+CLRQ,@VCC,@GND")
- NETLIB_DEVICE_IMPL(74166_dip,"TTL_74166_DIP", "")
} //namespace devices
} // namespace netlist
diff --git a/src/lib/netlist/devices/nld_74166.h b/src/lib/netlist/devices/nld_74166.h
index be9cb7fdc4c..fa001e4c6a2 100644
--- a/src/lib/netlist/devices/nld_74166.h
+++ b/src/lib/netlist/devices/nld_74166.h
@@ -29,25 +29,8 @@
#include "netlist/nl_setup.h"
-#define TTL_74166(name, cCLK, cCLKINH, cSH_LDQ, cSER, cA, cB, cC, cD, cE, cF, cG, cH, cCLRQ) \
- NET_REGISTER_DEV(TTL_74166, name) \
- NET_CONNECT(name, GND, GND) \
- NET_CONNECT(name, VCC, VCC) \
- NET_CONNECT(name, CLK, cCLK) \
- NET_CONNECT(name, CLKINH, cCLKINH) \
- NET_CONNECT(name, SH_LDQ, cSH_LDQ) \
- NET_CONNECT(name, SER, cSER) \
- NET_CONNECT(name, A, cA) \
- NET_CONNECT(name, B, cB) \
- NET_CONNECT(name, C, cC) \
- NET_CONNECT(name, D, cD) \
- NET_CONNECT(name, E, cE) \
- NET_CONNECT(name, F, cF) \
- NET_CONNECT(name, G, cG) \
- NET_CONNECT(name, H, cH) \
- NET_CONNECT(name, CLRQ, cCLRQ)
-
-#define TTL_74166_DIP(name) \
- NET_REGISTER_DEV(TTL_74166_DIP, name)
+// usage: TTL_74166(name, cCLK, cCLKINH, cSH_LDQ, cSER, cA, cB, cC, cD, cE, cF, cG, cH, cCLRQ)
+#define TTL_74166(...) \
+ NET_REGISTER_DEVEXT(TTL_74166, __VA_ARGS__)
#endif /* NLD_74166_H_ */
diff --git a/src/lib/netlist/devices/nld_devinc.h b/src/lib/netlist/devices/nld_devinc.h
index e9a6e51ccb5..d94c1520dc2 100644
--- a/src/lib/netlist/devices/nld_devinc.h
+++ b/src/lib/netlist/devices/nld_devinc.h
@@ -437,10 +437,6 @@
#define TTL_74166(...) \
NET_REGISTER_DEVEXT(TTL_74166, __VA_ARGS__)
-// usage : TTL_74166_DIP(name)
-#define TTL_74166_DIP(...) \
- NET_REGISTER_DEVEXT(TTL_74166_DIP, __VA_ARGS__)
-
// ---------------------------------------------------------------------
// Source: src/lib/netlist/devices/nld_74174.cpp
// ---------------------------------------------------------------------
@@ -1035,6 +1031,10 @@
#define TTL_74165_DIP(...) \
NET_REGISTER_DEVEXT(TTL_74165_DIP, __VA_ARGS__)
+// usage : TTL_74165_DIP(name)
+#define TTL_74166_DIP(...) \
+ NET_REGISTER_DEVEXT(TTL_74166_DIP, __VA_ARGS__)
+
// usage : TTL_74260_GATE(name)
#define TTL_74260_GATE(...) \
NET_REGISTER_DEVEXT(TTL_74260_GATE, __VA_ARGS__)
diff --git a/src/lib/netlist/macro/nlm_ttl74xx.cpp b/src/lib/netlist/macro/nlm_ttl74xx.cpp
index 6525d5ddfb6..f53e726bfd3 100644
--- a/src/lib/netlist/macro/nlm_ttl74xx.cpp
+++ b/src/lib/netlist/macro/nlm_ttl74xx.cpp
@@ -1733,6 +1733,37 @@ static NETLIST_START(TTL_74165_DIP)
NETLIST_END()
/*
+ * 74166: Parallel-Load 8-Bit Shift Register
+ *
+ * +--------------+
+ * SER |1 ++ 16| VCC
+ * A |2 15| SH/LDQ
+ * B |3 14| H
+ * C |4 74166 13| QH
+ * D |5 12| G
+ * CLKINH |6 11| F
+ * CLK |7 10| E
+ * GND |8 9| CLRQ
+ * +--------------+
+ */
+
+static NETLIST_START(TTL_74166_DIP)
+ TTL_74166(A)
+
+ DIPPINS( /* +--------------+ */
+ A.SER, /* SER |1 ++ 16| VCC */ A.VCC,
+ A.A, /* A |2 15| SH/LDQ */ A.SH_LDQ,
+ A.B, /* B |3 14| H */ A.H,
+ A.C, /* C |4 74166 13| QH */ A.QH,
+ A.D, /* D |5 12| G */ A.G,
+ A.CLKINH, /* CLKINH |6 11| F */ A.F,
+ A.CLK, /* CLK |7 10| E */ A.E,
+ A.GND, /* GND |8 9| CLRQ */ A.CLRQ
+ /* +--------------+ */
+ )
+NETLIST_END()
+
+/*
* DM74260: Dual 5-Input NOR Gates
* _________
* Y = A+B+C+D+E
@@ -2745,6 +2776,7 @@ NETLIST_START(TTL74XX_lib)
LOCAL_LIB_ENTRY(TTL_74163_DIP)
LOCAL_LIB_ENTRY(TTL_74164_DIP)
LOCAL_LIB_ENTRY(TTL_74165_DIP)
+ LOCAL_LIB_ENTRY(TTL_74166_DIP)
LOCAL_LIB_ENTRY(TTL_74260_DIP)
LOCAL_LIB_ENTRY(TTL_74279_DIP)
LOCAL_LIB_ENTRY(TTL_74377_DIP)
diff --git a/src/lib/netlist/macro/nlm_ttl74xx.h b/src/lib/netlist/macro/nlm_ttl74xx.h
index 082ec43d53f..38992909e7b 100644
--- a/src/lib/netlist/macro/nlm_ttl74xx.h
+++ b/src/lib/netlist/macro/nlm_ttl74xx.h
@@ -369,6 +369,9 @@
#define TTL_74165_DIP(name) \
NET_REGISTER_DEV(TTL_74165_DIP, name)
+#define TTL_74166_DIP(name) \
+ NET_REGISTER_DEV(TTL_74166_DIP, name)
+
#define TTL_74260_GATE(name) \
NET_REGISTER_DEV(TTL_74260_GATE, name)