summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/devices/nld_4020.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/netlist/devices/nld_4020.cpp')
-rw-r--r--src/lib/netlist/devices/nld_4020.cpp72
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