diff options
| author | 2020-08-01 18:43:51 -0700 | |
|---|---|---|
| committer | 2020-08-02 12:29:07 +0200 | |
| commit | daa62d6c324304808d17d96d18953756dd875d5c (patch) | |
| tree | 3fa16367ebae80087df5dc56ed00e7f4bf65b826 | |
| parent | b2d4b6d887c76b9ea9833d7b91521dcefbe95653 (diff) | |
netlist: Macro-ized 7493/7497 DIPs
| -rw-r--r-- | src/lib/netlist/devices/net_lib.cpp | 2 | ||||
| -rw-r--r-- | src/lib/netlist/devices/nld_7493.cpp | 28 | ||||
| -rw-r--r-- | src/lib/netlist/devices/nld_7493.h | 14 | ||||
| -rw-r--r-- | src/lib/netlist/devices/nld_7497.cpp | 32 | ||||
| -rw-r--r-- | src/lib/netlist/devices/nld_7497.h | 21 | ||||
| -rw-r--r-- | src/lib/netlist/devices/nld_devinc.h | 24 | ||||
| -rw-r--r-- | src/lib/netlist/macro/nlm_ttl74xx.cpp | 63 | ||||
| -rw-r--r-- | src/lib/netlist/macro/nlm_ttl74xx.h | 6 |
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) \ |
