diff options
| -rw-r--r-- | src/lib/netlist/devices/net_lib.cpp | 2 | ||||
| -rw-r--r-- | src/lib/netlist/devices/nld_74113.cpp | 64 | ||||
| -rw-r--r-- | src/lib/netlist/devices/nld_74113.h | 23 | ||||
| -rw-r--r-- | src/lib/netlist/devices/nld_devinc.h | 16 | ||||
| -rw-r--r-- | src/lib/netlist/macro/nlm_ttl74xx.cpp | 57 | ||||
| -rw-r--r-- | src/lib/netlist/macro/nlm_ttl74xx.h | 6 |
6 files changed, 77 insertions, 91 deletions
diff --git a/src/lib/netlist/devices/net_lib.cpp b/src/lib/netlist/devices/net_lib.cpp index 70eb647eb0f..97f5a5115b4 100644 --- a/src/lib/netlist/devices/net_lib.cpp +++ b/src/lib/netlist/devices/net_lib.cpp @@ -90,9 +90,7 @@ namespace devices #endif LIB_ENTRY(74107A) LIB_ENTRY(74113) - LIB_ENTRY(74113_dip) LIB_ENTRY(74113A) - LIB_ENTRY(74113A_dip) LIB_ENTRY(74121) LIB_ENTRY(74123) LIB_ENTRY(74125) diff --git a/src/lib/netlist/devices/nld_74113.cpp b/src/lib/netlist/devices/nld_74113.cpp index 784e866570a..37b81c01499 100644 --- a/src/lib/netlist/devices/nld_74113.cpp +++ b/src/lib/netlist/devices/nld_74113.cpp @@ -91,72 +91,8 @@ namespace netlist }; - NETLIB_OBJECT(74113_dip) - { - NETLIB_CONSTRUCTOR(74113_dip) - , m_A(*this, "A") - , m_B(*this, "B") - { - register_subalias("1", m_A.m_CLK); - register_subalias("2", m_A.m_K); - register_subalias("3", m_A.m_J); - register_subalias("4", m_A.m_SETQ); - register_subalias("5", m_A.m_Q); - register_subalias("6", m_A.m_QQ); - register_subalias("7", "A.GND"); - - register_subalias("8", m_B.m_QQ); - register_subalias("9", m_B.m_Q); - register_subalias("10", m_B.m_SETQ); - register_subalias("11", m_B.m_J); - register_subalias("12", m_B.m_K); - register_subalias("13", m_B.m_CLK); - register_subalias("14", "A.VCC"); - - connect("A.GND", "B.GND"); - connect("A.VCC", "B.VCC"); - } - - private: - NETLIB_SUB(74113) m_A; - NETLIB_SUB(74113) m_B; - }; - - NETLIB_OBJECT(74113A_dip) - { - NETLIB_CONSTRUCTOR(74113A_dip) - , m_A(*this, "A") - , m_B(*this, "B") - { - register_subalias("1", m_A.m_CLK); - register_subalias("2", m_A.m_K); - register_subalias("3", m_A.m_J); - register_subalias("4", m_A.m_SETQ); - register_subalias("5", m_A.m_Q); - register_subalias("6", m_A.m_QQ); - register_subalias("7", "A.GND"); - - register_subalias("8", m_B.m_QQ); - register_subalias("9", m_B.m_Q); - register_subalias("10", m_B.m_SETQ); - register_subalias("11", m_B.m_J); - register_subalias("12", m_B.m_K); - register_subalias("13", m_B.m_CLK); - register_subalias("14", "A.VCC"); - - connect("A.GND", "B.GND"); - connect("A.VCC", "B.VCC"); - } - - private: - NETLIB_SUB(74113A) m_A; - NETLIB_SUB(74113A) m_B; - }; - NETLIB_DEVICE_IMPL(74113, "TTL_74113", "+CLK,+J,+K,+CLRQ,@VCC,@GND") NETLIB_DEVICE_IMPL(74113A, "TTL_74113A", "+CLK,+J,+K,+CLRQ,@VCC,@GND") - NETLIB_DEVICE_IMPL(74113_dip, "TTL_74113_DIP", "") - NETLIB_DEVICE_IMPL(74113A_dip, "TTL_74113A_DIP", "") } //namespace devices } // namespace netlist diff --git a/src/lib/netlist/devices/nld_74113.h b/src/lib/netlist/devices/nld_74113.h index 02f38973594..e43915d8e9d 100644 --- a/src/lib/netlist/devices/nld_74113.h +++ b/src/lib/netlist/devices/nld_74113.h @@ -62,23 +62,12 @@ #include "netlist/nl_setup.h" -#define TTL_74113(name, cCLK, cJ, cK, cCLRQ) \ - NET_REGISTER_DEV(TTL_74113, name) \ - NET_CONNECT(name, GND, GND) \ - NET_CONNECT(name, VCC, VCC) \ - NET_CONNECT(name, CLK, cCLK) \ - NET_CONNECT(name, J, cJ) \ - NET_CONNECT(name, K, cK) \ - NET_CONNECT(name, CLRQ, cCLRQ) +// usage: TTL_74113(name, cCLK, cJ, cK, cCLRQ) +#define TTL_74113(...) \ + NET_REGISTER_DEVEXT(TTL_74113, __VA_ARGS__) -#define TTL_74113A(name, cCLK, cJ, cK, cCLRQ) \ - TTL_74113(name, cCLK, cJ, cK, cCLRQ) - -#define TTL_74113_DIP(name) \ - NET_REGISTER_DEV(TTL_74113_DIP, name) - - -#define TTL_74113A_DIP(name) \ - NET_REGISTER_DEV(TTL_74113A_DIP, name) +// usage: TTL_74113A(name, cCLK, cJ, cK, cCLRQ) +#define TTL_74113A(...) \ + NET_REGISTER_DEVEXT(TTL_74113, __VA_ARGS__) #endif /* NLD_74113_H_ */ diff --git a/src/lib/netlist/devices/nld_devinc.h b/src/lib/netlist/devices/nld_devinc.h index a040fb30bed..9653c1e2d53 100644 --- a/src/lib/netlist/devices/nld_devinc.h +++ b/src/lib/netlist/devices/nld_devinc.h @@ -357,19 +357,11 @@ #define TTL_74113(...) \ NET_REGISTER_DEVEXT(TTL_74113, __VA_ARGS__) -// usage : TTL_74113_DIP(name) -#define TTL_74113_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74113_DIP, __VA_ARGS__) - // usage : TTL_74113A(name, pCLK, pJ, pK, pCLRQ) // auto connect: VCC, GND #define TTL_74113A(...) \ NET_REGISTER_DEVEXT(TTL_74113A, __VA_ARGS__) -// usage : TTL_74113A_DIP(name) -#define TTL_74113A_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74113A_DIP, __VA_ARGS__) - // --------------------------------------------------------------------- // Source: src/lib/netlist/devices/nld_74123.cpp // --------------------------------------------------------------------- @@ -1011,6 +1003,14 @@ #define TTL_74107A_DIP(...) \ NET_REGISTER_DEVEXT(TTL_74107A_DIP, __VA_ARGS__) +// usage : TTL_74113_DIP(name) +#define TTL_74113_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74113_DIP, __VA_ARGS__) + +// usage : TTL_74113A_DIP(name) +#define TTL_74113A_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74113A_DIP, __VA_ARGS__) + // usage : TTL_74155A_GATE(name) #define TTL_74155A_GATE(...) \ NET_REGISTER_DEVEXT(TTL_74155A_GATE, __VA_ARGS__) diff --git a/src/lib/netlist/macro/nlm_ttl74xx.cpp b/src/lib/netlist/macro/nlm_ttl74xx.cpp index 39699547139..3384a085519 100644 --- a/src/lib/netlist/macro/nlm_ttl74xx.cpp +++ b/src/lib/netlist/macro/nlm_ttl74xx.cpp @@ -1150,6 +1150,61 @@ static NETLIST_START(TTL_74107A_DIP) ) NETLIST_END() +/* + * nld_74113.h + * + * 74113: Dual Master-Slave J-K Flip-Flops with Set and Complementary Outputs + * 74113A: Dual Negative-Edge-Triggered Master-Slave J-K Flip-Flops with Set and Complementary Outputs + * + * +----------+ + * 1CLK |1 ++ 14| VCC + * 1K |2 13| 2CLK + * 1J |3 12| 2K + * 1SETQ |4 74113 11| 2J + * 1Q |5 10| 2SETQ + * 1QQ |6 9| 2Q + * GND |7 8| 2QQ + * +----------+ + */ + +static NETLIST_START(TTL_74113_DIP) + TTL_74113(A) + TTL_74113(B) + + NET_C(A.VCC, B.VCC) + NET_C(A.GND, B.GND) + + DIPPINS( /* +----------+ */ + A.CLK, /* 1CLK |1 ++ 14| VCC */ A.VCC, + A.K, /* 1K |2 13| 2CLK */ B.CLK, + A.J, /* 1J |3 12| 2K */ B.K, + A.SETQ, /* 1SETQ |4 74113 11| 2J */ B.J, + A.Q, /* 1Q |5 10| 2SETQ */ B.SETQ, + A.QQ, /* 1QQ |6 9| 2Q */ B.Q, + A.GND, /* GND |7 8| 2QQ */ B.QQ + /* +----------+ */ + ) +NETLIST_END() + +static NETLIST_START(TTL_74113A_DIP) + TTL_74113A(A) + TTL_74113A(B) + + NET_C(A.VCC, B.VCC) + NET_C(A.GND, B.GND) + + DIPPINS( /* +----------+ */ + A.CLK, /* 1CLK |1 ++ 14| VCC */ A.VCC, + A.K, /* 1K |2 13| 2CLK */ B.CLK, + A.J, /* 1J |3 12| 2K */ B.K, + A.SETQ, /* 1SETQ |4 74113 11| 2J */ B.J, + A.Q, /* 1Q |5 10| 2SETQ */ B.SETQ, + A.QQ, /* 1QQ |6 9| 2Q */ B.Q, + A.GND, /* GND |7 8| 2QQ */ B.QQ + /* +----------+ */ + ) +NETLIST_END() + //- Identifier: TTL_74121_DIP //- Title: DM74121 One-Shot with Clear and Complementary Outputs //- Description: The DM74121 is a monostable multivibrator featuring both @@ -2576,6 +2631,8 @@ NETLIST_START(TTL74XX_lib) LOCAL_LIB_ENTRY(TTL_7497_DIP) LOCAL_LIB_ENTRY(TTL_74107_DIP) LOCAL_LIB_ENTRY(TTL_74107A_DIP) + LOCAL_LIB_ENTRY(TTL_74113_DIP) + LOCAL_LIB_ENTRY(TTL_74113A_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 744c2c25ff4..2562d83b5c1 100644 --- a/src/lib/netlist/macro/nlm_ttl74xx.h +++ b/src/lib/netlist/macro/nlm_ttl74xx.h @@ -327,6 +327,12 @@ #define TTL_74107A_DIP(name) \ NET_REGISTER_DEV(TTL_74107A_DIP, name) +#define TTL_74113_DIP(name) \ + NET_REGISTER_DEV(TTL_74113_DIP, name) + +#define TTL_74113A_DIP(name) \ + NET_REGISTER_DEV(TTL_74113A_DIP, name) + #define TTL_74121_DIP(name) \ NET_REGISTER_DEV(TTL_74121_DIP, name) |
