From 90e4d6410a4e01c1952298a43cb45af7556f6444 Mon Sep 17 00:00:00 2001 From: Aaron Giles Date: Sun, 2 Aug 2020 12:37:30 +0200 Subject: [PATCH] netlist: Macro-ized 74165 DIPs --- src/lib/netlist/devices/net_lib.cpp | 1 - src/lib/netlist/devices/nld_74165.cpp | 29 ------------------------ src/lib/netlist/devices/nld_74165.h | 22 +++--------------- src/lib/netlist/devices/nld_devinc.h | 8 +++---- src/lib/netlist/macro/nlm_ttl74xx.cpp | 32 +++++++++++++++++++++++++++ src/lib/netlist/macro/nlm_ttl74xx.h | 3 +++ 6 files changed, 42 insertions(+), 53 deletions(-) diff --git a/src/lib/netlist/devices/net_lib.cpp b/src/lib/netlist/devices/net_lib.cpp index aa1f40de6b4..df18a3ac7cf 100644 --- a/src/lib/netlist/devices/net_lib.cpp +++ b/src/lib/netlist/devices/net_lib.cpp @@ -101,7 +101,6 @@ namespace devices LIB_ENTRY(74163) LIB_ENTRY(74164) LIB_ENTRY(74165) - LIB_ENTRY(74165_dip) LIB_ENTRY(74166) LIB_ENTRY(74166_dip) LIB_ENTRY(74174) diff --git a/src/lib/netlist/devices/nld_74165.cpp b/src/lib/netlist/devices/nld_74165.cpp index afa5f3de90d..d27c14953ea 100644 --- a/src/lib/netlist/devices/nld_74165.cpp +++ b/src/lib/netlist/devices/nld_74165.cpp @@ -81,37 +81,8 @@ namespace netlist nld_power_pins m_power_pins; }; - NETLIB_OBJECT(74165_dip) - { - NETLIB_CONSTRUCTOR(74165_dip) - , A(*this, "A") - { - register_subalias("1", A.m_SH_LDQ); - register_subalias("2", A.m_CLK); - register_subalias("3", A.m_DATA[4]); - register_subalias("4", A.m_DATA[5]); - register_subalias("5", A.m_DATA[6]); - register_subalias("6", A.m_DATA[7]); - register_subalias("7", A.m_QHQ); - register_subalias("8", "A.GND"); - - register_subalias("9", A.m_QH); - register_subalias("10", A.m_SER); - register_subalias("11", A.m_DATA[0]); - register_subalias("12", A.m_DATA[1]); - register_subalias("13", A.m_DATA[2]); - register_subalias("14", A.m_DATA[3]); - register_subalias("15", A.m_CLKINH); - register_subalias("16", "A.VCC"); - } - //NETLIB_RESETI() {} - private: - NETLIB_SUB(74165) A; - }; - // FIXME: Timing NETLIB_DEVICE_IMPL(74165, "TTL_74165", "+CLK,+CLKINH,+SH_LDQ,+SER,+A,+B,+C,+D,+E,+F,+G,+H,@VCC,@GND") - NETLIB_DEVICE_IMPL(74165_dip, "TTL_74165_DIP", "") } //namespace devices } // namespace netlist diff --git a/src/lib/netlist/devices/nld_74165.h b/src/lib/netlist/devices/nld_74165.h index 51133157dbd..b4918276779 100644 --- a/src/lib/netlist/devices/nld_74165.h +++ b/src/lib/netlist/devices/nld_74165.h @@ -29,24 +29,8 @@ #include "netlist/nl_setup.h" -#define TTL_74165(name, cCLK, cCLKINH, cSH_LDQ, cSER, cA, cB, cC, cD, cE, cF, cG, cH) \ - NET_REGISTER_DEV(TTL_74165, name) \ - NET_CONNECT(name, GND, GND) \ - NET_CONNECT(name, VCC, VCC) \ - NET_CONNECT(name, CLK, cCLK) \ - NET_CONNECT(name, CLKINH, cCLKINH) \ - NET_CONNECT(name, SH_LDQ, cSH_LDQ) \ - NET_CONNECT(name, SER, cSER) \ - NET_CONNECT(name, A, cA) \ - NET_CONNECT(name, B, cB) \ - NET_CONNECT(name, C, cC) \ - NET_CONNECT(name, D, cD) \ - NET_CONNECT(name, E, cE) \ - NET_CONNECT(name, F, cF) \ - NET_CONNECT(name, G, cG) \ - NET_CONNECT(name, H, cH) - -#define TTL_74165_DIP(name) \ - NET_REGISTER_DEV(TTL_74165_DIP, name) +// usage: TTL_74165(name, cCLK, cCLKINH, cSH_LDQ, cSER, cA, cB, cC, cD, cE, cF, cG, cH) +#define TTL_74165(...) \ + NET_REGISTER_DEVEXT(TTL_74165, __VA_ARGS__) #endif /* NLD_74165_H_ */ diff --git a/src/lib/netlist/devices/nld_devinc.h b/src/lib/netlist/devices/nld_devinc.h index 5d05a8ea021..e9a6e51ccb5 100644 --- a/src/lib/netlist/devices/nld_devinc.h +++ b/src/lib/netlist/devices/nld_devinc.h @@ -429,10 +429,6 @@ #define TTL_74165(...) \ NET_REGISTER_DEVEXT(TTL_74165, __VA_ARGS__) -// usage : TTL_74165_DIP(name) -#define TTL_74165_DIP(...) \ - NET_REGISTER_DEVEXT(TTL_74165_DIP, __VA_ARGS__) - // --------------------------------------------------------------------- // Source: src/lib/netlist/devices/nld_74166.cpp // --------------------------------------------------------------------- @@ -1035,6 +1031,10 @@ #define TTL_74164_DIP(...) \ NET_REGISTER_DEVEXT(TTL_74164_DIP, __VA_ARGS__) +// usage : TTL_74165_DIP(name) +#define TTL_74165_DIP(...) \ + NET_REGISTER_DEVEXT(TTL_74165_DIP, __VA_ARGS__) + // usage : TTL_74260_GATE(name) #define TTL_74260_GATE(...) \ NET_REGISTER_DEVEXT(TTL_74260_GATE, __VA_ARGS__) diff --git a/src/lib/netlist/macro/nlm_ttl74xx.cpp b/src/lib/netlist/macro/nlm_ttl74xx.cpp index 763e6676c3f..6525d5ddfb6 100644 --- a/src/lib/netlist/macro/nlm_ttl74xx.cpp +++ b/src/lib/netlist/macro/nlm_ttl74xx.cpp @@ -1701,6 +1701,37 @@ static NETLIST_START(TTL_74164_DIP) ) NETLIST_END() +/* + * 74165: Parallel-Load 8-Bit Shift Register + * + * +--------------+ + * SH/LDQ |1 ++ 16| VCC + * CLK |2 15| CLKINH + * E |3 14| D + * F |4 74165 13| C + * G |5 12| B + * H |6 11| A + * QHQ |7 10| SER + * GND |8 9| QH + * +--------------+ + */ + +static NETLIST_START(TTL_74165_DIP) + TTL_74165(A) + + DIPPINS( /* +--------------+ */ + A.SH_LDQ, /* SH/LDQ |1 ++ 16| VCC */ A.VCC, + A.CLK, /* CLK |2 15| CLKINH */ A.CLKINH, + A.E, /* E |3 14| D */ A.D, + A.F, /* F |4 74165 13| C */ A.C, + A.G, /* G |5 12| B */ A.B, + A.H, /* H |6 11| A */ A.A, + A.QHQ, /* QHQ |7 10| SER */ A.SER, + A.GND, /* GND |8 9| QH */ A.QH + /* +--------------+ */ + ) +NETLIST_END() + /* * DM74260: Dual 5-Input NOR Gates * _________ @@ -2713,6 +2744,7 @@ NETLIST_START(TTL74XX_lib) LOCAL_LIB_ENTRY(TTL_74161_DIP) LOCAL_LIB_ENTRY(TTL_74163_DIP) LOCAL_LIB_ENTRY(TTL_74164_DIP) + LOCAL_LIB_ENTRY(TTL_74165_DIP) LOCAL_LIB_ENTRY(TTL_74260_DIP) LOCAL_LIB_ENTRY(TTL_74279_DIP) LOCAL_LIB_ENTRY(TTL_74377_DIP) diff --git a/src/lib/netlist/macro/nlm_ttl74xx.h b/src/lib/netlist/macro/nlm_ttl74xx.h index d9eed7435df..082ec43d53f 100644 --- a/src/lib/netlist/macro/nlm_ttl74xx.h +++ b/src/lib/netlist/macro/nlm_ttl74xx.h @@ -366,6 +366,9 @@ #define TTL_74164_DIP(name) \ NET_REGISTER_DEV(TTL_74164_DIP, name) +#define TTL_74165_DIP(name) \ + NET_REGISTER_DEV(TTL_74165_DIP, name) + #define TTL_74260_GATE(name) \ NET_REGISTER_DEV(TTL_74260_GATE, name)