Simplify object model by removing default_logic_family().

This commit is contained in:
couriersud 2016-05-08 15:04:54 +02:00
parent df8280806b
commit 38ca93a5d7
9 changed files with 10 additions and 21 deletions

View File

@ -11,6 +11,7 @@ NETLIB_NAMESPACE_DEVICES_START()
NETLIB_START(CD4020)
{
set_logic_family(family_CD4XXX);
register_sub("sub", sub);
register_sub("supply", m_supply);

View File

@ -45,7 +45,6 @@ NETLIB_NAMESPACE_DEVICES_START()
NETLIB_SUBDEVICE(CD4020_sub,
NETLIB_LOGIC_FAMILY(CD4XXX)
ATTR_HOT void update_outputs(const UINT16 cnt);
logic_input_t m_IP;
@ -56,7 +55,6 @@ NETLIB_SUBDEVICE(CD4020_sub,
);
NETLIB_DEVICE(CD4020,
NETLIB_LOGIC_FAMILY(CD4XXX)
NETLIB_SUB(CD4020_sub) sub;
NETLIB_SUB(vdd_vss) m_supply;
logic_input_t m_RESET;

View File

@ -11,6 +11,7 @@ NETLIB_NAMESPACE_DEVICES_START()
NETLIB_START(CD4066_GATE)
{
set_logic_family(family_CD4XXX);
register_input("CTL", m_control);
register_sub("PS", m_supply);
register_sub("R", m_R);

View File

@ -33,7 +33,6 @@
NETLIB_NAMESPACE_DEVICES_START()
NETLIB_DEVICE(CD4066_GATE,
NETLIB_LOGIC_FAMILY(CD4XXX)
public:
analog_input_t m_control;

View File

@ -226,12 +226,14 @@ NETLIB_RESET(9602_dip)
NETLIB_START(4538_dip)
{
m_1->m_dev_type = 4538;
m_2->m_dev_type = 4538;
set_logic_family(family_CD4XXX);
register_sub("1", m_1);
register_sub("2", m_2);
m_1->m_dev_type = 4538;
m_2->m_dev_type = 4538;
register_subalias("1", m_1->m_RN->m_R->m_N); // C1
register_subalias("2", m_1->m_RN->m_R->m_P); // RC1
register_subalias("3", m_1->m_CLRQ);

View File

@ -116,7 +116,6 @@ NETLIB_DEVICE(9602_dip,
NET_REGISTER_DEV(CD4538_DIP, _name)
NETLIB_DEVICE(4538_dip,
NETLIB_LOGIC_FAMILY(CD4XXX)
NETLIB_SUB(74123) m_1;
NETLIB_SUB(74123) m_2;
);

View File

@ -49,8 +49,8 @@
#define TTL_7408_GATE(_name) \
NET_REGISTER_DEV(TTL_7408_GATE, _name)
#define TTL_7408_NAND(_name, _A, _B) \
NET_REGISTER_DEV(TTL_7408_NAND, _name) \
#define TTL_7408_AND(_name, _A, _B) \
NET_REGISTER_DEV(TTL_7408_AND, _name) \
NET_CONNECT(_name, A, _A) \
NET_CONNECT(_name, B, _B)

View File

@ -398,7 +398,7 @@ ATTR_COLD core_device_t::core_device_t(const family_t afamily, netlist_t &anetli
#endif
{
if (logic_family() == nullptr)
set_logic_family(this->default_logic_family());
set_logic_family(family_TTL);
init_object(anetlist, name);
}

View File

@ -251,13 +251,6 @@ using netlist_sig_t = std::uint32_t;
ATTR_HOT void update_param() override; \
, _priv)
#define NETLIB_LOGIC_FAMILY(_fam) \
virtual logic_family_desc_t *default_logic_family() override \
{ \
return family_ ## _fam; \
}
//============================================================
// Asserts
//============================================================
@ -1089,11 +1082,7 @@ namespace netlist
ATTR_HOT virtual void update() { }
virtual void start() { }
virtual void stop() { } \
virtual logic_family_desc_t *default_logic_family()
{
return family_TTL;
}
virtual void stop() { }
private: