diff options
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 |
commit | 8fff0b57ab9ea05c2ad303845bac957e3c7c473f (patch) | |
tree | fe05da248529dd86abfb867e23cc757ee0013bb8 | |
parent | 2347096a88ef2a93cdc4a5fa40974c4339288a97 (diff) |
netlist: Macro-ized 74153 DIPs
-rw-r--r-- | src/lib/netlist/devices/net_lib.cpp | 1 | ||||
-rw-r--r-- | src/lib/netlist/devices/nld_74153.cpp | 39 | ||||
-rw-r--r-- | src/lib/netlist/devices/nld_74153.h | 17 | ||||
-rw-r--r-- | src/lib/netlist/devices/nld_devinc.h | 8 | ||||
-rw-r--r-- | src/lib/netlist/macro/nlm_ttl74xx.cpp | 40 | ||||
-rw-r--r-- | src/lib/netlist/macro/nlm_ttl74xx.h | 3 |
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) |