netlist: Macro-ized 74166 DIPs

This commit is contained in:
Aaron Giles 2020-08-02 01:25:38 -07:00 committed by couriersud
parent 90e4d6410a
commit 88c4e1d76a
6 changed files with 42 additions and 54 deletions

View File

@ -102,7 +102,6 @@ namespace devices
LIB_ENTRY(74164)
LIB_ENTRY(74165)
LIB_ENTRY(74166)
LIB_ENTRY(74166_dip)
LIB_ENTRY(74174)
LIB_ENTRY(74175)
LIB_ENTRY(74192)

View File

@ -100,36 +100,7 @@ namespace netlist
nld_power_pins m_power_pins;
};
NETLIB_OBJECT(74166_dip)
{
NETLIB_CONSTRUCTOR(74166_dip)
, A(*this, "A")
{
register_subalias("1", A.m_SER);
register_subalias("2", A.m_DATA[7]);
register_subalias("3", A.m_DATA[6]);
register_subalias("4", A.m_DATA[5]);
register_subalias("5", A.m_DATA[4]);
register_subalias("6", A.m_CLKINH);
register_subalias("7", A.m_CLK);
register_subalias("8", "A.GND");
register_subalias("9", A.m_CLRQ);
register_subalias("10", A.m_DATA[3]);
register_subalias("11", A.m_DATA[2]);
register_subalias("12", A.m_DATA[1]);
register_subalias("13", A.m_QH);
register_subalias("14", A.m_DATA[0]);
register_subalias("15", A.m_SH_LDQ);
register_subalias("16", "A.VCC");
}
//NETLIB_RESETI() {}
private:
NETLIB_SUB(74166) A;
};
NETLIB_DEVICE_IMPL(74166, "TTL_74166", "+CLK,+CLKINH,+SH_LDQ,+SER,+A,+B,+C,+D,+E,+F,+G,+H,+CLRQ,@VCC,@GND")
NETLIB_DEVICE_IMPL(74166_dip,"TTL_74166_DIP", "")
} //namespace devices
} // namespace netlist

View File

@ -29,25 +29,8 @@
#include "netlist/nl_setup.h"
#define TTL_74166(name, cCLK, cCLKINH, cSH_LDQ, cSER, cA, cB, cC, cD, cE, cF, cG, cH, cCLRQ) \
NET_REGISTER_DEV(TTL_74166, 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) \
NET_CONNECT(name, CLRQ, cCLRQ)
#define TTL_74166_DIP(name) \
NET_REGISTER_DEV(TTL_74166_DIP, name)
// usage: TTL_74166(name, cCLK, cCLKINH, cSH_LDQ, cSER, cA, cB, cC, cD, cE, cF, cG, cH, cCLRQ)
#define TTL_74166(...) \
NET_REGISTER_DEVEXT(TTL_74166, __VA_ARGS__)
#endif /* NLD_74166_H_ */

View File

@ -437,10 +437,6 @@
#define TTL_74166(...) \
NET_REGISTER_DEVEXT(TTL_74166, __VA_ARGS__)
// usage : TTL_74166_DIP(name)
#define TTL_74166_DIP(...) \
NET_REGISTER_DEVEXT(TTL_74166_DIP, __VA_ARGS__)
// ---------------------------------------------------------------------
// Source: src/lib/netlist/devices/nld_74174.cpp
// ---------------------------------------------------------------------
@ -1035,6 +1031,10 @@
#define TTL_74165_DIP(...) \
NET_REGISTER_DEVEXT(TTL_74165_DIP, __VA_ARGS__)
// usage : TTL_74165_DIP(name)
#define TTL_74166_DIP(...) \
NET_REGISTER_DEVEXT(TTL_74166_DIP, __VA_ARGS__)
// usage : TTL_74260_GATE(name)
#define TTL_74260_GATE(...) \
NET_REGISTER_DEVEXT(TTL_74260_GATE, __VA_ARGS__)

View File

@ -1732,6 +1732,37 @@ static NETLIST_START(TTL_74165_DIP)
)
NETLIST_END()
/*
* 74166: Parallel-Load 8-Bit Shift Register
*
* +--------------+
* SER |1 ++ 16| VCC
* A |2 15| SH/LDQ
* B |3 14| H
* C |4 74166 13| QH
* D |5 12| G
* CLKINH |6 11| F
* CLK |7 10| E
* GND |8 9| CLRQ
* +--------------+
*/
static NETLIST_START(TTL_74166_DIP)
TTL_74166(A)
DIPPINS( /* +--------------+ */
A.SER, /* SER |1 ++ 16| VCC */ A.VCC,
A.A, /* A |2 15| SH/LDQ */ A.SH_LDQ,
A.B, /* B |3 14| H */ A.H,
A.C, /* C |4 74166 13| QH */ A.QH,
A.D, /* D |5 12| G */ A.G,
A.CLKINH, /* CLKINH |6 11| F */ A.F,
A.CLK, /* CLK |7 10| E */ A.E,
A.GND, /* GND |8 9| CLRQ */ A.CLRQ
/* +--------------+ */
)
NETLIST_END()
/*
* DM74260: Dual 5-Input NOR Gates
* _________
@ -2745,6 +2776,7 @@ NETLIST_START(TTL74XX_lib)
LOCAL_LIB_ENTRY(TTL_74163_DIP)
LOCAL_LIB_ENTRY(TTL_74164_DIP)
LOCAL_LIB_ENTRY(TTL_74165_DIP)
LOCAL_LIB_ENTRY(TTL_74166_DIP)
LOCAL_LIB_ENTRY(TTL_74260_DIP)
LOCAL_LIB_ENTRY(TTL_74279_DIP)
LOCAL_LIB_ENTRY(TTL_74377_DIP)

View File

@ -369,6 +369,9 @@
#define TTL_74165_DIP(name) \
NET_REGISTER_DEV(TTL_74165_DIP, name)
#define TTL_74166_DIP(name) \
NET_REGISTER_DEV(TTL_74166_DIP, name)
#define TTL_74260_GATE(name) \
NET_REGISTER_DEV(TTL_74260_GATE, name)