netlist: Macro-ized 7493/7497 DIPs

This commit is contained in:
Aaron Giles 2020-08-01 18:43:51 -07:00 committed by couriersud
parent b2d4b6d887
commit daa62d6c32
8 changed files with 87 additions and 103 deletions

View File

@ -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)

View File

@ -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

View File

@ -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_ */

View File

@ -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

View File

@ -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_ */

View File

@ -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(...) \

View File

@ -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)

View File

@ -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) \