summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/devices/nld_7493.cpp
diff options
context:
space:
mode:
author couriersud <couriersud@gmx.org>2020-09-24 07:53:11 +0200
committer couriersud <couriersud@gmx.org>2020-09-24 15:22:22 +0200
commit1bb99466bcfa188bca00855f80bd6098b0882419 (patch)
tree57b4b8d68d6efdeb18d424e4ef4a353a011d6fe8 /src/lib/netlist/devices/nld_7493.cpp
parent2fb9f38b83270cac34428738313cd2eee79f421e (diff)
netlist: code refactoring
* use default move and copy constructors * various minor edits like adding noexcept * removed a lot of inline keywords - you can't beat the compiler
Diffstat (limited to 'src/lib/netlist/devices/nld_7493.cpp')
-rw-r--r--src/lib/netlist/devices/nld_7493.cpp34
1 files changed, 14 insertions, 20 deletions
diff --git a/src/lib/netlist/devices/nld_7493.cpp b/src/lib/netlist/devices/nld_7493.cpp
index c52418f8d2e..1f22ce27fe8 100644
--- a/src/lib/netlist/devices/nld_7493.cpp
+++ b/src/lib/netlist/devices/nld_7493.cpp
@@ -62,22 +62,19 @@ namespace netlist
namespace devices
{
- static constexpr const netlist_time out_delay = NLTIME_FROM_NS(18);
- static constexpr const netlist_time out_delay2 = NLTIME_FROM_NS(36);
- static constexpr const netlist_time out_delay3 = NLTIME_FROM_NS(54);
+ static const std::array<netlist_time, 3> out_delay { NLTIME_FROM_NS(18), NLTIME_FROM_NS(36), NLTIME_FROM_NS(54) };
NETLIB_OBJECT(7493)
{
NETLIB_CONSTRUCTOR(7493)
- , m_R1(*this, "R1", NETLIB_DELEGATE(inputs))
- , m_R2(*this, "R2", NETLIB_DELEGATE(inputs))
- , m_a(*this, "_m_a", 0)
- , m_bcd(*this, "_m_b", 0)
- , m_r(*this, "_m_r", 0)
, m_CLKA(*this, "CLKA", NETLIB_DELEGATE(updA))
, m_CLKB(*this, "CLKB", NETLIB_DELEGATE(updB))
, m_QA(*this, "QA")
, m_QB(*this, {"QB", "QC", "QD"})
+ , m_a(*this, "m_a", 0)
+ , m_bcd(*this, "m_b", 0)
+ , m_R1(*this, "R1", NETLIB_DELEGATE(inputs))
+ , m_R2(*this, "R2", NETLIB_DELEGATE(inputs))
, m_power_pins(*this)
{
}
@@ -110,30 +107,27 @@ namespace netlist
NETLIB_HANDLERI(updA)
{
m_a ^= 1;
- m_QA.push(m_a, out_delay);
+ m_QA.push(m_a, out_delay[0]);
}
NETLIB_HANDLERI(updB)
{
const auto cnt(++m_bcd &= 0x07);
-
- m_QB[2].push((cnt >> 2) & 1, out_delay3);
- m_QB[1].push((cnt >> 1) & 1, out_delay2);
- m_QB[0].push(cnt & 1, out_delay);
+ m_QB.push(cnt, out_delay);
}
- logic_input_t m_R1;
- logic_input_t m_R2;
-
- state_var_sig m_a;
- state_var_sig m_bcd;
- state_var_sig m_r;
-
logic_input_t m_CLKA;
logic_input_t m_CLKB;
logic_output_t m_QA;
object_array_t<logic_output_t, 3> m_QB;
+
+ state_var<unsigned> m_a;
+ state_var<unsigned> m_bcd;
+
+ logic_input_t m_R1;
+ logic_input_t m_R2;
+
nld_power_pins m_power_pins;
};