summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author couriersud <couriersud@arcor.de>2016-05-05 14:53:45 +0200
committer couriersud <couriersud@arcor.de>2016-05-05 15:18:37 +0200
commitadd61d2a00afcd3ba1a06e4eaec258cd625e5808 (patch)
tree141b5ac5b81829c3137c0242ac7779c111dc498a /src
parent38d3050da0bae4e1ea6209e789ec5002be9da447 (diff)
Convert 7430 to macro module.
Diffstat (limited to 'src')
-rw-r--r--src/lib/netlist/devices/net_lib.cpp2
-rw-r--r--src/lib/netlist/devices/net_lib.h1
-rw-r--r--src/lib/netlist/devices/nld_7430.cpp59
-rw-r--r--src/lib/netlist/devices/nld_7430.h75
-rw-r--r--src/lib/netlist/macro/nlm_ttl74xx.cpp69
-rw-r--r--src/lib/netlist/macro/nlm_ttl74xx.h18
6 files changed, 87 insertions, 137 deletions
diff --git a/src/lib/netlist/devices/net_lib.cpp b/src/lib/netlist/devices/net_lib.cpp
index 2a9dbf9a460..8bfc17be643 100644
--- a/src/lib/netlist/devices/net_lib.cpp
+++ b/src/lib/netlist/devices/net_lib.cpp
@@ -98,7 +98,6 @@ void initialize_factory(factory_list_t &factory)
ENTRY(switch2, SWITCH2, "-")
ENTRY(nicRSFF, NETDEV_RSFF, "+S,R")
ENTRY(nicDelay, NETDEV_DELAY, "-")
- ENTRY(7430, TTL_7430_NAND, "+A,B,C,D,E,F,G,H")
ENTRY(7450, TTL_7450_ANDORINVERT, "+A,B,C,D")
ENTRY(7486, TTL_7486_XOR, "+A,B")
ENTRY(7448, TTL_7448, "+A,B,C,D,LTQ,BIQ,RBIQ")
@@ -127,7 +126,6 @@ void initialize_factory(factory_list_t &factory)
ENTRY(NE555, NE555, "-")
ENTRY(r2r_dac, R2R_DAC, "+VIN,R,N")
ENTRY(4538_dip, CD4538_DIP, "-")
- ENTRY(7430_dip, TTL_7430_DIP, "-")
ENTRY(7448_dip, TTL_7448_DIP, "-")
ENTRY(7450_dip, TTL_7450_DIP, "-")
ENTRY(7474_dip, TTL_7474_DIP, "-")
diff --git a/src/lib/netlist/devices/net_lib.h b/src/lib/netlist/devices/net_lib.h
index e40642138f9..748f78c2c8c 100644
--- a/src/lib/netlist/devices/net_lib.h
+++ b/src/lib/netlist/devices/net_lib.h
@@ -16,7 +16,6 @@
#include "nld_4020.h"
#include "nld_4066.h"
-#include "nld_7430.h"
#include "nld_7448.h"
#include "nld_7450.h"
#include "nld_7474.h"
diff --git a/src/lib/netlist/devices/nld_7430.cpp b/src/lib/netlist/devices/nld_7430.cpp
deleted file mode 100644
index 29a9e048ba9..00000000000
--- a/src/lib/netlist/devices/nld_7430.cpp
+++ /dev/null
@@ -1,59 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-/*
- * nld_7430.c
- *
- */
-
-#include "nld_7430.h"
-
-NETLIB_NAMESPACE_DEVICES_START()
-
-#if (USE_TRUTHTABLE)
-nld_7430::truthtable_t nld_7430::m_ttbl;
-const char *nld_7430::m_desc[] = {
- "A,B,C,D,E,F,G,H|Q ",
- "0,X,X,X,X,X,X,X|1|22",
- "X,0,X,X,X,X,X,X|1|22",
- "X,X,0,X,X,X,X,X|1|22",
- "X,X,X,0,X,X,X,X|1|22",
- "X,X,X,X,0,X,X,X|1|22",
- "X,X,X,X,X,0,X,X|1|22",
- "X,X,X,X,X,X,0,X|1|22",
- "X,X,X,X,X,X,X,0|1|22",
- "1,1,1,1,1,1,1,1|0|15",
- ""
-};
-
-#endif
-
-
-NETLIB_START(7430_dip)
-{
- register_sub("1", m_1);
-
- register_subalias("1", m_1->m_I[0]);
- register_subalias("2", m_1->m_I[1]);
- register_subalias("3", m_1->m_I[2]);
- register_subalias("4", m_1->m_I[3]);
- register_subalias("5", m_1->m_I[4]);
- register_subalias("6", m_1->m_I[5]);
-
- register_subalias("8", m_1->m_Q[0]);
-
- register_subalias("11", m_1->m_I[6]);
- register_subalias("12", m_1->m_I[7]);
-}
-
-NETLIB_UPDATE(7430_dip)
-{
- /* only called during startup */
- m_1->update_dev();
-}
-
-NETLIB_RESET(7430_dip)
-{
- m_1->do_reset();
-}
-
-NETLIB_NAMESPACE_DEVICES_END()
diff --git a/src/lib/netlist/devices/nld_7430.h b/src/lib/netlist/devices/nld_7430.h
deleted file mode 100644
index fbe4e4f1919..00000000000
--- a/src/lib/netlist/devices/nld_7430.h
+++ /dev/null
@@ -1,75 +0,0 @@
-// license:GPL-2.0+
-// copyright-holders:Couriersud
-/*
- * nld_7430.h
- *
- * DM7430: 8-Input NAND Gate
- *
- * +--------------+
- * A |1 ++ 14| VCC
- * B |2 13| NC
- * C |3 12| H
- * D |4 7430 11| G
- * E |5 10| NC
- * F |6 9| NC
- * GND |7 8| Y
- * +--------------+
- * ________
- * Y = ABCDEFGH
- * +---+---+---+---+---+---+---+---++---+
- * | A | B | C | D | E | F | G | H || Y |
- * +===+===+===+===+===+===+===+===++===+
- * | X | X | X | X | X | X | X | 0 || 1 |
- * | X | X | X | X | X | X | 0 | X || 1 |
- * | X | X | X | X | X | 0 | X | X || 1 |
- * | X | X | X | X | 0 | X | X | X || 1 |
- * | X | X | X | 0 | X | X | X | X || 1 |
- * | X | X | 0 | X | X | X | X | X || 1 |
- * | X | 0 | X | X | X | X | X | X || 1 |
- * | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 || 0 |
- * +---+---+---+---+---+---+---+---++---+
- *
- * Naming conventions follow National Semiconductor datasheet
- *
- */
-
-
-#ifndef NLD_7430_H_
-#define NLD_7430_H_
-
-#include "nld_signal.h"
-#include "nld_truthtable.h"
-
-#define TTL_7430_NAND(_name, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8) \
- NET_REGISTER_DEV(TTL_7430_NAND, _name) \
- NET_CONNECT(_name, A, _I1) \
- NET_CONNECT(_name, B, _I2) \
- NET_CONNECT(_name, C, _I3) \
- NET_CONNECT(_name, D, _I4) \
- NET_CONNECT(_name, E, _I5) \
- NET_CONNECT(_name, F, _I6) \
- NET_CONNECT(_name, G, _I7) \
- NET_CONNECT(_name, H, _I8)
-
-
-#define TTL_7430_DIP(_name) \
- NET_REGISTER_DEV(TTL_7430_DIP, _name)
-
-NETLIB_NAMESPACE_DEVICES_START()
-
-#if (USE_TRUTHTABLE)
-NETLIB_TRUTHTABLE(7430, 8, 1, 0);
-#else
-NETLIB_SIGNAL(7430, 8, 0, 0);
-#endif
-
-
-NETLIB_DEVICE(7430_dip,
-
- NETLIB_SUB(7430) m_1;
-);
-
-NETLIB_NAMESPACE_DEVICES_END()
-
-
-#endif /* NLD_7430_H_ */
diff --git a/src/lib/netlist/macro/nlm_ttl74xx.cpp b/src/lib/netlist/macro/nlm_ttl74xx.cpp
index b58747dce0a..64097e15679 100644
--- a/src/lib/netlist/macro/nlm_ttl74xx.cpp
+++ b/src/lib/netlist/macro/nlm_ttl74xx.cpp
@@ -382,6 +382,46 @@ NETLIST_START(TTL_7427_DIP)
NETLIST_END()
/*
+ * DM7430: 8-Input NAND Gate
+ *
+ * ________
+ * Y = ABCDEFGH
+ * +---+---+---+---+---+---+---+---++---+
+ * | A | B | C | D | E | F | G | H || Y |
+ * +===+===+===+===+===+===+===+===++===+
+ * | X | X | X | X | X | X | X | 0 || 1 |
+ * | X | X | X | X | X | X | 0 | X || 1 |
+ * | X | X | X | X | X | 0 | X | X || 1 |
+ * | X | X | X | X | 0 | X | X | X || 1 |
+ * | X | X | X | 0 | X | X | X | X || 1 |
+ * | X | X | 0 | X | X | X | X | X || 1 |
+ * | X | 0 | X | X | X | X | X | X || 1 |
+ * | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 || 0 |
+ * +---+---+---+---+---+---+---+---++---+
+ *
+ * Naming conventions follow National Semiconductor datasheet
+ */
+
+NETLIST_START(TTL_7430_DIP)
+ TTL_7430_GATE(s1)
+
+ DUMMY_INPUT(GND)
+ DUMMY_INPUT(VCC)
+ DUMMY_INPUT(NC)
+
+ DIPPINS( /* +--------------+ */
+ s1.A, /* A |1 ++ 14| VCC */ VCC.I,
+ s1.B, /* B |2 13| NC */ NC.I,
+ s1.C, /* C |3 12| H */ s1.H,
+ s1.D, /* D |4 7420 11| G */ s1.G,
+ s1.E, /* E |5 10| NC */ NC.I,
+ s1.F, /* F |6 9| NC */ NC.I,
+ GND.I, /* GND |7 8| Y */ s1.Q
+ /* +--------------+ */
+ )
+NETLIST_END()
+
+/*
* DM7432: Quad 2-Input OR Gates
*
* ___
@@ -629,6 +669,34 @@ NETLIST_START(TTL74XX_lib)
TT_FAMILY("74XX")
TRUTHTABLE_END()
+ TRUTHTABLE_START(TTL_7430_GATE, 8, 1, 0, "")
+ TT_HEAD("A,B,C,D,E,F,G,H|Q ")
+ TT_LINE("0,X,X,X,X,X,X,X|1|22")
+ TT_LINE("X,0,X,X,X,X,X,X|1|22")
+ TT_LINE("X,X,0,X,X,X,X,X|1|22")
+ TT_LINE("X,X,X,0,X,X,X,X|1|22")
+ TT_LINE("X,X,X,X,0,X,X,X|1|22")
+ TT_LINE("X,X,X,X,X,0,X,X|1|22")
+ TT_LINE("X,X,X,X,X,X,0,X|1|22")
+ TT_LINE("X,X,X,X,X,X,X,0|1|22")
+ TT_LINE("1,1,1,1,1,1,1,1|0|15")
+ TT_FAMILY("74XX")
+ TRUTHTABLE_END()
+
+ TRUTHTABLE_START(TTL_7430_NAND, 8, 1, 0, "A,B,C,D,E,F,G,H")
+ TT_HEAD("A,B,C,D,E,F,G,H|Q ")
+ TT_LINE("0,X,X,X,X,X,X,X|1|22")
+ TT_LINE("X,0,X,X,X,X,X,X|1|22")
+ TT_LINE("X,X,0,X,X,X,X,X|1|22")
+ TT_LINE("X,X,X,0,X,X,X,X|1|22")
+ TT_LINE("X,X,X,X,0,X,X,X|1|22")
+ TT_LINE("X,X,X,X,X,0,X,X|1|22")
+ TT_LINE("X,X,X,X,X,X,0,X|1|22")
+ TT_LINE("X,X,X,X,X,X,X,0|1|22")
+ TT_LINE("1,1,1,1,1,1,1,1|0|15")
+ TT_FAMILY("74XX")
+ TRUTHTABLE_END()
+
TRUTHTABLE_START(TTL_7432_GATE, 2, 1, 0, "")
TT_HEAD("A,B|Q ")
TT_LINE("1,X|1|22")
@@ -675,6 +743,7 @@ NETLIST_START(TTL74XX_lib)
LOCAL_LIB_ENTRY(TTL_7420_DIP)
LOCAL_LIB_ENTRY(TTL_7425_DIP)
LOCAL_LIB_ENTRY(TTL_7427_DIP)
+ LOCAL_LIB_ENTRY(TTL_7430_DIP)
LOCAL_LIB_ENTRY(TTL_7432_DIP)
LOCAL_LIB_ENTRY(TTL_7437_DIP)
NETLIST_END()
diff --git a/src/lib/netlist/macro/nlm_ttl74xx.h b/src/lib/netlist/macro/nlm_ttl74xx.h
index 918bd1ab175..84c5f042667 100644
--- a/src/lib/netlist/macro/nlm_ttl74xx.h
+++ b/src/lib/netlist/macro/nlm_ttl74xx.h
@@ -132,6 +132,24 @@
NET_REGISTER_DEV(TTL_7427_DIP, _name)
+#define TTL_7430_GATE(_name) \
+ NET_REGISTER_DEV(TTL_7430_GATE, _name)
+
+#define TTL_7430_NAND(_name, _I1, _I2, _I3, _I4, _I5, _I6, _I7, _I8) \
+ NET_REGISTER_DEV(TTL_7430_NAND, _name) \
+ NET_CONNECT(_name, A, _I1) \
+ NET_CONNECT(_name, B, _I2) \
+ NET_CONNECT(_name, C, _I3) \
+ NET_CONNECT(_name, D, _I4) \
+ NET_CONNECT(_name, E, _I5) \
+ NET_CONNECT(_name, F, _I6) \
+ NET_CONNECT(_name, G, _I7) \
+ NET_CONNECT(_name, H, _I8)
+
+#define TTL_7430_DIP(_name) \
+ NET_REGISTER_DEV(TTL_7430_DIP, _name)
+
+
#define TTL_7432_GATE(_name) \
NET_REGISTER_DEV(TTL_7432_OR, _name)