diff options
Diffstat (limited to 'src/lib/netlist/devices/nld_4020.cpp')
-rw-r--r-- | src/lib/netlist/devices/nld_4020.cpp | 72 |
1 files changed, 8 insertions, 64 deletions
diff --git a/src/lib/netlist/devices/nld_4020.cpp b/src/lib/netlist/devices/nld_4020.cpp index 6ceecd6846e..626a22f7d05 100644 --- a/src/lib/netlist/devices/nld_4020.cpp +++ b/src/lib/netlist/devices/nld_4020.cpp @@ -1,4 +1,4 @@ -// license:GPL-2.0+ +// license:BSD-3-Clause // copyright-holders:Couriersud /* * nld_4020.cpp @@ -40,10 +40,7 @@ #include "nl_base.h" #include "nl_factory.h" -namespace netlist -{ - namespace devices - { +namespace netlist::devices { template <unsigned TotalBits, unsigned LiveBitmask> NETLIB_OBJECT(CD4020_sub) @@ -111,64 +108,11 @@ namespace netlist nld_power_pins m_supply; }; - NETLIB_OBJECT(CD4020) - { - NETLIB_CONSTRUCTOR_MODEL(CD4020, "CD4XXX") - , m_sub(*this, "A") - { - register_subalias("IP", "A.IP"); - register_subalias("RESET", "A.RESET"); - register_subalias("Q1", "A.Q1"); - register_subalias("Q4", "A.Q4"); - register_subalias("Q5", "A.Q5"); - register_subalias("Q6", "A.Q6"); - register_subalias("Q7", "A.Q7"); - register_subalias("Q8", "A.Q8"); - register_subalias("Q9", "A.Q9"); - register_subalias("Q10", "A.Q10"); - register_subalias("Q11", "A.Q11"); - register_subalias("Q12", "A.Q12"); - register_subalias("Q13", "A.Q13"); - register_subalias("Q14", "A.Q14"); - register_subalias("VDD", "A.VDD"); - register_subalias("VSS", "A.VSS"); - } - - //NETLIB_RESETI() {} - - private: - NETLIB_SUB(CD4020_sub)<14, 0x3ff9> m_sub; - }; - - NETLIB_OBJECT(CD4024) - { - NETLIB_CONSTRUCTOR_MODEL(CD4024, "CD4XXX") - , m_sub(*this, "A") - { - register_subalias("IP", "A.IP"); - register_subalias("RESET", "A.RESET"); - register_subalias("Q1", "A.Q1"); - register_subalias("Q2", "A.Q2"); - register_subalias("Q3", "A.Q3"); - register_subalias("Q4", "A.Q4"); - register_subalias("Q5", "A.Q5"); - register_subalias("Q6", "A.Q6"); - register_subalias("Q7", "A.Q7"); - register_subalias("VDD", "A.VDD"); - register_subalias("VSS", "A.VSS"); - } - - //NETLIB_RESETI() {} - - private: - NETLIB_SUB(CD4020_sub)<7, 0x7f> m_sub; - }; - - - - NETLIB_DEVICE_IMPL(CD4020, "CD4020", "+IP,+RESET,+VDD,+VSS") + // FIXME: Exposes Q2 and Q3 as well + using NETLIB_NAME(CD4020_impl) = nld_CD4020_sub<14, 0x3ff9>; + NETLIB_DEVICE_IMPL_ALIAS(CD4020, CD4020_impl,"CD4020", "+IP,+RESET,+VDD,+VSS") - NETLIB_DEVICE_IMPL(CD4024, "CD4024", "") + using NETLIB_NAME(CD4024_impl) = nld_CD4020_sub<7, 0x7f>; + NETLIB_DEVICE_IMPL_ALIAS(CD4024, CD4024_impl, "CD4024", "") - } //namespace devices -} // namespace netlist +} // namespace netlist::devices |