diff options
Diffstat (limited to 'src/lib/netlist/devices/nld_7490.cpp')
-rw-r--r-- | src/lib/netlist/devices/nld_7490.cpp | 33 |
1 files changed, 16 insertions, 17 deletions
diff --git a/src/lib/netlist/devices/nld_7490.cpp b/src/lib/netlist/devices/nld_7490.cpp index 497547c3630..aa58541526d 100644 --- a/src/lib/netlist/devices/nld_7490.cpp +++ b/src/lib/netlist/devices/nld_7490.cpp @@ -11,8 +11,17 @@ namespace netlist { - namespace devices +namespace devices +{ + + static constexpr const std::array<netlist_time, 4> delay = { + NLTIME_FROM_NS(18), + NLTIME_FROM_NS(36) - NLTIME_FROM_NS(18), + NLTIME_FROM_NS(54) - NLTIME_FROM_NS(18), + NLTIME_FROM_NS(72) - NLTIME_FROM_NS(18) + }; + NETLIB_OBJECT(7490) { NETLIB_CONSTRUCTOR(7490) @@ -34,7 +43,11 @@ namespace netlist NETLIB_UPDATEI(); NETLIB_RESETI(); - void update_outputs() NL_NOEXCEPT; + void update_outputs() noexcept + { + for (std::size_t i=0; i<4; i++) + m_Q[i].push((m_cnt >> i) & 1, delay[i]); + } logic_input_t m_A; logic_input_t m_B; @@ -81,14 +94,6 @@ namespace netlist m_last_B = 0; } - static constexpr const std::array<netlist_time, 4> delay = - { - NLTIME_FROM_NS(18), - NLTIME_FROM_NS(36) - NLTIME_FROM_NS(18), - NLTIME_FROM_NS(54) - NLTIME_FROM_NS(18), - NLTIME_FROM_NS(72) - NLTIME_FROM_NS(18) - }; - NETLIB_UPDATE(7490) { const netlist_sig_t new_A = m_A(); @@ -123,14 +128,8 @@ namespace netlist m_last_B = new_B; } - NETLIB_FUNC_VOID(7490, update_outputs, ()) - { - for (std::size_t i=0; i<4; i++) - m_Q[i].push((m_cnt >> i) & 1, delay[i]); - } - NETLIB_DEVICE_IMPL(7490, "TTL_7490", "+A,+B,+R1,+R2,+R91,+R92,@VCC,@GND") NETLIB_DEVICE_IMPL(7490_dip, "TTL_7490_DIP", "") - } //namespace devices +} // namespace devices } // namespace netlist |