Place diodes in debug mode for soft connections, but still generate log entries

This commit is contained in:
Matthias Koefferlein 2024-03-17 20:41:45 +01:00
parent 6f48893cdb
commit 203a62f0af
2 changed files with 9 additions and 8 deletions

View File

@ -430,11 +430,7 @@ void LayoutToNetlist::extract_netlist ()
tl_assert (check_many_pins (mp_netlist.get ())); // @@@
// treat soft connections
if (m_make_soft_connection_diodes) {
do_make_soft_connection_diodes ();
} else {
do_soft_connections ();
}
do_soft_connections ();
tl_assert (check_many_pins (mp_netlist.get ())); // @@@
// implement the "join_nets" (aka "must connect") feature
@ -650,7 +646,7 @@ void LayoutToNetlist::check_must_connect_impl (const db::Circuit &c, const db::N
}
}
void LayoutToNetlist::do_make_soft_connection_diodes ()
void LayoutToNetlist::place_soft_connection_diodes ()
{
db::DeviceClassDiode *soft_diode = 0;
@ -690,7 +686,12 @@ void LayoutToNetlist::do_soft_connections ()
SoftConnectionInfo sc_info;
sc_info.build (*netlist (), net_clusters ());
sc_info.report (*this);
sc_info.join_soft_connections (*netlist ());
if (m_make_soft_connection_diodes) {
place_soft_connection_diodes ();
} else {
sc_info.join_soft_connections (*netlist ());
}
}
void LayoutToNetlist::do_join_nets ()

View File

@ -1113,7 +1113,7 @@ private:
void check_must_connect_impl (const db::Circuit &c, const db::Net &a, const db::Net &b, const db::Circuit &c_org, const db::Net &a_org, const db::Net &b_org, std::vector<const db::SubCircuit *> &path);
// for debugging and testing
void do_make_soft_connection_diodes ();
void place_soft_connection_diodes ();
// implementation of NetlistManipulationCallbacks
virtual size_t link_net_to_parent_circuit (const Net *subcircuit_net, Circuit *parent_circuit, const DCplxTrans &trans);