netlist: Macro-ized 7483 DIP

This commit is contained in:
Aaron Giles 2020-08-01 17:07:31 -07:00 committed by couriersud
parent 1a52fd1136
commit ea921a554d
6 changed files with 62 additions and 71 deletions

View File

@ -80,7 +80,6 @@ namespace devices
LIB_ENTRY(7475_GATE)
LIB_ENTRY(7477_GATE)
LIB_ENTRY(7483)
LIB_ENTRY(7483_dip)
LIB_ENTRY(7485)
LIB_ENTRY(7485_dip)
LIB_ENTRY(7490)

View File

@ -40,7 +40,6 @@ namespace netlist
m_lastr = 0;
}
friend class NETLIB_NAME(7483_dip);
private:
NETLIB_HANDLERI(c0)
{
@ -92,36 +91,7 @@ namespace netlist
nld_power_pins m_power_pins;
};
NETLIB_OBJECT(7483_dip)
{
NETLIB_CONSTRUCTOR(7483_dip)
, A(*this, "A")
{
register_subalias("1", A.m_A4);
register_subalias("2", A.m_S3);
register_subalias("3", A.m_A3);
register_subalias("4", A.m_B3);
register_subalias("5", "A.VCC");
register_subalias("6", A.m_S2);
register_subalias("7", A.m_B2);
register_subalias("8", A.m_A2);
register_subalias("9", A.m_S1);
register_subalias("10", A.m_A1);
register_subalias("11", A.m_B1);
register_subalias("12", "A.GND");
register_subalias("13", A.m_C0);
register_subalias("14", A.m_C4);
register_subalias("15", A.m_S4);
register_subalias("16", A.m_B4);
}
//NETLIB_RESETI() {}
private:
NETLIB_SUB(7483) A;
};
NETLIB_DEVICE_IMPL(7483, "TTL_7483", "+A1,+A2,+A3,+A4,+B1,+B2,+B3,+B4,+C0,@VCC,@GND")
NETLIB_DEVICE_IMPL(7483_dip, "TTL_7483_DIP", "")
} //namespace devices
} // namespace netlist

View File

@ -29,21 +29,8 @@
#include "netlist/nl_setup.h"
#define TTL_7483(name, cA1, cA2, cA3, cA4, cB1, cB2, cB3, cB4, cCI) \
NET_REGISTER_DEV(TTL_7483, name) \
NET_CONNECT(name, GND, GND) \
NET_CONNECT(name, VCC, VCC) \
NET_CONNECT(name, A1, cA1) \
NET_CONNECT(name, A2, cA2) \
NET_CONNECT(name, A3, cA3) \
NET_CONNECT(name, A4, cA4) \
NET_CONNECT(name, B1, cB1) \
NET_CONNECT(name, B2, cB2) \
NET_CONNECT(name, B3, cB3) \
NET_CONNECT(name, B4, cB4) \
NET_CONNECT(name, C0, cCI)
#define TTL_7483_DIP(name) \
NET_REGISTER_DEV(TTL_7483_DIP, name)
// usage: TTL_7483(name, cA1, cA2, cA3, cA4, cB1, cB2, cB3, cB4, cCI)
#define TTL_7483(...) \
NET_REGISTER_DEVEXT(TTL_7483, __VA_ARGS__)
#endif /* NLD_7483_H_ */

View File

