ATTR_HOT void netlist_net_t::dec_active(netlist_core_terminal_t &term) { m_active--; m_list_active.remove(term); if (m_active == 0 && netlist().use_deactivate()) railterminal().netdev().dec_active(); }
ATTR_HOT void netlist_net_t::inc_active(netlist_core_terminal_t &term) { m_active++; m_list_active.insert(term); if (m_active == 1) { if (netlist().use_deactivate()) { railterminal().netdev().inc_active(); //m_cur_Q = m_new_Q; } if (m_in_queue == 0) { if (m_time > netlist().time()) { m_in_queue = 1; /* pending */ netlist().push_to_queue(*this, m_time); } else { m_cur_Q = m_new_Q; m_in_queue = 2; } } //else if (netlist().use_deactivate()) // m_cur_Q = m_new_Q; } }
void detail::net_t::dec_active(core_terminal_t &term) { --m_active; nl_assert(m_active >= 0); m_list_active.remove(&term); if (m_active == 0) railterminal().device().do_dec_active(); }
ATTR_HOT void net_t::dec_active(core_terminal_t &term) { m_active--; nl_assert(m_active >= 0); m_list_active.remove(term); if (m_active == 0 && netlist().use_deactivate()) railterminal().device().dec_active(); }
void detail::net_t::inc_active(core_terminal_t &term) { m_active++; m_list_active.push_front(&term); nl_assert(m_active <= static_cast<int>(num_cons())); if (m_active == 1) { railterminal().device().do_inc_active(); if (m_in_queue == 0) { if (m_time > netlist().time()) { m_in_queue = 1; /* pending */ netlist().push_to_queue(*this, m_time); } else { m_cur_Q = m_new_Q; m_in_queue = 2; } } } }