diff options
| author | 2019-04-21 18:27:42 +0200 | |
|---|---|---|
| committer | 2019-04-21 18:28:01 +0200 | |
| commit | 7dfd781e222dd0c686aaf46443411d72e1146875 (patch) | |
| tree | 9ebb9315d732eda5c70e076f8d8f5218097307d4 /src/lib/netlist/nl_setup.cpp | |
| parent | f9f5fc63fec57ef332c4e7ad3ff829014beddb95 (diff) | |
netlist: Add more validations and fix issues identified.
Diffstat (limited to 'src/lib/netlist/nl_setup.cpp')
| -rw-r--r-- | src/lib/netlist/nl_setup.cpp | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/src/lib/netlist/nl_setup.cpp b/src/lib/netlist/nl_setup.cpp index ede026a593d..6a5cf841a22 100644 --- a/src/lib/netlist/nl_setup.cpp +++ b/src/lib/netlist/nl_setup.cpp @@ -733,7 +733,6 @@ bool setup_t::connect(detail::core_terminal_t &t1_in, detail::core_terminal_t &t } else ret = false; - //netlist().error("Connecting {1} to {2} not supported!\n", t1.name(), t2.name()); return ret; } @@ -1097,12 +1096,15 @@ void setup_t::prepare_to_run() auto f = m_params.find(p.first); if (f == m_params.end()) { - if (plib::endsWith(p.first, pstring(".HINT_NO_DEACTIVATE"))) + if (plib::endsWith(p.first, sHINT_NO_DEACTIVATE)) { // FIXME: get device name, check for device + auto *dev = m_nlstate.find_device(plib::replace_all(p.first, sHINT_NO_DEACTIVATE, "")); + if (dev == nullptr) + log().warning(MW_DEVICE_NOT_FOUND_FOR_HINT(p.first)); } else - log().warning("Unknown parameter: {}", p.first); + log().warning(MW_UNKNOWN_PARAMETER(p.first)); } } @@ -1112,7 +1114,7 @@ void setup_t::prepare_to_run() { if (use_deactivate) { - auto p = m_param_values.find(d.second->name() + ".HINT_NO_DEACTIVATE"); + auto p = m_param_values.find(d.second->name() + sHINT_NO_DEACTIVATE); if (p != m_param_values.end()) { //FIXME: check for errors ... @@ -1134,12 +1136,20 @@ void setup_t::prepare_to_run() { if (t->m_N.net().isRailNet() && t->m_P.net().isRailNet()) { - log().info(MI_REMOVE_DEVICE_1_CONNECTED_ONLY_TO_RAILS_2_3( - t->name(), t->m_N.net().name(), t->m_P.net().name())); + // We are not interested in power terminals - This is intended behaviour + if (!plib::endsWith(t->name(), pstring(".") + sPowerDevRes)) + log().info(MI_REMOVE_DEVICE_1_CONNECTED_ONLY_TO_RAILS_2_3( + t->name(), t->m_N.net().name(), t->m_P.net().name())); t->m_N.net().remove_terminal(t->m_N); t->m_P.net().remove_terminal(t->m_P); m_nlstate.remove_dev(t); } + else + { + if (plib::endsWith(t->name(), pstring(".") + sPowerDevRes)) + log().info(MI_POWER_TERMINALS_1_CONNECTED_ANALOG_2_3( + t->name(), t->m_N.net().name(), t->m_P.net().name())); + } } log().verbose("initialize solver ...\n"); |