@ -252,10 +252,6 @@
#define TTL_7450_ANDORINVERT(...) \
NET_REGISTER_DEVEXT(TTL_7450_ANDORINVERT, __VA_ARGS__)
// usage : TTL_7450_DIP(name)
#define TTL_7450_DIP(...) \
NET_REGISTER_DEVEXT(TTL_7450_DIP, __VA_ARGS__)
// ---------------------------------------------------------------------
// Source: src/lib/netlist/devices/nld_7473.cpp
// ---------------------------------------------------------------------
@ -264,19 +260,11 @@
#define TTL_7473(...) \
NET_REGISTER_DEVEXT(TTL_7473, __VA_ARGS__)
// usage : TTL_7473_DIP(name)
#define TTL_7473_DIP(...) \
NET_REGISTER_DEVEXT(TTL_7473_DIP, __VA_ARGS__)
// usage : TTL_7473A(name, pCLK, pJ, pK, pCLRQ)
// auto connect: VCC, GND
#define TTL_7473A(...) \
NET_REGISTER_DEVEXT(TTL_7473A, __VA_ARGS__)
// usage : TTL_7473A_DIP(name)
#define TTL_7473A_DIP(...) \
NET_REGISTER_DEVEXT(TTL_7473A_DIP, __VA_ARGS__)
// ---------------------------------------------------------------------
// Source: src/lib/netlist/devices/nld_7474.cpp
// ---------------------------------------------------------------------
@ -296,18 +284,10 @@
#define TTL_7475(...) \
NET_REGISTER_DEVEXT(TTL_7475, __VA_ARGS__)
// usage : TTL_7475_DIP(name)
#define TTL_7475_DIP(...) \
NET_REGISTER_DEVEXT(TTL_7475_DIP, __VA_ARGS__)
// usage : TTL_7477(name)
#define TTL_7477(...) \
NET_REGISTER_DEVEXT(TTL_7477, __VA_ARGS__)
// usage : TTL_7477_DIP(name)
#define TTL_7477_DIP(...) \
NET_REGISTER_DEVEXT(TTL_7477_DIP, __VA_ARGS__)
// ---------------------------------------------------------------------
// Source: src/lib/netlist/devices/nld_7483.cpp
// ---------------------------------------------------------------------
@ -316,10 +296,6 @@
#define TTL_7483(...) \
NET_REGISTER_DEVEXT(TTL_7483, __VA_ARGS__)
// usage : TTL_7483_DIP(name)
#define TTL_7483_DIP(...) \
NET_REGISTER_DEVEXT(TTL_7483_DIP, __VA_ARGS__)
// ---------------------------------------------------------------------
// Source: src/lib/netlist/devices/nld_7485.cpp
// ---------------------------------------------------------------------
@ -1027,6 +1003,30 @@
#define TTL_7448_DIP(...) \
NET_REGISTER_DEVEXT(TTL_7448_DIP, __VA_ARGS__)
// usage : TTL_7450_DIP(name)
#define TTL_7450_DIP(...) \
NET_REGISTER_DEVEXT(TTL_7450_DIP, __VA_ARGS__)
// usage : TTL_7473_DIP(name)
#define TTL_7473_DIP(...) \
NET_REGISTER_DEVEXT(TTL_7473_DIP, __VA_ARGS__)
// usage : TTL_7473A_DIP(name)
#define TTL_7473A_DIP(...) \
NET_REGISTER_DEVEXT(TTL_7473A_DIP, __VA_ARGS__)
// usage : TTL_7475_DIP(name)
#define TTL_7475_DIP(...) \
NET_REGISTER_DEVEXT(TTL_7475_DIP, __VA_ARGS__)
// usage : TTL_7477_DIP(name)
#define TTL_7477_DIP(...) \
NET_REGISTER_DEVEXT(TTL_7477_DIP, __VA_ARGS__)
// usage : TTL_7483_DIP(name)
#define TTL_7483_DIP(...) \
NET_REGISTER_DEVEXT(TTL_7483_DIP, __VA_ARGS__)
// usage : TTL_7486_GATE(name)
#define TTL_7486_GATE(...) \
NET_REGISTER_DEVEXT(TTL_7486_GATE, __VA_ARGS__)

View File

@ -870,6 +870,37 @@ static NETLIST_START(TTL_7477_DIP)
)
NETLIST_END()
/*
* DM7483: 4-Bit Binary Adder with Fast Carry
*
* +--------------+
* A4 |1 ++ 16| B4
* S3 |2 15| S4
* A3 |3 14| C4
* B3 |4 7483 13| C0
* VCC |5 12| GND
* S2 |6 11| B1
* B2 |7 10| A1
* A2 |8 9| S1
* +--------------+
*/
static NETLIST_START(TTL_7483_DIP)
TTL_7483(A)
DIPPINS( /* +--------------+ */
A.A4, /* A4 |1 ++ 16| B4 */ A.B4,
A.S3, /* S3 |2 15| S4 */ A.S4,
A.A3, /* A3 |3 14| C4 */ A.C4,
A.B3, /* B3 |4 7483 13| C0 */ A.C0,
A.VCC, /* VCC |5 12| GND */ A.GND,
A.S2, /* S2 |6 11| B1 */ A.B1,
A.B2, /* B2 |7 10| A1 */ A.A1,
A.A2, /* A2 |8 9| S1 */ A.S1
/* +--------------+ */
)
NETLIST_END()
/*
* DM7486: Quad 2-Input Exclusive-OR Gates
*
@ -2219,6 +2250,7 @@ NETLIST_START(TTL74XX_lib)
LOCAL_LIB_ENTRY(TTL_7474_DIP)
LOCAL_LIB_ENTRY(TTL_7475_DIP)
LOCAL_LIB_ENTRY(TTL_7477_DIP)
LOCAL_LIB_ENTRY(TTL_7483_DIP)
LOCAL_LIB_ENTRY(TTL_7486_DIP)
LOCAL_LIB_ENTRY(TTL_74121_DIP)
LOCAL_LIB_ENTRY(TTL_74123_DIP)

View File

@ -284,6 +284,9 @@
#define TTL_7477_DIP(name) \
NET_REGISTER_DEV(TTL_7477_DIP, name)
#define TTL_7483_DIP(name) \
NET_REGISTER_DEV(TTL_7483_DIP, name)
#define TTL_7486_GATE(name) \
NET_REGISTER_DEV(TTL_7486_GATE, name)