summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2020-08-02 12:36:55 +0200
committer couriersud <couriersud@gmx.org>2020-08-02 12:41:25 +0200
commit8fff0b57ab9ea05c2ad303845bac957e3c7c473f (patch)
treefe05da248529dd86abfb867e23cc757ee0013bb8
parent2347096a88ef2a93cdc4a5fa40974c4339288a97 (diff)
netlist: Macro-ized 74153 DIPs
-rw-r--r--src/lib/netlist/devices/net_lib.cpp1
-rw-r--r--src/lib/netlist/devices/nld_74153.cpp39
-rw-r--r--src/lib/netlist/devices/nld_74153.h17
-rw-r--r--src/lib/netlist/devices/nld_devinc.h8
-rw-r--r--src/lib/netlist/macro/nlm_ttl74xx.cpp40
-rw-r--r--src/lib/netlist/macro/nlm_ttl74xx.h3
6 files changed, 50 insertions, 58 deletions
diff --git a/src/lib/netlist/devices/net_lib.cpp b/src/lib/netlist/devices/net_lib.cpp
index 97f5a5115b4..ced23e1c4cd 100644
--- a/src/lib/netlist/devices/net_lib.cpp
+++ b/src/lib/netlist/devices/net_lib.cpp
@@ -96,7 +96,6 @@ namespace devices
LIB_ENTRY(74125)
LIB_ENTRY(74126)
LIB_ENTRY(74153)
- LIB_ENTRY(74153_dip)
LIB_ENTRY(74161)
LIB_ENTRY(74161_fixme)
LIB_ENTRY(74163)
diff --git a/src/lib/netlist/devices/nld_74153.cpp b/src/lib/netlist/devices/nld_74153.cpp
index 80b460ef52b..09602abd2f8 100644
--- a/src/lib/netlist/devices/nld_74153.cpp
+++ b/src/lib/netlist/devices/nld_74153.cpp
@@ -69,46 +69,7 @@ namespace devices
nld_power_pins m_power_pins;
};
- NETLIB_OBJECT(74153_dip)
- {
- NETLIB_CONSTRUCTOR(74153_dip)
- , m_A(*this, "A")
- , m_B(*this, "B")
- {
- register_subalias("1", m_A.m_G);
- register_subalias("2", m_A.m_B);
- register_subalias("3", m_A.m_C[3]);
- register_subalias("4", m_A.m_C[2]);
- register_subalias("5", m_A.m_C[1]);
- register_subalias("6", m_A.m_C[0]);
- register_subalias("7", m_A.m_Y);
- register_subalias("8", "A.GND");
-
- register_subalias("9", m_B.m_Y);
- register_subalias("10", m_B.m_C[0]);
- register_subalias("11", m_B.m_C[1]);
- register_subalias("12", m_B.m_C[2]);
- register_subalias("13", m_B.m_C[3]);
- register_subalias("14", m_A.m_A);
-
- register_subalias("15", m_B.m_G);
- register_subalias("16", "A.VCC");
-
- connect("A.GND", "B.GND");
- connect("A.VCC", "B.VCC");
- connect(m_A.m_A, m_B.m_A);
- connect(m_A.m_B, m_B.m_B);
- }
- //NETLIB_RESETI();
- //NETLIB_UPDATEI();
-
- protected:
- NETLIB_SUB(74153) m_A;
- NETLIB_SUB(74153) m_B;
- };
-
NETLIB_DEVICE_IMPL(74153, "TTL_74153", "+C0,+C1,+C2,+C3,+A,+B,+G,@VCC,@GND")
- NETLIB_DEVICE_IMPL(74153_dip, "TTL_74153_DIP", "")
} //namespace devices
} // namespace netlist
diff --git a/src/lib/netlist/devices/nld_74153.h b/src/lib/netlist/devices/nld_74153.h
index 996ca5931af..4a0e24d1aa3 100644
--- a/src/lib/netlist/devices/nld_74153.h
+++ b/src/lib/netlist/devices/nld_74153.h
@@ -47,19 +47,8 @@
#include "netlist/nl_setup.h"
-#define TTL_74153(name, cC0, cC1, cC2, cC3, cA, cB, cG) \
- NET_REGISTER_DEV(TTL_74153, name) \
- NET_CONNECT(name, GND, GND) \
- NET_CONNECT(name, VCC, VCC) \
- NET_CONNECT(name, C0, cC0) \
- NET_CONNECT(name, C1, cC1) \
- NET_CONNECT(name, C2, cC2) \
- NET_CONNECT(name, C3, cC3) \
- NET_CONNECT(name, A, cA) \
- NET_CONNECT(name, B, cB) \
- NET_CONNECT(name, G, cG)
-
-#define TTL_74153_DIP(name) \
- NET_REGISTER_DEV(TTL_74153_DIP, name)
+// usage: TTL_74153(name, cC0, cC1, cC2, cC3, cA, cB, cG)
+#define TTL_74153(...) \
+ NET_REGISTER_DEVEXT(TTL_74153, __VA_ARGS__)
#endif /* NLD_74153_H_ */
diff --git a/src/lib/netlist/devices/nld_devinc.h b/src/lib/netlist/devices/nld_devinc.h
index 9653c1e2d53..ec006f08ce4 100644
--- a/src/lib/netlist/devices/nld_devinc.h
+++ b/src/lib/netlist/devices/nld_devinc.h
@@ -392,10 +392,6 @@
#define TTL_74153(...) \
NET_REGISTER_DEVEXT(TTL_74153, __VA_ARGS__)
-// usage : TTL_74153_DIP(name)
-#define TTL_74153_DIP(...) \
- NET_REGISTER_DEVEXT(TTL_74153_DIP, __VA_ARGS__)
-
// ---------------------------------------------------------------------
// Source: src/lib/netlist/devices/nld_74161.cpp
// ---------------------------------------------------------------------
@@ -1176,6 +1172,10 @@
#define TTL_74126_DIP(...) \
NET_REGISTER_DEVEXT(TTL_74126_DIP, __VA_ARGS__)
+// usage : TTL_74153_DIP(name)
+#define TTL_74153_DIP(...) \
+ NET_REGISTER_DEVEXT(TTL_74153_DIP, __VA_ARGS__)
+
// usage : TTL_74155_DIP(name)
#define TTL_74155_DIP(...) \
NET_REGISTER_DEVEXT(TTL_74155_DIP, __VA_ARGS__)
diff --git a/src/lib/netlist/macro/nlm_ttl74xx.cpp b/src/lib/netlist/macro/nlm_ttl74xx.cpp
index 3384a085519..b8b659862a8 100644
--- a/src/lib/netlist/macro/nlm_ttl74xx.cpp
+++ b/src/lib/netlist/macro/nlm_ttl74xx.cpp
@@ -1470,6 +1470,45 @@ static NETLIST_START(TTL_74126_DIP)
NETLIST_END()
/*
+ * DM74153: Dual 4-Line to 1-Line Data Selectors Multiplexers
+ *
+ * +--------------+
+ * G1 |1 ++ 16| VCC
+ * B |2 15| G2
+ * 1C3 |3 14| A
+ * 1C2 |4 74153 13| 2C3
+ * 1C1 |5 12| 2C2
+ * 1C0 |6 11| 2C1
+ * Y1 |7 10| 2C0
+ * GND |8 9| Y2
+ * +--------------+
+ *
+ */
+
+static NETLIST_START(TTL_74153_DIP)
+ NET_REGISTER_DEV(TTL_74153, A)
+ NET_REGISTER_DEV(TTL_74153, B)
+
+ NET_C(A.VCC, B.VCC)
+ NET_C(A.GND, B.GND)
+
+ NET_C(A.A, B.A)
+ NET_C(A.B, B.B)
+
+ DIPPINS( /* +--------------+ */
+ A.G, /* G1 |1 ++ 16| VCC */ A.VCC,
+ A.B, /* B |2 15| G2 */ B.G,
+ A.C3, /* 1C3 |3 14| A */ A.A,
+ A.C2, /* 1C2 |4 74153 13| 2C3 */ B.C3,
+ A.C1, /* 1C1 |5 12| 2C2 */ B.C2,
+ A.C0, /* 1C0 |6 11| 2C1 */ B.C1,
+ A.AY, /* Y1 |7 10| 2C0 */ B.C0,
+ A.GND, /* GND |8 9| Y2 */ B.AY
+ /* +--------------+ */
+ )
+NETLIST_END()
+
+/*
* DM74155/DM74156: Dual 2-Line to 4-Line Decoders/Demultiplexers
*
* +-----+-------++-----------------+
@@ -2638,6 +2677,7 @@ NETLIST_START(TTL74XX_lib)
LOCAL_LIB_ENTRY(TTL_9602_DIP)
LOCAL_LIB_ENTRY(TTL_74125_DIP)
LOCAL_LIB_ENTRY(TTL_74126_DIP)
+ LOCAL_LIB_ENTRY(TTL_74153_DIP)
LOCAL_LIB_ENTRY(TTL_74155_DIP)
LOCAL_LIB_ENTRY(TTL_74156_DIP)
LOCAL_LIB_ENTRY(TTL_74157_DIP)
diff --git a/src/lib/netlist/macro/nlm_ttl74xx.h b/src/lib/netlist/macro/nlm_ttl74xx.h
index 2562d83b5c1..7cbba50938a 100644
--- a/src/lib/netlist/macro/nlm_ttl74xx.h
+++ b/src/lib/netlist/macro/nlm_ttl74xx.h
@@ -345,6 +345,9 @@
#define TTL_74125_DIP(name) \
NET_REGISTER_DEV(TTL_74125_DIP, name)
+#define TTL_74153_DIP(name) \
+ NET_REGISTER_DEV(TTL_74153_DIP, name)
+
#define TTL_74155_DIP(name) \
NET_REGISTER_DEV(TTL_74155_DIP, name)