summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/nl_setup.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/netlist/nl_setup.cpp')
-rw-r--r--src/lib/netlist/nl_setup.cpp21
1 files changed, 8 insertions, 13 deletions
diff --git a/src/lib/netlist/nl_setup.cpp b/src/lib/netlist/nl_setup.cpp
index 29bb21cbd66..399fe86d213 100644
--- a/src/lib/netlist/nl_setup.cpp
+++ b/src/lib/netlist/nl_setup.cpp
@@ -598,9 +598,6 @@ void setup_t::connect_terminal_output(terminal_t &in, core_terminal_t &out)
void setup_t::connect_terminals(core_terminal_t &t1, core_terminal_t &t2)
{
- //nl_assert(in.isType(netlist_terminal_t::TERMINAL));
- //nl_assert(out.isType(netlist_terminal_t::TERMINAL));
-
if (t1.has_net() && t2.has_net())
{
log().debug("T2 and T1 have net\n");
@@ -621,7 +618,6 @@ void setup_t::connect_terminals(core_terminal_t &t1, core_terminal_t &t2)
log().debug("adding net ...\n");
analog_net_t *anet = palloc(analog_net_t);
t1.set_net(*anet);
- //m_netlist.solver()->m_nets.add(anet);
// FIXME: Nets should have a unique name
t1.net().init_object(netlist(),"net." + t1.name() );
t1.net().register_con(t2);
@@ -651,8 +647,7 @@ bool setup_t::connect_input_input(core_terminal_t &t1, core_terminal_t &t2)
{
for (core_terminal_t *t : t1.net().m_core_terms)
{
- if (t->isType(core_terminal_t::TERMINAL)
- /*|| t1.net().m_core_terms[i]->isType(netlist_core_terminal_t::OUTPUT)*/)
+ if (t->isType(core_terminal_t::TERMINAL))
ret = connect(t2, *t);
if (ret)
break;
@@ -667,8 +662,7 @@ bool setup_t::connect_input_input(core_terminal_t &t1, core_terminal_t &t2)
{
for (core_terminal_t *t : t2.net().m_core_terms)
{
- if (t->isType(core_terminal_t::TERMINAL)
- /*|| t2.net().m_core_terms[i]->isType(netlist_core_terminal_t::OUTPUT)*/)
+ if (t->isType(core_terminal_t::TERMINAL))
ret = connect(t1, *t);
if (ret)
break;
@@ -793,11 +787,12 @@ void setup_t::resolve_inputs()
for (std::size_t i = 0; i < m_terminals.size(); i++)
{
core_terminal_t *term = m_terminals.value_at(i);
- if (!term->has_net())
+ if (!term->has_net() && dynamic_cast< devices::NETLIB_NAME(dummy_input) *>(&term->device()) != NULL)
+ log().warning("Found dummy terminal {1} without connections", term->name());
+ else if (!term->has_net())
errstr += pfmt("Found terminal {1} without a net\n")(term->name());
else if (term->net().num_cons() == 0)
- log().warning("Found terminal {1} without connections",
- term->name());
+ log().warning("Found terminal {1} without connections", term->name());
}
if (errstr != "")
log().fatal("{1}", errstr);
@@ -885,9 +880,9 @@ logic_family_desc_t *setup_t::family_from_model(const pstring &model)
model_parse(model, map);
if (setup_t::model_value_str(map, "TYPE") == "TTL")
- return netlist_family_TTL;
+ return family_TTL;
if (setup_t::model_value_str(map, "TYPE") == "CD4XXX")
- return netlist_family_CD4XXX;
+ return family_CD4XXX;
logic_family_std_proxy_t *ret = palloc(logic_family_std_proxy_t);