mirror of https://github.com/KLayout/klayout.git
Place diodes in debug mode for soft connections, but still generate log entries
This commit is contained in:
parent
6f48893cdb
commit
203a62f0af
|
|
@ -430,11 +430,7 @@ void LayoutToNetlist::extract_netlist ()
|
||||||
tl_assert (check_many_pins (mp_netlist.get ())); // @@@
|
tl_assert (check_many_pins (mp_netlist.get ())); // @@@
|
||||||
|
|
||||||
// treat soft connections
|
// treat soft connections
|
||||||
if (m_make_soft_connection_diodes) {
|
do_soft_connections ();
|
||||||
do_make_soft_connection_diodes ();
|
|
||||||
} else {
|
|
||||||
do_soft_connections ();
|
|
||||||
}
|
|
||||||
|
|
||||||
tl_assert (check_many_pins (mp_netlist.get ())); // @@@
|
tl_assert (check_many_pins (mp_netlist.get ())); // @@@
|
||||||
// implement the "join_nets" (aka "must connect") feature
|
// 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;
|
db::DeviceClassDiode *soft_diode = 0;
|
||||||
|
|
||||||
|
|
@ -690,7 +686,12 @@ void LayoutToNetlist::do_soft_connections ()
|
||||||
SoftConnectionInfo sc_info;
|
SoftConnectionInfo sc_info;
|
||||||
sc_info.build (*netlist (), net_clusters ());
|
sc_info.build (*netlist (), net_clusters ());
|
||||||
sc_info.report (*this);
|
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 ()
|
void LayoutToNetlist::do_join_nets ()
|
||||||
|
|
|
||||||
|
|
@ -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);
|
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
|
// for debugging and testing
|
||||||
void do_make_soft_connection_diodes ();
|
void place_soft_connection_diodes ();
|
||||||
|
|
||||||
// implementation of NetlistManipulationCallbacks
|
// implementation of NetlistManipulationCallbacks
|
||||||
virtual size_t link_net_to_parent_circuit (const Net *subcircuit_net, Circuit *parent_circuit, const DCplxTrans &trans);
|
virtual size_t link_net_to_parent_circuit (const Net *subcircuit_net, Circuit *parent_circuit, const DCplxTrans &trans);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue