mirror of
https://github.com/holub/mame
synced 2025-04-21 16:01:56 +03:00
netlist: macro dip definition for 8277,am2847,mm5837.
This commit is contained in:
parent
e59030aa3d
commit
f7ace42947
@ -271,10 +271,8 @@ namespace devices
|
||||
LIB_ENTRY(r2r_dac)
|
||||
LIB_ENTRY(tristate)
|
||||
LIB_ENTRY(tristate3)
|
||||
LIB_ENTRY(8277_dip)
|
||||
LIB_ENTRY(9602)
|
||||
LIB_ENTRY(AM2847_dip)
|
||||
LIB_ENTRY(MM5837_dip)
|
||||
LIB_ENTRY(MM5837)
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -116,7 +116,6 @@ namespace netlist
|
||||
m_last_CLKB = 0;
|
||||
}
|
||||
|
||||
friend class NETLIB_NAME(8277_dip);
|
||||
private:
|
||||
NETLIB_HANDLERI(shifter_reset)
|
||||
{
|
||||
@ -169,36 +168,7 @@ namespace netlist
|
||||
state_var<uint32_t> m_last_CLKB;
|
||||
};
|
||||
|
||||
NETLIB_OBJECT(8277_dip)
|
||||
{
|
||||
NETLIB_CONSTRUCTOR(8277_dip)
|
||||
, A(*this, "A")
|
||||
{
|
||||
register_subalias("1", A.m_RESET);
|
||||
register_subalias("2", A.m_A.m_Q7Q);
|
||||
register_subalias("3", A.m_A.m_Q7);
|
||||
register_subalias("4", A.m_A.m_DS);
|
||||
register_subalias("5", A.m_A.m_D1);
|
||||
register_subalias("6", A.m_A.m_D0);
|
||||
register_subalias("7", A.m_CLKA);
|
||||
register_subalias("8", "A.GND");
|
||||
|
||||
register_subalias("9", A.m_CLK);
|
||||
register_subalias("10", A.m_CLKB);
|
||||
register_subalias("11", A.m_B.m_D0);
|
||||
register_subalias("12", A.m_B.m_D1);
|
||||
register_subalias("13", A.m_B.m_DS);
|
||||
register_subalias("14", A.m_B.m_Q7);
|
||||
register_subalias("15", A.m_B.m_Q7Q);
|
||||
register_subalias("16", "A.VCC");
|
||||
}
|
||||
//NETLIB_RESETI() {}
|
||||
private:
|
||||
NETLIB_SUB(8277) A;
|
||||
};
|
||||
|
||||
NETLIB_DEVICE_IMPL(8277, "TTL_8277", "+RESET,+CLK,+CLKA,+D0A,+D1A,+DSA,+CLKB,+D0B,+D1B,+DSB,@VCC,@GND")
|
||||
NETLIB_DEVICE_IMPL(8277_dip, "TTL_8277_DIP", "")
|
||||
|
||||
} //namespace devices
|
||||
} // namespace netlist
|
||||
|
@ -6,22 +6,9 @@
|
||||
|
||||
#include "netlist/nl_setup.h"
|
||||
|
||||
#define TTL_8277(name, cRESET, cCLK, cCLKA, cD0A, cD1A, cDSA, cCLKB, cD0B, cD1B, cDSB) \
|
||||
NET_REGISTER_DEV(TTL_8277, name) \
|
||||
NET_CONNECT(name, VCC, VCC) \
|
||||
NET_CONNECT(name, GND, GND) \
|
||||
NET_CONNECT(name, RESET, cRESET) \
|
||||
NET_CONNECT(name, CLK, cCLK) \
|
||||
NET_CONNECT(name, CLKA, cCLKA) \
|
||||
NET_CONNECT(name, CLKB, cCLKB) \
|
||||
NET_CONNECT(name, D0A, cD0A) \
|
||||
NET_CONNECT(name, D0B, cD0B) \
|
||||
NET_CONNECT(name, D1A, cD1A) \
|
||||
NET_CONNECT(name, D1B, cD1B) \
|
||||
NET_CONNECT(name, DSA, cDSA) \
|
||||
NET_CONNECT(name, DSB, cDSB)
|
||||
|
||||
#define TTL_8277_DIP(name) \
|
||||
NET_REGISTER_DEV(TTL_8277_DIP, name)
|
||||
// usage : TTL_8277(name, pRESET, pCLK, pCLKA, pD0A, pD1A, pDSA, pCLKB, pD0B, pD1B, pDSB)
|
||||
// auto connect: VCC, GND
|
||||
#define TTL_8277(...) \
|
||||
NET_REGISTER_DEVEXT(TTL_8277, __VA_ARGS__)
|
||||
|
||||
#endif /* NLD_2877_H_ */
|
||||
|
@ -105,7 +105,6 @@ namespace netlist
|
||||
m_last_CP = 0;
|
||||
}
|
||||
|
||||
friend class NETLIB_NAME(AM2847_dip);
|
||||
private:
|
||||
NETLIB_HANDLERI(cp)
|
||||
{
|
||||
@ -128,35 +127,7 @@ namespace netlist
|
||||
state_var<uint32_t> m_last_CP;
|
||||
};
|
||||
|
||||
NETLIB_OBJECT(AM2847_dip)
|
||||
{
|
||||
NETLIB_CONSTRUCTOR(AM2847_dip)
|
||||
, A(*this, "A")
|
||||
{
|
||||
register_subalias("1", A.m_A.m_OUT);
|
||||
register_subalias("2", A.m_A.m_RC);
|
||||
register_subalias("3", A.m_A.m_IN);
|
||||
register_subalias("4", A.m_B.m_OUT);
|
||||
register_subalias("5", A.m_B.m_RC);
|
||||
register_subalias("6", A.m_B.m_IN);
|
||||
register_subalias("7", A.m_C.m_OUT);
|
||||
register_subalias("8", "A.VDD");
|
||||
|
||||
register_subalias("9", A.m_C.m_RC);
|
||||
register_subalias("10", A.m_C.m_IN);
|
||||
register_subalias("11", A.m_CP);
|
||||
register_subalias("13", A.m_D.m_OUT);
|
||||
register_subalias("14", A.m_D.m_RC);
|
||||
register_subalias("15", A.m_D.m_IN);
|
||||
register_subalias("16", "A.VSS");
|
||||
}
|
||||
//NETLIB_RESETI() {}
|
||||
private:
|
||||
NETLIB_SUB(AM2847) A;
|
||||
};
|
||||
|
||||
NETLIB_DEVICE_IMPL(AM2847, "TTL_AM2847", "+CP,+INA,+INB,+INC,+IND,+RCA,+RCB,+RCC,+RCD,@VSS,@VDD")
|
||||
NETLIB_DEVICE_IMPL(AM2847_dip, "TTL_AM2847_DIP", "")
|
||||
|
||||
} //namespace devices
|
||||
} // namespace netlist
|
||||
|
@ -6,21 +6,7 @@
|
||||
|
||||
#include "netlist/nl_setup.h"
|
||||
|
||||
#define TTL_AM2847(name, cCP, cINA, cINB, cINC, cIND, cRCA, cRCB, cRCC, cRCD) \
|
||||
NET_REGISTER_DEV(TTL_AM2847, name) \
|
||||
NET_CONNECT(name, VDD, VDD) \
|
||||
NET_CONNECT(name, VSS, VSS) \
|
||||
NET_CONNECT(name, CP, cCP) \
|
||||
NET_CONNECT(name, INA, cINA) \
|
||||
NET_CONNECT(name, INB, cINB) \
|
||||
NET_CONNECT(name, INC, cINC) \
|
||||
NET_CONNECT(name, IND, cIND) \
|
||||
NET_CONNECT(name, RCA, cRCA) \
|
||||
NET_CONNECT(name, RCB, cRCB) \
|
||||
NET_CONNECT(name, RCC, cRCC) \
|
||||
NET_CONNECT(name, RCD, cRCD)
|
||||
|
||||
#define TTL_AM2847_DIP(name) \
|
||||
NET_REGISTER_DEV(TTL_AM2847_DIP, name)
|
||||
#define TTL_AM2847(...) \
|
||||
NET_REGISTER_DEVEXT(TTL_AM2847, __VA_ARGS__)
|
||||
|
||||
#endif /* NLD_AM2847_H_ */
|
||||
|
@ -24,13 +24,13 @@ namespace netlist
|
||||
{
|
||||
namespace devices
|
||||
{
|
||||
NETLIB_OBJECT(MM5837_dip)
|
||||
NETLIB_OBJECT(MM5837)
|
||||
{
|
||||
NETLIB_CONSTRUCTOR(MM5837_dip)
|
||||
NETLIB_CONSTRUCTOR(MM5837)
|
||||
, m_RV(*this, "_RV")
|
||||
, m_VDD(*this, "1", NETLIB_DELEGATE(inputs))
|
||||
, m_VGG(*this, "2", NETLIB_DELEGATE(inputs))
|
||||
, m_VSS(*this, "4", NETLIB_DELEGATE(inputs))
|
||||
, m_VDD(*this, "VDD", NETLIB_DELEGATE(inputs))
|
||||
, m_VGG(*this, "VGG", NETLIB_DELEGATE(inputs))
|
||||
, m_VSS(*this, "VSS", NETLIB_DELEGATE(inputs))
|
||||
, m_FREQ(*this, "FREQ", 24000 * 2)
|
||||
, m_R_LOW(*this, "R_LOW", 1000)
|
||||
, m_R_HIGH(*this, "R_HIGH", 1000)
|
||||
@ -44,7 +44,7 @@ namespace netlist
|
||||
|
||||
// output
|
||||
connect(m_RV.N(), m_VDD);
|
||||
register_subalias("3", m_RV.P());
|
||||
register_subalias("OUT", m_RV.P());
|
||||
}
|
||||
|
||||
NETLIB_RESETI()
|
||||
@ -114,7 +114,7 @@ namespace netlist
|
||||
state_var_u32 m_shift;
|
||||
};
|
||||
|
||||
NETLIB_DEVICE_IMPL(MM5837_dip, "MM5837_DIP", "")
|
||||
NETLIB_DEVICE_IMPL(MM5837, "MM5837", "")
|
||||
|
||||
} //namespace devices
|
||||
} // namespace netlist
|
||||
|
@ -6,7 +6,7 @@
|
||||
|
||||
#include "netlist/nl_setup.h"
|
||||
|
||||
#define MM5837_DIP(name) \
|
||||
NET_REGISTER_DEV(MM5837_DIP, name)
|
||||
#define MM5837(name) \
|
||||
NET_REGISTER_DEV(MM5837, name)
|
||||
|
||||
#endif /* NLD_MM5837_H_ */
|
||||
|
@ -551,6 +551,24 @@ static NETLIST_START(CD4538_DIP)
|
||||
)
|
||||
NETLIST_END()
|
||||
|
||||
//FIXME: Documentation
|
||||
static NETLIST_START(MM5837_DIP)
|
||||
MM5837(A)
|
||||
NC_PIN(NC)
|
||||
|
||||
// Create a parameter freq for the dip model
|
||||
// The default will be A's FREQ parameter.
|
||||
DEFPARAM(FREQ, "$(@.A.FREQ")
|
||||
PARAM(A.FREQ, "$(@.FREQ)")
|
||||
|
||||
DIPPINS( /* +--------+ */
|
||||
A.VDD, /* VDD |1 ++ 8| NC */ NC.I,
|
||||
A.VGG, /* VGG |2 7| NC */ NC.I,
|
||||
A.OUT, /* OUT |3 6| NC */ NC.I,
|
||||
A.VSS, /* VSS |4 5| NC */ NC.I,
|
||||
/* +--------+ */
|
||||
)
|
||||
NETLIST_END()
|
||||
|
||||
NETLIST_START(cd4xxx_lib)
|
||||
|
||||
@ -604,4 +622,6 @@ NETLIST_START(cd4xxx_lib)
|
||||
LOCAL_LIB_ENTRY(CD4316_DIP)
|
||||
LOCAL_LIB_ENTRY(CD4538_DIP)
|
||||
|
||||
LOCAL_LIB_ENTRY(MM5837_DIP)
|
||||
|
||||
NETLIST_END()
|
||||
|
@ -88,9 +88,12 @@
|
||||
#define CD4316_DIP(name) \
|
||||
NET_REGISTER_DEV(CD4016_DIP, name)
|
||||
|
||||
#define CD4538_DIP(name) \
|
||||
#define CD4538_DIP(name) \
|
||||
NET_REGISTER_DEV(CD4538_DIP, name)
|
||||
|
||||
#define MM5837_DIP(name) \
|
||||
NET_REGISTER_DEV(MM5837_DIP, name)
|
||||
|
||||
#endif // !NL_AUTO_DEVICES
|
||||
|
||||
/* ----------------------------------------------------------------------------
|
||||
|
@ -3056,6 +3056,40 @@ static NETLIST_START(TTL_9602_DIP)
|
||||
)
|
||||
NETLIST_END()
|
||||
|
||||
// FIXME: Documentation and naming
|
||||
static NETLIST_START(TTL_8277_DIP)
|
||||
TTL_8277(A)
|
||||
|
||||
DIPPINS( /* +--------------+ */
|
||||
A.RESET, /* RESET |1 ++ 16| VCC */ A.VCC,
|
||||
A.Q7QA, /* /Q7A |2 15| /Q7B */ A.Q7QB,
|
||||
A.Q7A, /* Q7A |3 14| Q7B */ A.Q7B,
|
||||
A.DSA, /* DSA |4 8277 13| DSB */ A.DSB,
|
||||
A.D1A, /* D1A |5 12| D1B */ A.D1B,
|
||||
A.D0A, /* D0A |6 11| D0B */ A.D0B,
|
||||
A.CLKA, /* CLKA |7 10| CLKB */ A.CLKB,
|
||||
A.GND, /* GND |8 9| CLK */ A.CLK
|
||||
/* +--------------+ */
|
||||
)
|
||||
NETLIST_END()
|
||||
|
||||
// FIXME: Documentation, add model, seems to be a CMOS device
|
||||
static NETLIST_START(TTL_AM2847_DIP)
|
||||
TTL_AM2847(A)
|
||||
|
||||
DIPPINS( /* +--------------+ */
|
||||
A.OUTA, /* OUTA |1 ++ 16| VSS */ A.VSS,
|
||||
A.RCA, /* RCA |2 15| IND */ A.IND,
|
||||
A.INA, /* INA |3 14| RCD */ A.RCD,
|
||||
A.OUTB, /* OUTB |4 Am2847 13| OUTD */ A.OUTD,
|
||||
A.RCB, /* RCB |5 12| VGG */ A.VGG,
|
||||
A.INB, /* INB |6 11| CP */ A.CP,
|
||||
A.OUTC, /* OUTC |7 10| INC */ A.INC,
|
||||
A.VDD, /* VDD |8 9| RCC */ A.RCC
|
||||
/* +--------------+ */
|
||||
)
|
||||
NETLIST_END()
|
||||
|
||||
|
||||
NETLIST_START(ttl74xx_lib)
|
||||
NET_MODEL("DM7414 SCHMITT_TRIGGER(VTP=1.7 VTM=0.9 VI=4.35 RI=6.15k VOH=3.5 ROH=120 VOL=0.1 ROL=37.5 TPLH=15 TPHL=15)")
|
||||
@ -3453,4 +3487,6 @@ NETLIST_START(ttl74xx_lib)
|
||||
LOCAL_LIB_ENTRY(TTL_9321_DIP)
|
||||
LOCAL_LIB_ENTRY(TTL_9322_DIP)
|
||||
LOCAL_LIB_ENTRY(TTL_9334_DIP)
|
||||
LOCAL_LIB_ENTRY(TTL_8277_DIP)
|
||||
LOCAL_LIB_ENTRY(TTL_AM2847_DIP)
|
||||
NETLIST_END()
|
||||
|
@ -308,6 +308,12 @@
|
||||
#define TTL_9334_DIP(name) \
|
||||
NET_REGISTER_DEV(TTL_9334_DIP, name)
|
||||
|
||||
#define TTL_8277_DIP(name) \
|
||||
NET_REGISTER_DEV(TTL_8277_DIP, name)
|
||||
|
||||
#define TTL_AM2847_DIP(name) \
|
||||
NET_REGISTER_DEV(TTL_AM2847_DIP, name)
|
||||
|
||||
#endif // NL_AUTO_DEVICES
|
||||
|
||||
/* ----------------------------------------------------------------------------
|
||||
|
Loading…
Reference in New Issue
Block a user