diff --git a/src/lib/netlist/devices/nld_system.cpp b/src/lib/netlist/devices/nld_system.cpp index 77317f778e4..98c3a5b47ec 100644 --- a/src/lib/netlist/devices/nld_system.cpp +++ b/src/lib/netlist/devices/nld_system.cpp @@ -203,7 +203,7 @@ void nld_d_to_a_proxy::start() register_output("_Q", m_Q); register_subalias("Q", m_RV.m_P); - connect_direct(m_RV.m_N, m_Q); + connect_late(m_RV.m_N, m_Q); save(NLNAME(m_last_state)); } diff --git a/src/lib/netlist/nl_base.cpp b/src/lib/netlist/nl_base.cpp index d79355b5de2..125d1733b57 100644 --- a/src/lib/netlist/nl_base.cpp +++ b/src/lib/netlist/nl_base.cpp @@ -542,7 +542,10 @@ ATTR_COLD void device_t::connect_late(const pstring &t1, const pstring &t2) setup().register_link_fqn(name() + "." + t1, name() + "." + t2); } -ATTR_COLD void device_t::connect_direct(core_terminal_t &t1, core_terminal_t &t2) +/* FIXME: this is only used by solver code since matrix solvers are started in + * post_start. + */ +ATTR_COLD void device_t::connect_post_start(core_terminal_t &t1, core_terminal_t &t2) { if (!setup().connect(t1, t2)) netlist().log().fatal("Error connecting {1} to {2}\n", t1.name(), t2.name()); diff --git a/src/lib/netlist/nl_base.h b/src/lib/netlist/nl_base.h index 46cfab1d953..933ea963a58 100644 --- a/src/lib/netlist/nl_base.h +++ b/src/lib/netlist/nl_base.h @@ -1138,7 +1138,7 @@ namespace netlist ATTR_COLD void connect_late(const pstring &t1, const pstring &t2); ATTR_COLD void connect_late(core_terminal_t &t1, core_terminal_t &t2); - ATTR_COLD void connect_direct(core_terminal_t &t1, core_terminal_t &t2); + ATTR_COLD void connect_post_start(core_terminal_t &t1, core_terminal_t &t2); pvector_t m_terminals; diff --git a/src/lib/netlist/solver/nld_solver.cpp b/src/lib/netlist/solver/nld_solver.cpp index 525cce76eee..811bdab2c0b 100644 --- a/src/lib/netlist/solver/nld_solver.cpp +++ b/src/lib/netlist/solver/nld_solver.cpp @@ -407,7 +407,7 @@ ATTR_COLD void matrix_solver_t::start() { register_output("Q_sync", m_Q_sync); register_input("FB_sync", m_fb_sync); - connect_direct(m_fb_sync, m_Q_sync); + connect_post_start(m_fb_sync, m_Q_sync); save(NLNAME(m_last_step)); save(NLNAME(m_cur_ts));