netlist: Macro-ized 74165 DIPs

This commit is contained in:
Aaron Giles 2020-08-02 12:37:30 +02:00 committed by couriersud
parent f40b7e48f1
commit 90e4d6410a
6 changed files with 42 additions and 53 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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