diff options
author | 2020-09-24 07:53:11 +0200 | |
---|---|---|
committer | 2020-09-24 15:22:22 +0200 | |
commit | 1bb99466bcfa188bca00855f80bd6098b0882419 (patch) | |
tree | 57b4b8d68d6efdeb18d424e4ef4a353a011d6fe8 /src/lib/netlist/devices/nld_7493.cpp | |
parent | 2fb9f38b83270cac34428738313cd2eee79f421e (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.cpp | 34 |
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; }; |