summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Aaron Giles <aaron@aarongiles.com>2020-08-01 18:43:51 -0700
committer couriersud <couriersud@gmx.org>2020-08-02 12:29:07 +0200
commitdaa62d6c324304808d17d96d18953756dd875d5c (patch)
tree3fa16367ebae80087df5dc56ed00e7f4bf65b826
parentb2d4b6d887c76b9ea9833d7b91521dcefbe95653 (diff)
netlist: Macro-ized 7493/7497 DIPs
-rw-r--r--src/lib/netlist/devices/net_lib.cpp2
-rw-r--r--src/lib/netlist/devices/nld_7493.cpp28
-rw-r--r--src/lib/netlist/devices/nld_7493.h14
-rw-r--r--src/lib/netlist/devices/nld_7497.cpp32
-rw-r--r--src/lib/netlist/devices/nld_7497.h21
-rw-r--r--src/lib/netlist/devices/nld_devinc.h24
-rw-r--r--src/lib/netlist/macro/nlm_ttl74xx.cpp63
-rw-r--r--src/lib/netlist/macro/nlm_ttl74xx.h6
8 files changed, 87 insertions, 103 deletions
diff --git a/src/lib/netlist/devices/net_lib.cpp b/src/lib/netlist/devices/net_lib.cpp
index d190b344747..2e9999eb371 100644
--- a/src/lib/netlist/devices/net_lib.cpp
+++ b/src/lib/netlist/devices/net_lib.cpp
@@ -84,9 +84,7 @@ namespace devices
LIB_ENTRY(7490)
LIB_ENTRY(7492)
LIB_ENTRY(7493)
- LIB_ENTRY(7493_dip)
LIB_ENTRY(7497)
- LIB_ENTRY(7497_dip)
#if (!NL_USE_TRUTHTABLE_74107)
LIB_ENTRY(74107)
LIB_ENTRY(74107_dip)
diff --git a/src/lib/netlist/devices/nld_7493.cpp b/src/lib/netlist/devices/nld_7493.cpp
index a6514183f76..57a981c65ac 100644
--- a/src/lib/netlist/devices/nld_7493.cpp
+++ b/src/lib/netlist/devices/nld_7493.cpp
@@ -149,35 +149,7 @@ namespace netlist
nld_power_pins m_power_pins;
};
- NETLIB_OBJECT(7493_dip)
- {
- NETLIB_CONSTRUCTOR(7493_dip)
- , A(*this, "A")
- {
- register_subalias("1", "A.CLKB");
- register_subalias("2", "A.R1");
- register_subalias("3", "A.R2");
-
- // register_subalias("4", ); --> NC
- register_subalias("5", "A.VCC");
- // register_subalias("6", ); --> NC
- // register_subalias("7", ); --> NC
-
- register_subalias("8", "A.QC");
- register_subalias("9", "A.QB");
- register_subalias("10", "A.GND");
- register_subalias("11", "A.QD");
- register_subalias("12", "A.QA");
- // register_subalias("13", ); -. NC
- register_subalias("14", "A.CLKA");
- }
- //NETLIB_RESETI() {}
- private:
- NETLIB_SUB(7493) A;
- };
-
NETLIB_DEVICE_IMPL(7493, "TTL_7493", "+CLKA,+CLKB,+R1,+R2,@VCC,@GND")
- NETLIB_DEVICE_IMPL(7493_dip, "TTL_7493_DIP", "")
} // namespace devices
} // namespace netlist
diff --git a/src/lib/netlist/devices/nld_7493.h b/src/lib/netlist/devices/nld_7493.h
index 3498d216b08..0b25ef659db 100644
--- a/src/lib/netlist/devices/nld_7493.h
+++ b/src/lib/netlist/devices/nld_7493.h
@@ -59,16 +59,8 @@
#include "netlist/nl_setup.h"
-#define TTL_7493(name, cCLKA, cCLKB, cR1, cR2) \
- NET_REGISTER_DEV(TTL_7493, name) \
- NET_CONNECT(name, GND, GND) \
- NET_CONNECT(name, VCC, VCC) \
- NET_CONNECT(name, CLKA, cCLKA) \
- NET_CONNECT(name, CLKB, cCLKB) \
- NET_CONNECT(name, R1, cR1) \
- NET_CONNECT(name, R2, cR2)
-
-#define TTL_7493_DIP(name) \
- NET_REGISTER_DEV(TTL_7493_DIP, name)
+// usage: TTL_7493(name, cCLKA, cCLKB, cR1, cR2)
+#define TTL_7493(...) \
+ NET_REGISTER_DEVEXT(TTL_7493, __VA_ARGS__)
#endif /* NLD_7493_H_ */
diff --git a/src/lib/netlist/devices/nld_7497.cpp b/src/lib/netlist/devices/nld_7497.cpp
index a5140e9593f..74e443936d7 100644
--- a/src/lib/netlist/devices/nld_7497.cpp
+++ b/src/lib/netlist/devices/nld_7497.cpp
@@ -102,8 +102,6 @@ namespace netlist
clk_strb();
}
- friend class NETLIB_NAME(7497_dip);
-
object_array_t<logic_input_t, 6> m_B;
logic_input_t m_CLK;
logic_input_t m_STRBQ;
@@ -141,37 +139,7 @@ namespace netlist
}
};
- NETLIB_OBJECT(7497_dip)
- {
- NETLIB_CONSTRUCTOR(7497_dip)
- , A(*this, "A")
- {
- register_subalias("1", A.m_B[4]); // B0
- register_subalias("2", A.m_B[1]); // B4
- register_subalias("3", A.m_B[0]); // B5
- register_subalias("4", A.m_B[5]); // B0
- register_subalias("5", A.m_ZQ);
- register_subalias("6", A.m_Y);
- register_subalias("7", A.m_ENOUTQ);
- register_subalias("8", "A.GND");
-
- register_subalias("9", A.m_CLK);
- register_subalias("10", A.m_STRBQ);
- register_subalias("11", A.m_UNITYQ);
- register_subalias("12", A.m_ENQ);
- register_subalias("13", A.m_CLR);
- register_subalias("14", A.m_B[3]); // B2
- register_subalias("15", A.m_B[2]); // B3
- register_subalias("16", "A.VCC");
- }
- //NETLIB_RESETI() {}
- private:
- NETLIB_SUB(7497) A;
- };
-
-
NETLIB_DEVICE_IMPL(7497, "TTL_7497", "+CLK,+STRBQ,+ENQ,+UNITYQ,+CLR,+B0,+B1,+B2,+B3,+B4,+B5,@VCC,@GND")
- NETLIB_DEVICE_IMPL(7497_dip, "TTL_7497_DIP", "")
} //namespace devices
} // namespace netlist
diff --git a/src/lib/netlist/devices/nld_7497.h b/src/lib/netlist/devices/nld_7497.h
index 3e3e2e89e40..bd0ad3a21c1 100644
--- a/src/lib/netlist/devices/nld_7497.h
+++ b/src/lib/netlist/devices/nld_7497.h
@@ -37,23 +37,8 @@
#include "netlist/nl_setup.h"
-#define TTL_7497(name, cCLK, cSTRB, cEN, cUNITY, cCLR, cB0, cB1, cB2, cB3, cB4, cB5) \
- NET_REGISTER_DEV(TTL_7497, name) \
- NET_CONNECT(name, GND, GND) \
- NET_CONNECT(name, VCC, VCC) \
- NET_CONNECT(name, CLK, cCLK) \
- NET_CONNECT(name, STRBQ, cSTRB) \
- NET_CONNECT(name, ENQ, cEN) \
- NET_CONNECT(name, UNITYQ,cUNITY) \
- NET_CONNECT(name, CLR, cCLR) \
- NET_CONNECT(name, B0, cB0) \
- NET_CONNECT(name, B1, cB1) \
- NET_CONNECT(name, B2, cB2) \
- NET_CONNECT(name, B3, cB3) \
- NET_CONNECT(name, B4, cB4) \
- NET_CONNECT(name, B5, cB5)
-
-#define TTL_7497_DIP(name) \
- NET_REGISTER_DEV(TTL_7497_DIP, name)
+// usage: TTL_7497(name, cCLK, cSTRB, cEN, cUNITY, cCLR, cB0, cB1, cB2, cB3, cB4, cB5)
+#define TTL_7497(...) \
+ NET_REGISTER_DEVEXT(TTL_7497, __VA_ARGS__)
#endif /* NLD_7497_H_ */
diff --git a/src/lib/netlist/devices/nld_devinc.h b/src/lib/netlist/devices/nld_devinc.h
index a400bcb7dd1..670901dc438 100644
--- a/src/lib/netlist/devices/nld_devinc.h
+++ b/src/lib/netlist/devices/nld_devinc.h
@@ -328,10 +328,6 @@
#define TTL_7493(...) \
NET_REGISTER_DEVEXT(TTL_7493, __VA_ARGS__)
-// usage : TTL_7493_DIP(name)
-#define TTL_7493_DIP(...) \
- NET_REGISTER_DEVEXT(TTL_7493_DIP, __VA_ARGS__)
-
// ---------------------------------------------------------------------
// Source: src/lib/netlist/devices/nld_7497.cpp
// ---------------------------------------------------------------------
@@ -340,10 +336,6 @@
#define TTL_7497(...) \
NET_REGISTER_DEVEXT(TTL_7497, __VA_ARGS__)
-// usage : TTL_7497_DIP(name)
-#define TTL_7497_DIP(...) \
- NET_REGISTER_DEVEXT(TTL_7497_DIP, __VA_ARGS__)
-
// ---------------------------------------------------------------------
// Source: src/lib/netlist/devices/nld_74107.cpp
// ---------------------------------------------------------------------
@@ -1023,6 +1015,11 @@
#define TTL_7486_GATE(...) \
NET_REGISTER_DEVEXT(TTL_7486_GATE, __VA_ARGS__)
+// usage : TTL_7486_XOR(name, pA, pB)
+// auto connect: VCC, GND
+#define TTL_7486_XOR(...) \
+ NET_REGISTER_DEVEXT(TTL_7486_XOR, __VA_ARGS__)
+
// usage : TTL_7490_DIP(name)
#define TTL_7490_DIP(...) \
NET_REGISTER_DEVEXT(TTL_7490_DIP, __VA_ARGS__)
@@ -1031,10 +1028,13 @@
#define TTL_7492_DIP(...) \
NET_REGISTER_DEVEXT(TTL_7492_DIP, __VA_ARGS__)
-// usage : TTL_7486_XOR(name, pA, pB)
-// auto connect: VCC, GND
-#define TTL_7486_XOR(...) \
- NET_REGISTER_DEVEXT(TTL_7486_XOR, __VA_ARGS__)
+// usage : TTL_7493_DIP(name)
+#define TTL_7493_DIP(...) \
+ NET_REGISTER_DEVEXT(TTL_7493_DIP, __VA_ARGS__)
+
+// usage : TTL_7497_DIP(name)
+#define TTL_7497_DIP(...) \
+ NET_REGISTER_DEVEXT(TTL_7497_DIP, __VA_ARGS__)
// usage : TTL_74155A_GATE(name)
#define TTL_74155A_GATE(...) \
diff --git a/src/lib/netlist/macro/nlm_ttl74xx.cpp b/src/lib/netlist/macro/nlm_ttl74xx.cpp
index 73480533a0b..ccb7327cb02 100644
--- a/src/lib/netlist/macro/nlm_ttl74xx.cpp
+++ b/src/lib/netlist/macro/nlm_ttl74xx.cpp
@@ -1032,6 +1032,67 @@ NETLIST_END()
)
NETLIST_END()
+/*
+ * DM7493: Binary Counters
+ *
+ * +--------------+
+ * CLKB |1 ++ 14| CLKA
+ * R01 |2 13| NC
+ * R02 |3 12| QA
+ * NC |4 7493 11| QD
+ * VCC |5 10| GND
+ * NC |6 9| QB
+ * NC |7 8| QC
+ * +--------------+
+ */
+
+ static NETLIST_START(TTL_7493_DIP)
+ TTL_7493(A)
+ NC_PIN(NC)
+
+ DIPPINS( /* +--------------+ */
+ A.CLKB, /* CLKB |1 ++ 14| CLKA */ A.CLKA,
+ A.R1, /* R01 |2 13| NC */ NC.I,
+ A.R2, /* R02 |3 12| QA */ A.QA,
+ NC.I, /* NC |4 7493 11| QD */ A.QD,
+ A.VCC, /* VCC |5 10| GND */ A.GND,
+ NC.I, /* NC |6 9| QB */ A.QB,
+ NC.I, /* NC |7 8| QC */ A.QC
+ /* +--------------+ */
+ )
+NETLIST_END()
+
+/*
+ * SN7497: Synchronous 6-Bit Binary Rate Multiplier
+ *
+ * +--------------+
+ * B1 |1 16| VCC
+ * B4 |2 15| B3
+ * B5 |3 14| B2
+ * B0 |4 7497 13| CLR
+ * Z |5 12| UNITY/CAS
+ * Y |6 11| ENin (EN)
+ * ENout |7 10| STRB
+ * GND |8 9| CLK
+ * +--------------+
+ */
+
+static NETLIST_START(TTL_7497_DIP)
+ TTL_7497(A)
+
+ DIPPINS( /* +--------------+ */
+ A.B1, /* B1 |1 16| VCC */ A.VCC,
+ A.B4, /* B4 |2 15| B3 */ A.B3,
+ A.B5, /* B5 |3 14| B2 */ A.B2,
+ A.B0, /* B0 |4 7497 13| CLR */ A.CLR,
+ A.ZQ, /* Z |5 12| UNITY/CAS */ A.UNITYQ,
+ A.Y, /* Y |6 11| ENin (EN) */ A.ENQ,
+ A.ENOUTQ, /* ENout |7 10| STRB */ A.STRBQ,
+ A.GND, /* GND |8 9| CLK */ A.CLK
+ /* +--------------+ */
+ )
+NETLIST_END()
+
#if (NL_USE_TRUTHTABLE_74107)
#ifndef __PLIB_PREPROCESSOR__
#define TTL_74107_TT(name) \
@@ -2348,6 +2409,8 @@ NETLIST_START(TTL74XX_lib)
LOCAL_LIB_ENTRY(TTL_7486_DIP)
LOCAL_LIB_ENTRY(TTL_7490_DIP)
LOCAL_LIB_ENTRY(TTL_7492_DIP)
+ LOCAL_LIB_ENTRY(TTL_7493_DIP)
+ LOCAL_LIB_ENTRY(TTL_7497_DIP)
LOCAL_LIB_ENTRY(TTL_74121_DIP)
LOCAL_LIB_ENTRY(TTL_74123_DIP)
LOCAL_LIB_ENTRY(TTL_9602_DIP)
diff --git a/src/lib/netlist/macro/nlm_ttl74xx.h b/src/lib/netlist/macro/nlm_ttl74xx.h
index 103932da7bd..380877ed195 100644
--- a/src/lib/netlist/macro/nlm_ttl74xx.h
+++ b/src/lib/netlist/macro/nlm_ttl74xx.h
@@ -309,6 +309,12 @@
#define TTL_7492_DIP(name) \
NET_REGISTER_DEV(TTL_7492_DIP, name)
+#define TTL_7493_DIP(name) \
+ NET_REGISTER_DEV(TTL_7493_DIP, name)
+
+#define TTL_7497_DIP(name) \
+ NET_REGISTER_DEV(TTL_7497_DIP, name)
+
#if (NL_USE_TRUTHTABLE_74107)
#define TTL_74107(name, cCLK, cJ, cK, cCLRQ) \
NET_REGISTER_DEV(TTL_74107, name) \