mirror of
https://github.com/holub/mame
synced 2025-04-23 00:39:36 +03:00
netlist: Convert CD4013 DIP to macro.
This commit is contained in:
parent
f761f6f7be
commit
179d03ac96
@ -86,41 +86,7 @@ namespace netlist
|
||||
}
|
||||
};
|
||||
|
||||
NETLIB_OBJECT(CD4013_dip)
|
||||
{
|
||||
NETLIB_CONSTRUCTOR(CD4013_dip)
|
||||
, m_A(*this, "A")
|
||||
, m_B(*this, "B")
|
||||
{
|
||||
register_subalias("1", "A.Q");
|
||||
register_subalias("2", "A.QQ");
|
||||
register_subalias("3", "A.CLOCK");
|
||||
register_subalias("4", "A.RESET");
|
||||
register_subalias("5", "A.DATA");
|
||||
register_subalias("6", "A.SET");
|
||||
register_subalias("7", "A.VSS");
|
||||
|
||||
register_subalias("8", "B.SET");
|
||||
register_subalias("9", "B.DATA");
|
||||
register_subalias("10", "B.RESET");
|
||||
register_subalias("11", "B.CLOCK");
|
||||
register_subalias("12", "B.QQ");
|
||||
register_subalias("13", "B.Q");
|
||||
register_subalias("14", "A.VDD");
|
||||
|
||||
connect("A.VSS", "B.VSS");
|
||||
connect("A.VDD", "B.VDD");
|
||||
}
|
||||
//NETLIB_UPDATEI();
|
||||
//NETLIB_RESETI();
|
||||
|
||||
private:
|
||||
NETLIB_SUB(CD4013) m_A;
|
||||
NETLIB_SUB(CD4013) m_B;
|
||||
};
|
||||
|
||||
NETLIB_DEVICE_IMPL(CD4013, "CD4013", "+CLOCK,+DATA,+RESET,+SET,@VDD,@VSS")
|
||||
NETLIB_DEVICE_IMPL(CD4013_dip, "CD4013_DIP", "")
|
||||
|
||||
} //namespace devices
|
||||
} // namespace netlist
|
||||
|
@ -48,7 +48,4 @@
|
||||
#define CD4013(...) \
|
||||
NET_REGISTER_DEVEXT(CD4013, __VA_ARGS__)
|
||||
|
||||
#define CD4013_DIP(name) \
|
||||
NET_REGISTER_DEV(CD4013_DIP, name)
|
||||
|
||||
#endif /* NLD_4013_H_ */
|
||||
|
@ -1275,6 +1275,10 @@
|
||||
#define CD4070_DIP(...) \
|
||||
NET_REGISTER_DEVEXT(CD4070_DIP, __VA_ARGS__)
|
||||
|
||||
// usage : CD4013_DIP(name)
|
||||
#define CD4013_DIP(...) \
|
||||
NET_REGISTER_DEVEXT(CD4013_DIP, __VA_ARGS__)
|
||||
|
||||
// usage : CD4020_DIP(name)
|
||||
#define CD4020_DIP(...) \
|
||||
NET_REGISTER_DEVEXT(CD4020_DIP, __VA_ARGS__)
|
||||
|
@ -78,6 +78,41 @@ static NETLIST_START(CD4011_DIP)
|
||||
)
|
||||
NETLIST_END()
|
||||
|
||||
/* CD4013: Dual Positive-Edge-Triggered D Flip-Flops
|
||||
* with Set, Reset and Complementary Outputs
|
||||
*
|
||||
* +--------------+
|
||||
* Q1 |1 ++ 14| VDD
|
||||
* Q1Q |2 13| Q2
|
||||
* CLOCK1 |3 12| Q2Q
|
||||
* RESET1 |4 4013 11| CLOCK2
|
||||
* DATA1 |5 10| RESET2
|
||||
* SET1 |6 9| DATA2
|
||||
* VSS |7 8| SET2
|
||||
* +--------------+
|
||||
*
|
||||
* Naming conventions follow National Semiconductor datasheet
|
||||
*/
|
||||
|
||||
static NETLIST_START(CD4013_DIP)
|
||||
CD4013(A)
|
||||
CD4013(B)
|
||||
|
||||
NET_C(A.VDD, B.VDD)
|
||||
NET_C(A.VSS, B.VSS)
|
||||
|
||||
DIPPINS( /* +--------------+ */
|
||||
A.Q, /* Q1 |1 ++ 14| VDD */ A.VDD,
|
||||
A.QQ, /* Q1Q |2 13| Q2 */ B.Q,
|
||||
A.CLOCK, /* CLOCK1 |3 12| Q2Q */ B.QQ,
|
||||
A.RESET, /* RESET1 |4 4013 11| CLOCK2 */ B.CLOCK,
|
||||
A.DATA, /* DATA1 |5 10| RESET2 */ B.RESET,
|
||||
A.SET, /* SET1 |6 9| DATA2 */ B.DATA,
|
||||
A.VSS, /* VSS |7 8| SET2 */ B.SET
|
||||
/* +--------------+ */
|
||||
)
|
||||
NETLIST_END()
|
||||
|
||||
/* CD4020: 14-Stage Ripple Carry Binary Counters
|
||||
*
|
||||
* +--------------+
|
||||
@ -109,7 +144,7 @@ static NETLIST_START(CD4020_DIP)
|
||||
s1.Q7, /* Q7 |6 11| RESET */ s1.RESET,
|
||||
s1.Q4, /* Q4 |7 10| IP */ s1.IP,
|
||||
s1.VSS, /* VSS |8 9| Q1 */ s1.Q1
|
||||
/* +--------------+ */
|
||||
/* +--------------+ */
|
||||
)
|
||||
/*
|
||||
* IP = (Input pulses)
|
||||
@ -472,11 +507,12 @@ NETLIST_START(CD4XXX_lib)
|
||||
LOCAL_LIB_ENTRY(CD4070_DIP)
|
||||
|
||||
/* DIP ONLY */
|
||||
LOCAL_LIB_ENTRY(CD4013_DIP)
|
||||
LOCAL_LIB_ENTRY(CD4020_DIP)
|
||||
LOCAL_LIB_ENTRY(CD4024_DIP)
|
||||
LOCAL_LIB_ENTRY(CD4016_DIP)
|
||||
LOCAL_LIB_ENTRY(CD4053_DIP)
|
||||
LOCAL_LIB_ENTRY(CD4066_DIP)
|
||||
LOCAL_LIB_ENTRY(CD4016_DIP)
|
||||
LOCAL_LIB_ENTRY(CD4316_DIP)
|
||||
LOCAL_LIB_ENTRY(CD4538_DIP)
|
||||
|
||||
|
@ -13,6 +13,7 @@
|
||||
*
|
||||
* CD4001_NOR : single gate
|
||||
* CD4001_DIP : dip package
|
||||
* CD4013_DIP : dip package (device model in core)
|
||||
* CD4020_DIP : dip package (device model in core)
|
||||
* CD4024_DIP : dip package (device model in core)
|
||||
* CD4016_DIP : dip package (device model in core)
|
||||
@ -57,6 +58,9 @@
|
||||
* DIP only macros
|
||||
* ---------------------------------------------------------------------------*/
|
||||
|
||||
#define CD4013_DIP(name) \
|
||||
NET_REGISTER_DEV(CD4013_DIP, name)
|
||||
|
||||
#define CD4020_DIP(name) \
|
||||
NET_REGISTER_DEV(CD4020_DIP, name)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user