summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2020-08-01 17:07:31 -0700
committer Aaron Giles <aaron@aarongiles.com>2020-08-01 17:07:31 -0700
commitf48115e9e4b9fbc17ae04e0eb20c9294a2c8081c (patch)
tree2e7db62ad9ed07ffcebe5c238edd9be9030ccfb9
parent22d1eb505ae1cc306775d0b5b7d5b5ee475fbab2 (diff)
Macro-ized 7483 DIP
-rw-r--r--src/lib/netlist/devices/net_lib.cpp1
-rw-r--r--src/lib/netlist/devices/nld_7483.cpp30
-rw-r--r--src/lib/netlist/devices/nld_7483.h19
-rw-r--r--src/lib/netlist/devices/nld_devinc.h48
-rw-r--r--src/lib/netlist/macro/nlm_ttl74xx.cpp32
-rw-r--r--src/lib/netlist/macro/nlm_ttl74xx.h3
6 files changed, 62 insertions, 71 deletions
diff --git a/src/lib/netlist/devices/net_lib.cpp b/src/lib/netlist/devices/net_lib.cpp
index 460d129dff1..500f7a170f1 100644
--- a/src/lib/netlist/devices/net_lib.cpp
+++ b/src/lib/netlist/devices/net_lib.cpp
@@ -80,7 +80,6 @@ namespace devices
LIB_ENTRY(7475_GATE)
LIB_ENTRY(7477_GATE)
LIB_ENTRY(7483)
- LIB_ENTRY(7483_dip)
LIB_ENTRY(7485)
LIB_ENTRY(7485_dip)
LIB_ENTRY(7490)
diff --git a/src/lib/netlist/devices/nld_7483.cpp b/src/lib/netlist/devices/nld_7483.cpp
index a38c6123e7d..6f9eb3353d9 100644
--- a/src/lib/netlist/devices/nld_7483.cpp
+++ b/src/lib/netlist/devices/nld_7483.cpp
@@ -40,7 +40,6 @@ namespace netlist
m_lastr = 0;
}
- friend class NETLIB_NAME(7483_dip);
private:
NETLIB_HANDLERI(c0)
{
@@ -92,36 +91,7 @@ namespace netlist
nld_power_pins m_power_pins;
};
- NETLIB_OBJECT(7483_dip)
- {
- NETLIB_CONSTRUCTOR(7483_dip)
- , A(*this, "A")
- {
- register_subalias("1", A.m_A4);
- register_subalias("2", A.m_S3);
- register_subalias("3", A.m_A3);
- register_subalias("4", A.m_B3);
- register_subalias("5", "A.VCC");
- register_subalias("6", A.m_S2);
- register_subalias("7", A.m_B2);
- register_subalias("8", A.m_A2);
-
- register_subalias("9", A.m_S1);
- register_subalias("10", A.m_A1);
- register_subalias("11", A.m_B1);
- register_subalias("12", "A.GND");
- register_subalias("13", A.m_C0);
- register_subalias("14", A.m_C4);
- register_subalias("15", A.m_S4);
- register_subalias("16", A.m_B4);
- }
- //NETLIB_RESETI() {}
- private:
- NETLIB_SUB(7483) A;
- };
-
NETLIB_DEVICE_IMPL(7483, "TTL_7483", "+A1,+A2,+A3,+A4,+B1,+B2,+B3,+B4,+C0,@VCC,@GND")
- NETLIB_DEVICE_IMPL(7483_dip, "TTL_7483_DIP", "")
} //namespace devices
} // namespace netlist
diff --git a/src/lib/netlist/devices/nld_7483.h b/src/lib/netlist/devices/nld_7483.h
index fba46f32457..32aede92ec6 100644
--- a/src/lib/netlist/devices/nld_7483.h
+++ b/src/lib/netlist/devices/nld_7483.h
@@ -29,21 +29,8 @@
#include "netlist/nl_setup.h"
-#define TTL_7483(name, cA1, cA2, cA3, cA4, cB1, cB2, cB3, cB4, cCI) \
- NET_REGISTER_DEV(TTL_7483, name) \
- NET_CONNECT(name, GND, GND) \
- NET_CONNECT(name, VCC, VCC) \
- NET_CONNECT(name, A1, cA1) \
- NET_CONNECT(name, A2, cA2) \
- NET_CONNECT(name, A3, cA3) \
- NET_CONNECT(name, A4, cA4) \
- NET_CONNECT(name, B1, cB1) \
- NET_CONNECT(name, B2, cB2) \
- NET_CONNECT(name, B3, cB3) \
- NET_CONNECT(name, B4, cB4) \
- NET_CONNECT(name, C0, cCI)
-
-#define TTL_7483_DIP(name) \
- NET_REGISTER_DEV(TTL_7483_DIP, name)
+// usage: TTL_7483(name, cA1, cA2, cA3, cA4, cB1, cB2, cB3, cB4, cCI)
+#define TTL_7483(...) \
+ NET_REGISTER_DEVEXT(TTL_7483, __VA_ARGS__)
#endif /* NLD_7483_H_ */
diff --git a/src/lib/netlist/devices/nld_devinc.h b/src/lib/netlist/devices/nld_devinc.h
index 371bdb6f59b..f5f6e31d434 100644
--- a/src/lib/netlist/devices/nld_devinc.h
+++ b/src/lib/netlist/devices/nld_devinc.h
@@ -252,10 +252,6 @@
#define TTL_7450_ANDORINVERT(...) \
NET_REGISTER_DEVEXT(TTL_7450_ANDORINVERT, __VA_ARGS__)
-// usage : TTL_7450_DIP(name)
-#define TTL_7450_DIP(...) \
- NET_REGISTER_DEVEXT(TTL_7450_DIP, __VA_ARGS__)
-
// ---------------------------------------------------------------------
// Source: src/lib/netlist/devices/nld_7473.cpp
// ---------------------------------------------------------------------
@@ -264,19 +260,11 @@
#define TTL_7473(...) \
NET_REGISTER_DEVEXT(TTL_7473, __VA_ARGS__)
-// usage : TTL_7473_DIP(name)
-#define TTL_7473_DIP(...) \
- NET_REGISTER_DEVEXT(TTL_7473_DIP, __VA_ARGS__)
-
// usage : TTL_7473A(name, pCLK, pJ, pK, pCLRQ)
// auto connect: VCC, GND
#define TTL_7473A(...) \
NET_REGISTER_DEVEXT(TTL_7473A, __VA_ARGS__)
-// usage : TTL_7473A_DIP(name)
-#define TTL_7473A_DIP(...) \
- NET_REGISTER_DEVEXT(TTL_7473A_DIP, __VA_ARGS__)
-
// ---------------------------------------------------------------------
// Source: src/lib/netlist/devices/nld_7474.cpp
// ---------------------------------------------------------------------
@@ -296,18 +284,10 @@
#define TTL_7475(...) \
NET_REGISTER_DEVEXT(TTL_7475, __VA_ARGS__)
-// usage : TTL_7475_DIP(name)
-#define TTL_7475_DIP(...) \
- NET_REGISTER_DEVEXT(TTL_7475_DIP, __VA_ARGS__)
-
// usage : TTL_7477(name)
#define TTL_7477(...) \
NET_REGISTER_DEVEXT(TTL_7477, __VA_ARGS__)
-// usage : TTL_7477_DIP(name)
-#define TTL_7477_DIP(...) \
- NET_REGISTER_DEVEXT(TTL_7477_DIP, __VA_ARGS__)
-
// ---------------------------------------------------------------------
// Source: src/lib/netlist/devices/nld_7483.cpp
// ---------------------------------------------------------------------
@@ -316,10 +296,6 @@
#define TTL_7483(...) \
NET_REGISTER_DEVEXT(TTL_7483, __VA_ARGS__)
-// usage : TTL_7483_DIP(name)
-#define TTL_7483_DIP(...) \
- NET_REGISTER_DEVEXT(TTL_7483_DIP, __VA_ARGS__)
-
// ---------------------------------------------------------------------
// Source: src/lib/netlist/devices/nld_7485.cpp
// ---------------------------------------------------------------------
@@ -1027,6 +1003,30 @@
#define TTL_7448_DIP(...) \
NET_REGISTER_DEVEXT(TTL_7448_DIP, __VA_ARGS__)
+// usage : TTL_7450_DIP(name)
+#define TTL_7450_DIP(...) \
+ NET_REGISTER_DEVEXT(TTL_7450_DIP, __VA_ARGS__)
+
+// usage : TTL_7473_DIP(name)
+#define TTL_7473_DIP(...) \
+ NET_REGISTER_DEVEXT(TTL_7473_DIP, __VA_ARGS__)
+
+// usage : TTL_7473A_DIP(name)
+#define TTL_7473A_DIP(...) \
+ NET_REGISTER_DEVEXT(TTL_7473A_DIP, __VA_ARGS__)
+
+// usage : TTL_7475_DIP(name)
+#define TTL_7475_DIP(...) \
+ NET_REGISTER_DEVEXT(TTL_7475_DIP, __VA_ARGS__)
+
+// usage : TTL_7477_DIP(name)
+#define TTL_7477_DIP(...) \
+ NET_REGISTER_DEVEXT(TTL_7477_DIP, __VA_ARGS__)
+
+// usage : TTL_7483_DIP(name)
+#define TTL_7483_DIP(...) \
+ NET_REGISTER_DEVEXT(TTL_7483_DIP, __VA_ARGS__)
+
// usage : TTL_7486_GATE(name)
#define TTL_7486_GATE(...) \
NET_REGISTER_DEVEXT(TTL_7486_GATE, __VA_ARGS__)
diff --git a/src/lib/netlist/macro/nlm_ttl74xx.cpp b/src/lib/netlist/macro/nlm_ttl74xx.cpp
index 2690e9cad5f..6b410a77cea 100644
--- a/src/lib/netlist/macro/nlm_ttl74xx.cpp
+++ b/src/lib/netlist/macro/nlm_ttl74xx.cpp
@@ -871,6 +871,37 @@ static NETLIST_START(TTL_7477_DIP)
NETLIST_END()
/*
+ * DM7483: 4-Bit Binary Adder with Fast Carry
+ *
+ * +--------------+
+ * A4 |1 ++ 16| B4
+ * S3 |2 15| S4
+ * A3 |3 14| C4
+ * B3 |4 7483 13| C0
+ * VCC |5 12| GND
+ * S2 |6 11| B1
+ * B2 |7 10| A1
+ * A2 |8 9| S1
+ * +--------------+
+ */
+
+static NETLIST_START(TTL_7483_DIP)
+ TTL_7483(A)
+
+ DIPPINS( /* +--------------+ */
+ A.A4, /* A4 |1 ++ 16| B4 */ A.B4,
+ A.S3, /* S3 |2 15| S4 */ A.S4,
+ A.A3, /* A3 |3 14| C4 */ A.C4,
+ A.B3, /* B3 |4 7483 13| C0 */ A.C0,
+ A.VCC, /* VCC |5 12| GND */ A.GND,
+ A.S2, /* S2 |6 11| B1 */ A.B1,
+ A.B2, /* B2 |7 10| A1 */ A.A1,
+ A.A2, /* A2 |8 9| S1 */ A.S1
+ /* +--------------+ */
+ )
+NETLIST_END()
+
+/*
* DM7486: Quad 2-Input Exclusive-OR Gates
*
* Y = A+B
@@ -2219,6 +2250,7 @@ NETLIST_START(TTL74XX_lib)
LOCAL_LIB_ENTRY(TTL_7474_DIP)
LOCAL_LIB_ENTRY(TTL_7475_DIP)
LOCAL_LIB_ENTRY(TTL_7477_DIP)
+ LOCAL_LIB_ENTRY(TTL_7483_DIP)
LOCAL_LIB_ENTRY(TTL_7486_DIP)
LOCAL_LIB_ENTRY(TTL_74121_DIP)
LOCAL_LIB_ENTRY(TTL_74123_DIP)
diff --git a/src/lib/netlist/macro/nlm_ttl74xx.h b/src/lib/netlist/macro/nlm_ttl74xx.h
index 97b1fe8dbcd..2869c0ae911 100644
--- a/src/lib/netlist/macro/nlm_ttl74xx.h
+++ b/src/lib/netlist/macro/nlm_ttl74xx.h
@@ -284,6 +284,9 @@
#define TTL_7477_DIP(name) \
NET_REGISTER_DEV(TTL_7477_DIP, name)
+#define TTL_7483_DIP(name) \
+ NET_REGISTER_DEV(TTL_7483_DIP, name)
+
#define TTL_7486_GATE(name) \
NET_REGISTER_DEV(TTL_7486_GATE, name)