From 58de38739abbc637cbbecf477f7bc8606fa7261a Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Tue, 25 Feb 2020 00:07:48 +0100 Subject: [PATCH 01/10] WIP: some refactoring, debugging output for netlist compare Abstraction: a central getenv() feature to wrap all the system-specific things Netlist compare debug and options can be enabled through environment variables: KLAYOUT_NETLIST_COMPARE_DEBUG_NETCOMPARE=1: print netlist compare debug info KLAYOUT_NETLIST_COMPARE_DEBUG_NETGRAPH=1: print net grapg KLAYOUT_NETLIST_COMPARE_CASE_SENSITIVE=1: make netlist compare case sensitive --- src/db/db/dbNetlistCompare.cc | 319 ++++++++++-------- src/lay/lay/layApplication.cc | 8 - src/lay/lay/layApplication.h | 10 - src/lay/lay/laySystemPaths.cc | 55 +-- .../tools/xor/lay_plugin/layXORToolDialog.cc | 3 +- src/tl/tl/tl.pro | 6 +- src/tl/tl/tlEnv.cc | 85 +++++ src/tl/tl/tlEnv.h | 65 ++++ src/tl/tl/tlExpression.cc | 8 +- src/tl/tl/tlLog.cc | 22 +- src/tl/tl/tlUnitTest.cc | 9 +- src/tl/unit_tests/tlExpression.cc | 4 +- 12 files changed, 358 insertions(+), 236 deletions(-) create mode 100644 src/tl/tl/tlEnv.cc create mode 100644 src/tl/tl/tlEnv.h diff --git a/src/db/db/dbNetlistCompare.cc b/src/db/db/dbNetlistCompare.cc index 237fa1059..4ac53a39a 100644 --- a/src/db/db/dbNetlistCompare.cc +++ b/src/db/db/dbNetlistCompare.cc @@ -27,20 +27,49 @@ #include "tlTimer.h" #include "tlEquivalenceClusters.h" #include "tlLog.h" +#include "tlEnv.h" #include -// verbose debug output -// TODO: make this a feature? -// #define PRINT_DEBUG_NETCOMPARE +namespace { -// verbose net graph output -// TODO: make this a feature? -// #define PRINT_DEBUG_NETGRAPH +struct GlobalCompareOptions +{ + GlobalCompareOptions () + { + m_is_initialized = false; + } -// Add this define for case insensitive compare -// (applies to circuits, device classes) -#define COMPARE_CASE_INSENSITIVE + void ensure_initialized () + { + if (! m_is_initialized) { + // $KLAYOUT_NETLIST_COMPARE_DEBUG_NETCOMPARE + debug_netcompare = tl::app_flag ("netlist-compare-debug-netcompare"); + // $KLAYOUT_NETLIST_COMPARE_DEBUG_NETGRAPH + debug_netgraph = tl::app_flag ("netlist-compare-debug-netgraph"); + // $KLAYOUT_NETLIST_COMPARE_CASE_SENSITIVE + compare_case_sensitive = tl::app_flag ("netlist-compare-case-sensitive"); + m_is_initialized = true; + } + } + + bool debug_netcompare; + bool debug_netgraph; + bool compare_case_sensitive; + +private: + bool m_is_initialized; +}; + +} + +static GlobalCompareOptions *options () +{ + // TODO: thread safe? + static GlobalCompareOptions s_options; + s_options.ensure_initialized (); + return &s_options; +} // A constant indicating a failed match const size_t failed_match = std::numeric_limits::max (); @@ -63,28 +92,25 @@ namespace db static int name_compare (const std::string &n1, const std::string &n2) { // TODO: unicode support? -#if defined(COMPARE_CASE_INSENSITIVE) + if (options ()->compare_case_sensitive) { + return strcmp (n1.c_str (), n2.c_str ()); + } else { #if defined(_WIN32) - return _stricmp (n1.c_str (), n2.c_str ()); + return _stricmp (n1.c_str (), n2.c_str ()); #else - return strcasecmp (n1.c_str (), n2.c_str ()); -#endif -#else - return strcmp (n1.c_str (), n2.c_str ()); + return strcasecmp (n1.c_str (), n2.c_str ()); #endif + } } -#if defined(COMPARE_CASE_INSENSITIVE) -static std::string normalize_name (const std::string &n) +static inline std::string normalize_name (const std::string &n) { - return tl::to_upper_case (n); + if (options ()->compare_case_sensitive) { + return n; + } else { + return tl::to_upper_case (n); + } } -#else -static inline const std::string &normalize_name (const std::string &n) -{ - return n; -} -#endif // -------------------------------------------------------------------------------------------------------------------- // DeviceCompare definition and implementation @@ -1515,11 +1541,12 @@ NetGraph::build (const db::Circuit *c, DeviceCategorizer &device_categorizer, Ci for (std::vector::iterator i = m_nodes.begin (); i != m_nodes.end (); ++i) { i->apply_net_index (m_net_index); } -#if defined(PRINT_DEBUG_NETGRAPH) - for (std::vector::iterator i = m_nodes.begin (); i != m_nodes.end (); ++i) { - tl::info << i->to_string () << tl::noendl; + + if (options ()->debug_netgraph) { + for (std::vector::iterator i = m_nodes.begin (); i != m_nodes.end (); ++i) { + tl::info << i->to_string () << tl::noendl; + } } -#endif // create subcircuit virtual nodes @@ -1543,11 +1570,12 @@ NetGraph::build (const db::Circuit *c, DeviceCategorizer &device_categorizer, Ci for (std::map::iterator i = m_virtual_nodes.begin (); i != m_virtual_nodes.end (); ++i) { i->second.apply_net_index (m_net_index); } -#if defined(PRINT_DEBUG_NETGRAPH) - for (std::map::iterator i = m_virtual_nodes.begin (); i != m_virtual_nodes.end (); ++i) { - tl::info << i->second.to_string () << tl::noendl; + + if (options ()->debug_netgraph) { + for (std::map::iterator i = m_virtual_nodes.begin (); i != m_virtual_nodes.end (); ++i) { + tl::info << i->second.to_string () << tl::noendl; + } } -#endif } size_t @@ -1560,34 +1588,48 @@ NetGraph::derive_node_identities_for_edges (NetGraphNode::edge_iterator e, NetGr std::vector other_nodes; other_nodes.reserve (ee - e); -#if defined(PRINT_DEBUG_NETCOMPARE) - tl::info << indent(depth) << "consider transitions:"; -#endif + if (options ()->debug_netcompare) { + tl::info << indent(depth) << "considering transitions:"; + } + + bool first = true; for (NetGraphNode::edge_iterator i = e; i != ee; ++i) { if (i->second.first != net_index) { const NetGraphNode *nn = &node (i->second.first); -#if defined(PRINT_DEBUG_NETCOMPARE) - tl::info << indent(depth) << "here: " << (nn->net() ? nn->net()->expanded_name().c_str() : "(null)") << " via"; - for (std::vector::const_iterator t = i->first.begin (); t != i->first.end(); ++t) { - tl::info << indent(depth) << " " << t->to_string(); + if (options ()->debug_netcompare) { + if (first) { + tl::info << indent (depth) << " here: " << (node (net_index).net () ? node (net_index).net ()->expanded_name ().c_str () : "(null)") << " ->"; + first = false; + } + tl::info << indent (depth) << " " << (nn->net () ? nn->net ()->expanded_name ().c_str() : "(null)") << " via: " << tl::noendl; + for (std::vector::const_iterator t = i->first.begin (); t != i->first.end(); ++t) { + tl::info << (t != i->first.begin () ? "; " : "") << t->to_string() << tl::noendl; + } + tl::info << ""; } -#endif nodes.push_back (nn); } } if (! nodes.empty ()) { // if non-ambiguous, non-assigned + first = true; + for (NetGraphNode::edge_iterator i = e_other; i != ee_other; ++i) { if (i->second.first != other_net_index) { const NetGraphNode *nn = &data->other->node (i->second.first); -#if defined(PRINT_DEBUG_NETCOMPARE) - tl::info << indent(depth) << "there: " << (nn->net() ? nn->net()->expanded_name().c_str() : "(null)") << " via"; - for (std::vector::const_iterator t = i->first.begin (); t != i->first.end(); ++t) { - tl::info << indent(depth) << " " << t->to_string(); + if (options ()->debug_netcompare) { + if (first) { + tl::info << indent (depth) << " there: " << (data->other->node (other_net_index).net () ? data->other->node (other_net_index).net ()->expanded_name ().c_str () : "(null)") << " ->"; + first = false; + } + tl::info << indent(depth) << " " << (nn->net() ? nn->net()->expanded_name().c_str() : "(null)") << " via: " << tl::noendl; + for (std::vector::const_iterator t = i->first.begin (); t != i->first.end(); ++t) { + tl::info << (t != i->first.begin () ? "; " : "") << t->to_string() << tl::noendl; + } + tl::info << ""; } -#endif other_nodes.push_back (nn); } } @@ -1604,9 +1646,9 @@ NetGraph::derive_node_identities_for_edges (NetGraphNode::edge_iterator e, NetGr if (tentative) { if (nodes.size () != other_nodes.size ()) { -#if defined(PRINT_DEBUG_NETCOMPARE) - tl::info << indent(depth) << "! rejected branch."; -#endif + if (options ()->debug_netcompare) { + tl::info << indent(depth) << "=> rejected branch."; + } return failed_match; } @@ -1614,9 +1656,9 @@ NetGraph::derive_node_identities_for_edges (NetGraphNode::edge_iterator e, NetGr if (nodes.size () > 1 || other_nodes.size () > 1) { for (size_t i = 0; i < nodes.size (); ++i) { if (! (*nodes[i] == *other_nodes[i])) { -#if defined(PRINT_DEBUG_NETCOMPARE) - tl::info << indent(depth) << "! rejected branch."; -#endif + if (options ()->debug_netcompare) { + tl::info << indent(depth) << "=> rejected branch."; + } return failed_match; } } @@ -1631,9 +1673,9 @@ NetGraph::derive_node_identities_for_edges (NetGraphNode::edge_iterator e, NetGr if (bt_count == failed_match) { if (tentative) { -#if defined(PRINT_DEBUG_NETCOMPARE) - tl::info << indent(depth) << "! rejected branch."; -#endif + if (options ()->debug_netcompare) { + tl::info << indent(depth) << "=> rejected branch."; + } return bt_count; } } else { @@ -1642,11 +1684,11 @@ NetGraph::derive_node_identities_for_edges (NetGraphNode::edge_iterator e, NetGr } -#if defined(PRINT_DEBUG_NETCOMPARE) - if (! new_nodes) { - tl::info << indent(depth) << "! no updates."; + if (options ()->debug_netcompare) { + if (! new_nodes) { + tl::info << indent(depth) << "=> no updates."; + } } -#endif return new_nodes; } @@ -1671,13 +1713,13 @@ NetGraph::derive_node_identities (size_t net_index, size_t depth, size_t n_branc size_t other_net_index = n->other_net_index (); NetGraphNode *n_other = & data->other->node (other_net_index); -#if defined(PRINT_DEBUG_NETCOMPARE) - if (! tentative) { - tl::info << indent(depth) << "deducing from pair: " << n->net ()->expanded_name () << " vs. " << n_other->net ()->expanded_name (); - } else { - tl::info << indent(depth) << "tentatively deducing from pair: " << n->net ()->expanded_name () << " vs. " << n_other->net ()->expanded_name (); + if (options ()->debug_netcompare) { + if (! tentative) { + tl::info << indent(depth) << "deducing from pair: " << n->net ()->expanded_name () << " vs. " << n_other->net ()->expanded_name (); + } else { + tl::info << indent(depth) << "tentatively deducing from pair: " << n->net ()->expanded_name () << " vs. " << n_other->net ()->expanded_name (); + } } -#endif size_t new_nodes = 0; @@ -1722,9 +1764,9 @@ NetGraph::derive_node_identities (size_t net_index, size_t depth, size_t n_branc size_t bt_count = derive_node_identities_for_edges (e, ee, e_other, ee_other, net_index, other_net_index, depth, n_branch, tentative, with_ambiguous, data); if (bt_count == failed_match) { -#if defined(PRINT_DEBUG_NETCOMPARE) - tl::info << indent(depth) << "! rejected pair."; -#endif + if (options ()->debug_netcompare) { + tl::info << indent(depth) << "=> rejected pair."; + } return bt_count; } else { new_nodes += bt_count; @@ -1733,9 +1775,9 @@ NetGraph::derive_node_identities (size_t net_index, size_t depth, size_t n_branc } else if (tentative) { // in tentative mode an exact match is required: no having the same edges for a node disqualifies the node // as matching. -#if defined(PRINT_DEBUG_NETCOMPARE) - tl::info << indent(depth) << "! rejected pair for missing edge."; -#endif + if (options ()->debug_netcompare) { + tl::info << indent(depth) << "=> rejected pair for missing edge."; + } return failed_match; } @@ -1758,9 +1800,9 @@ NetGraph::derive_node_identities (size_t net_index, size_t depth, size_t n_branc NetGraphNode::edge_iterator e = n->find_edge (e_other->first); if (e == n->end ()) { -#if defined(PRINT_DEBUG_NETCOMPARE) - tl::info << indent(depth) << "! rejected pair for missing edge."; -#endif + if (options ()->debug_netcompare) { + tl::info << indent(depth) << "=> rejected pair for missing edge."; + } return failed_match; } @@ -1770,11 +1812,11 @@ NetGraph::derive_node_identities (size_t net_index, size_t depth, size_t n_branc } -#if defined(PRINT_DEBUG_NETCOMPARE) - if (! tentative && new_nodes > 0) { - tl::info << indent(depth) << "finished pair deduction: " << n->net ()->expanded_name () << " vs. " << n_other->net ()->expanded_name () << " with " << new_nodes << " new pairs"; + if (options ()->debug_netcompare) { + if (! tentative && new_nodes > 0) { + tl::info << indent(depth) << "=> finished pair deduction: " << n->net ()->expanded_name () << " vs. " << n_other->net ()->expanded_name () << " with " << new_nodes << " new pairs"; + } } -#endif return new_nodes; } @@ -1855,17 +1897,18 @@ static bool net_names_are_different (const db::Net *a, const db::Net *b) size_t NetGraph::derive_node_identities_from_node_set (std::vector &nodes, std::vector &other_nodes, size_t depth, size_t n_branch, TentativeNodeMapping *tentative, bool with_ambiguous, CompareData *data) { -#if defined(PRINT_DEBUG_NETCOMPARE) - std::string indent_s = indent (depth); - indent_s += "*" + tl::to_string (n_branch) + " "; -#endif + std::string indent_s; + if (options ()->debug_netcompare) { + indent_s = indent (depth); + indent_s += "*" + tl::to_string (n_branch) + " "; + } size_t new_nodes = 0; if (depth > data->max_depth) { -#if defined(PRINT_DEBUG_NETCOMPARE) - tl::info << indent_s << "max. depth exhausted (" << depth + 1 << ">" << data->max_depth << ")"; -#endif + if (options ()->debug_netcompare) { + tl::info << indent_s << "max. depth exhausted (" << depth + 1 << ">" << data->max_depth << ")"; + } return failed_match; } @@ -1881,9 +1924,9 @@ NetGraph::derive_node_identities_from_node_set (std::vectorother, other_ni); -#if defined(PRINT_DEBUG_NETCOMPARE) - tl::info << indent_s << "deduced match (singular): " << nodes.front ()->net ()->expanded_name () << " vs. " << other_nodes.front ()->net ()->expanded_name (); -#endif + if (options ()->debug_netcompare) { + tl::info << indent_s << "deduced match (singular): " << nodes.front ()->net ()->expanded_name () << " vs. " << other_nodes.front ()->net ()->expanded_name (); + } if (data->logger && ! tentative) { if (! (node (ni) == data->other->node (other_ni))) { // this is a mismatch but we continue, because that is the only candidate @@ -2030,9 +2073,9 @@ NetGraph::derive_node_identities_from_node_set (std::vector this favors net matching by name if (tentative && ! data->dont_consider_net_names && net_names_are_different ((*nr->n1)->net (), (*nr->n2)->net ())) { -#if defined(PRINT_DEBUG_NETCOMPARE) - tl::info << indent_s << "rejecting pair as names are not identical: " << (*nr->n1)->net ()->expanded_name () << " vs. " << (*nr->n2)->net ()->expanded_name (); -#endif + if (options ()->debug_netcompare) { + tl::info << indent_s << "rejecting pair as names are not identical: " << (*nr->n1)->net ()->expanded_name () << " vs. " << (*nr->n2)->net ()->expanded_name (); + } return failed_match; } @@ -2044,9 +2087,9 @@ NetGraph::derive_node_identities_from_node_set (std::vectorother, other_ni); -#if defined(PRINT_DEBUG_NETCOMPARE) - tl::info << indent_s << "deduced match (singular): " << (*nr->n1)->net ()->expanded_name () << " vs. " << (*nr->n2)->net ()->expanded_name (); -#endif + if (options ()->debug_netcompare) { + tl::info << indent_s << "deduced match (singular): " << (*nr->n1)->net ()->expanded_name () << " vs. " << (*nr->n2)->net ()->expanded_name (); + } if (data->logger && ! tentative) { if (! (node (ni) == data->other->node (other_ni))) { // this is a mismatch, but we continue with this @@ -2086,16 +2129,16 @@ NetGraph::derive_node_identities_from_node_set (std::vectornum * n_branch > data->max_n_branch) { -#if defined(PRINT_DEBUG_NETCOMPARE) - tl::info << indent_s << "max. complexity exhausted (" << nr->num << "*" << n_branch << ">" << data->max_n_branch << ") - mismatch."; -#endif + if (options ()->debug_netcompare) { + tl::info << indent_s << "max. complexity exhausted (" << nr->num << "*" << n_branch << ">" << data->max_n_branch << ") - mismatch."; + } return failed_match; } else { -#if defined(PRINT_DEBUG_NETCOMPARE) - tl::info << indent_s << "analyzing ambiguity group with " << nr->num << " members"; -#endif + if (options ()->debug_netcompare) { + tl::info << indent_s << "analyzing ambiguity group with " << nr->num << " members"; + } // sort the ambiguity group such that net names match best @@ -2152,16 +2195,16 @@ NetGraph::derive_node_identities_from_node_set (std::vectorother, other_ni); // try this candidate in tentative mode -#if defined(PRINT_DEBUG_NETCOMPARE) - tl::info << indent_s << "trying in tentative mode: " << (*i1)->net ()->expanded_name () << " vs. " << (*i2)->net ()->expanded_name (); -#endif + if (options ()->debug_netcompare) { + tl::info << indent_s << "trying in tentative mode: " << (*i1)->net ()->expanded_name () << " vs. " << (*i2)->net ()->expanded_name (); + } size_t bt_count = derive_node_identities (ni, depth + 1, nr->num * n_branch, &tn, with_ambiguous, data); if (bt_count != failed_match) { -#if defined(PRINT_DEBUG_NETCOMPARE) - tl::info << indent_s << "match found"; -#endif + if (options ()->debug_netcompare) { + tl::info << indent_s << "match found"; + } // we have a match ... if (any) { @@ -2185,9 +2228,9 @@ NetGraph::derive_node_identities_from_node_set (std::vectordebug_netcompare) { + tl::info << indent_s << "mismatch."; + } // a mismatch - stop here. return failed_match; } @@ -2207,13 +2250,13 @@ NetGraph::derive_node_identities_from_node_set (std::vectorother, other_ni); -#if defined(PRINT_DEBUG_NETCOMPARE) - if (equivalent_other_nodes.has_attribute (p->second)) { - tl::info << indent_s << "deduced ambiguous match: " << p->first->net ()->expanded_name () << " vs. " << p->second->net ()->expanded_name (); - } else { - tl::info << indent_s << "deduced match: " << p->first->net ()->expanded_name () << " vs. " << p->second->net ()->expanded_name (); + if (options ()->debug_netcompare) { + if (equivalent_other_nodes.has_attribute (p->second)) { + tl::info << indent_s << "deduced ambiguous match: " << p->first->net ()->expanded_name () << " vs. " << p->second->net ()->expanded_name (); + } else { + tl::info << indent_s << "deduced match: " << p->first->net ()->expanded_name () << " vs. " << p->second->net ()->expanded_name (); + } } -#endif if (data->logger) { bool ambiguous = equivalent_other_nodes.has_attribute (p->second); if (ambiguous) { @@ -2249,9 +2292,9 @@ NetGraph::derive_node_identities_from_node_set (std::vectornum << " members"; -#endif + if (options ()->debug_netcompare) { + tl::info << indent_s << "finished analysis of ambiguity group with " << nr->num << " members"; + } } @@ -2516,9 +2559,9 @@ NetlistComparer::compare (const db::Netlist *a, const db::Netlist *b) const if (all_subcircuits_verified (ca, verified_circuits_a) && all_subcircuits_verified (cb, verified_circuits_b)) { -#if defined(PRINT_DEBUG_NETCOMPARE) - tl::info << "treating circuit: " << ca->name () << " vs. " << cb->name (); -#endif + if (options ()->debug_netcompare) { + tl::info << "treating circuit: " << ca->name () << " vs. " << cb->name (); + } if (mp_logger) { mp_logger->begin_circuit (ca, cb); } @@ -2835,9 +2878,7 @@ NetlistComparer::compare_circuits (const db::Circuit *c1, const db::Circuit *c2, g2.identify (ni2, ni1); } -#if defined(PRINT_DEBUG_NETCOMPARE) int iter = 0; -#endif // two passes: one without ambiguities, the second one with @@ -2845,20 +2886,20 @@ NetlistComparer::compare_circuits (const db::Circuit *c1, const db::Circuit *c2, for (int pass = 0; pass < 2; ++pass) { -#if defined(PRINT_DEBUG_NETCOMPARE) - if (pass > 0) { - tl::info << "including ambiguous nodes now."; + if (options ()->debug_netcompare) { + if (pass > 0) { + tl::info << "including ambiguous nodes now."; + } } -#endif good = true; while (true) { -#if defined(PRINT_DEBUG_NETCOMPARE) ++iter; - tl::info << "new compare iteration #" << iter; - tl::info << "deducing from present nodes ..."; -#endif + if (options ()->debug_netcompare) { + tl::info << "new compare iteration #" << iter; + tl::info << "deducing from present nodes ..."; + } size_t new_identities = 0; @@ -2877,18 +2918,18 @@ NetlistComparer::compare_circuits (const db::Circuit *c1, const db::Circuit *c2, size_t ni = g1.derive_node_identities (i1 - g1.begin (), 0, 1, 0 /*not tentative*/, pass > 0 /*with ambiguities*/, &data); if (ni > 0 && ni != failed_match) { new_identities += ni; -#if defined(PRINT_DEBUG_NETCOMPARE) - tl::info << ni << " new identities."; -#endif + if (options ()->debug_netcompare) { + tl::info << ni << " new identities."; + } } } } -#if defined(PRINT_DEBUG_NETCOMPARE) - tl::info << "checking topological identity ..."; -#endif + if (options ()->debug_netcompare) { + tl::info << "checking topological identity ..."; + } // derive new identities through topology: first collect all nets with the same topological signature @@ -2934,9 +2975,9 @@ NetlistComparer::compare_circuits (const db::Circuit *c1, const db::Circuit *c2, size_t ni = g1.derive_node_identities_from_node_set (nodes, other_nodes, 0, 1, 0 /*not tentative*/, pass > 0 /*with ambiguities*/, &data); if (ni > 0 && ni != failed_match) { new_identities += ni; -#if defined(PRINT_DEBUG_NETCOMPARE) - tl::info << ni << " new identities."; -#endif + if (options ()->debug_netcompare) { + tl::info << ni << " new identities."; + } } if (new_identities == 0) { diff --git a/src/lay/lay/layApplication.cc b/src/lay/lay/layApplication.cc index 0d5024e9f..4b8004b8c 100644 --- a/src/lay/lay/layApplication.cc +++ b/src/lay/lay/layApplication.cc @@ -1283,14 +1283,6 @@ ApplicationBase::get_config_names () const return names; } -bool -ApplicationBase::special_app_flag (const std::string &name) -{ - // TODO: some more elaborate scheme? - const char *env = getenv (("KLAYOUT_" + name).c_str ()); - return (env && *env); -} - // -------------------------------------------------------------------------------- // GuiApplication implementation diff --git a/src/lay/lay/layApplication.h b/src/lay/lay/layApplication.h index 8ef31e2d5..5bd45fa6c 100644 --- a/src/lay/lay/layApplication.h +++ b/src/lay/lay/layApplication.h @@ -198,16 +198,6 @@ public: */ std::vector get_config_names () const; - /** - * @brief Gets a value indicating whether the give special application flag is set - * - * Special application flags are ways to introduce debug or flags for special - * use cases. Such flags have a name and currently are controlled externally by - * an environment variable called "KLAYOUT_x" where x is the name. If that - * variable is set and the value is non-empty, the flag is regarded set. - */ - bool special_app_flag (const std::string &name); - /** * @brief Return a reference to the Ruby interpreter */ diff --git a/src/lay/lay/laySystemPaths.cc b/src/lay/lay/laySystemPaths.cc index 719c41090..708f1ed45 100644 --- a/src/lay/lay/laySystemPaths.cc +++ b/src/lay/lay/laySystemPaths.cc @@ -24,6 +24,7 @@ #include "laySystemPaths.h" #include "tlFileUtils.h" #include "tlString.h" +#include "tlEnv.h" #include #include @@ -31,32 +32,17 @@ #ifdef _WIN32 # include -#elif __APPLE__ -# include -# include -#else -# include #endif -#include - namespace lay { std::string get_appdata_path () { -#ifdef _WIN32 - wchar_t *env = _wgetenv (L"KLAYOUT_HOME"); - if (env) { - return tl::to_string (QString ((const QChar *) env)); + if (tl::has_env ("KLAYOUT_HOME")) { + return tl::get_env ("KLAYOUT_HOME"); } -#else - char *env = getenv ("KLAYOUT_HOME"); - if (env) { - return (tl::system_to_string (env)); - } -#endif QDir appdata_dir = QDir::homePath (); QString appdata_folder; @@ -138,23 +124,14 @@ get_klayout_path () // generate the klayout path: the first component is always the appdata path klayout_path.push_back (get_appdata_path ()); -#ifdef _WIN32 - wchar_t *env = _wgetenv (L"KLAYOUT_PATH"); - if (env) { - split_path (tl::to_string (QString ((const QChar *) env)), klayout_path); + + std::string env = tl::get_env ("KLAYOUT_PATH"); + if (! env.empty ()) { + split_path (env, klayout_path); } else { get_other_system_paths (klayout_path); klayout_path.push_back (tl::get_inst_path ()); } -#else - char *env = getenv ("KLAYOUT_PATH"); - if (env) { - split_path (tl::system_to_string (env), klayout_path); - } else { - get_other_system_paths (klayout_path); - klayout_path.push_back (tl::get_inst_path ()); - } -#endif return klayout_path; @@ -164,23 +141,7 @@ get_klayout_path () std::string salt_mine_url () { - const std::string default_url ("http://sami.klayout.org/repository.xml"); - -#ifdef _WIN32 - wchar_t *env = _wgetenv (L"KLAYOUT_SALT_MINE"); - if (env) { - return tl::to_string (QString ((const QChar *) env)); - } else { - return default_url; - } -#else - char *env = getenv ("KLAYOUT_SALT_MINE"); - if (env) { - return (tl::system_to_string (env)); - } else { - return default_url; - } -#endif + return tl::get_env ("KLAYOUT_SALT_MINE", "http://sami.klayout.org/repository.xml"); } } diff --git a/src/plugins/tools/xor/lay_plugin/layXORToolDialog.cc b/src/plugins/tools/xor/lay_plugin/layXORToolDialog.cc index ccb55afed..e4597edce 100644 --- a/src/plugins/tools/xor/lay_plugin/layXORToolDialog.cc +++ b/src/plugins/tools/xor/lay_plugin/layXORToolDialog.cc @@ -35,6 +35,7 @@ #include "tlTimer.h" #include "tlProgress.h" #include "tlThreadedWorkers.h" +#include "tlEnv.h" #include "tlExceptions.h" #include "tlMath.h" #include "layCellView.h" @@ -1085,7 +1086,7 @@ XORToolDialog::run_xor () bool summarize = mp_ui->summarize_cb->isChecked (); // TODO: make this a user interface feature later - bool process_el = lay::ApplicationBase::instance ()->special_app_flag ("ALWAYS_DO_XOR"); + bool process_el = tl::app_flag ("always-do-xor"); int cv_index_a = mp_ui->layouta->current_cv_index (); int cv_index_b = mp_ui->layoutb->current_cv_index (); diff --git a/src/tl/tl/tl.pro b/src/tl/tl/tl.pro index c63c2ec55..7ab83679f 100644 --- a/src/tl/tl/tl.pro +++ b/src/tl/tl/tl.pro @@ -46,7 +46,8 @@ SOURCES = \ tlList.cc \ tlEquivalenceClusters.cc \ tlUniqueName.cc \ - tlRecipe.cc + tlRecipe.cc \ + tlEnv.cc HEADERS = \ tlAlgorithm.h \ @@ -103,7 +104,8 @@ HEADERS = \ tlEquivalenceClusters.h \ tlUniqueName.h \ tlRecipe.h \ - tlSelect.h + tlSelect.h \ + tlEnv.h equals(HAVE_CURL, "1") { diff --git a/src/tl/tl/tlEnv.cc b/src/tl/tl/tlEnv.cc new file mode 100644 index 000000000..9b3e03e89 --- /dev/null +++ b/src/tl/tl/tlEnv.cc @@ -0,0 +1,85 @@ + +/* + + KLayout Layout Viewer + Copyright (C) 2006-2020 Matthias Koefferlein + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +*/ + + +#include "tlEnv.h" +#include "tlString.h" + +#include + +#ifdef _WIN32 +# include +#elif __APPLE__ +# include +# include +#else +# include +#endif + +namespace tl +{ + +std::string get_env (const std::string &name, const std::string &def_value) +{ +#ifdef _WIN32 + std::wstring wname = tl::to_wstring (name); + wchar_t *env = _wgetenv (wname.c_str ()); + if (env) { + return tl::to_string (QString ((const QChar *) env)); + } else { + return def_value; + } +#else + char *env = getenv (name.c_str ()); + if (env) { + return tl::system_to_string (env); + } else { + return def_value; + } +#endif +} + +bool has_env (const std::string &name) +{ +#ifdef _WIN32 + std::wstring wname = tl::to_wstring (name); + wchar_t *env = _wgetenv (wname.c_str ()); + return env != 0; +#else + char *env = getenv (name.c_str ()); + return env != 0; +#endif +} + +bool app_flag (const std::string &name) +{ + std::string env_name = std::string ("KLAYOUT_") + tl::replaced (tl::to_upper_case (name), "-", "_"); + + int v = 0; + std::string vs = get_env (env_name); + tl::Extractor ex (vs.c_str ()); + return ex.try_read (v) && v != 0; +} + +} // namespace tl + + diff --git a/src/tl/tl/tlEnv.h b/src/tl/tl/tlEnv.h new file mode 100644 index 000000000..898ec142c --- /dev/null +++ b/src/tl/tl/tlEnv.h @@ -0,0 +1,65 @@ + +/* + + KLayout Layout Viewer + Copyright (C) 2006-2020 Matthias Koefferlein + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +*/ + + +#ifndef HDR_tlAppFlags +#define HDR_tlAppFlags + +#include "tlCommon.h" + +#include + +namespace tl +{ + +/** + * @brief Gets the value for the given environment variable + * + * If the environment variable is not set, the default value will be returned. + */ +std::string TL_PUBLIC get_env (const std::string &name, const std::string &def_value = std::string ()); + +/** + * @brief Gets the value if the given environment variable is set + */ +bool TL_PUBLIC has_env (const std::string &name); + +/** + * @brief Gets an application flag with the given name + * + * This feature is supposed to deliver special flags for debugging etc. + * By using a central access point for these settings, it will be easy to provide + * different implementations later. + * + * Currently, application flags are derived by checking whether a corresponding + * environment variable exists. Names like "a-b" are translated into "KLAYOUT_A_B" + * for the environment variable. + * + * If the corresponding variable exists and does not have a value of "0", true + * is returned from this function. + */ +bool TL_PUBLIC app_flag (const std::string &name); + +} + +#endif + diff --git a/src/tl/tl/tlExpression.cc b/src/tl/tl/tlExpression.cc index 1d26b061b..28cb07d69 100644 --- a/src/tl/tl/tlExpression.cc +++ b/src/tl/tl/tlExpression.cc @@ -26,6 +26,7 @@ #include "tlString.h" #include "tlGlobPattern.h" #include "tlFileUtils.h" +#include "tlEnv.h" #include #include @@ -35,7 +36,6 @@ #define _USE_MATH_DEFINES // for MSVC #include #include -#include #include // Suggestions for further functions: @@ -2800,9 +2800,9 @@ env_f (const ExpressionParserContext &context, tl::Variant &out, const std::vect throw EvalError (tl::to_string (tr ("'env' function expects exactly two arguments")), context); } - const char *env = getenv (vv [0].to_string ()); - if (env) { - out = env; + const char *vn = vv [0].to_string (); + if (tl::has_env (vn)) { + out = tl::get_env (vn); } else { out = tl::Variant (); } diff --git a/src/tl/tl/tlLog.cc b/src/tl/tl/tlLog.cc index 258e793a3..1ada55bf2 100644 --- a/src/tl/tl/tlLog.cc +++ b/src/tl/tl/tlLog.cc @@ -23,16 +23,12 @@ #include "tlLog.h" #include "tlString.h" +#include "tlEnv.h" #include #if !defined(_MSC_VER) # include #endif -#include - -#if defined(_WIN32) -# include -#endif namespace tl { @@ -42,21 +38,9 @@ namespace tl static int default_verbosity () { - const char *verbosity_str = 0; - -#if defined(_WIN32) - const wchar_t *verbosity_wstr = _wgetenv (L"KLAYOUT_VERBOSITY"); - std::string vs; - if (verbosity_wstr) { - vs = tl::to_string (std::wstring (verbosity_wstr)); - verbosity_str = vs.c_str (); - } -#else - verbosity_str = getenv ("KLAYOUT_VERBOSITY"); -#endif - int verbosity = 0; - if (verbosity_str) { + std::string verbosity_str = tl::get_env ("KLAYOUT_VERBOSITY"); + if (! verbosity_str.empty ()) { try { tl::from_string (verbosity_str, verbosity); } catch (...) { diff --git a/src/tl/tl/tlUnitTest.cc b/src/tl/tl/tlUnitTest.cc index 8a719b5fb..f0dd8c7e3 100644 --- a/src/tl/tl/tlUnitTest.cc +++ b/src/tl/tl/tlUnitTest.cc @@ -24,6 +24,7 @@ #include "tlFileUtils.h" #include "tlTimer.h" #include "tlStream.h" +#include "tlEnv.h" #include @@ -85,8 +86,8 @@ void set_debug_mode (bool f) std::string testsrc () { - const char *ts = getenv ("TESTSRC"); - if (! ts) { + std::string ts = tl::get_env ("TESTSRC"); + if (ts.empty ()) { throw tl::Exception ("TESTSRC undefined"); } return ts; @@ -104,8 +105,8 @@ std::string testsrc_private () std::string testtmp () { // Ensures the test temp directory is present - const char *tt = getenv ("TESTTMP"); - if (! tt) { + std::string tt = tl::get_env ("TESTTMP"); + if (tt.empty ()) { throw tl::Exception ("TESTTMP undefined"); } return tt; diff --git a/src/tl/unit_tests/tlExpression.cc b/src/tl/unit_tests/tlExpression.cc index 7bbb7dcc5..751a3e3a3 100644 --- a/src/tl/unit_tests/tlExpression.cc +++ b/src/tl/unit_tests/tlExpression.cc @@ -24,8 +24,8 @@ #include "tlExpression.h" #include "tlVariantUserClasses.h" #include "tlUnitTest.h" +#include "tlEnv.h" -#include #define _USE_MATH_DEFINES // for MSVC #include @@ -834,7 +834,7 @@ TEST(6) v = e.parse ("env('HJASK')").execute (); EXPECT_EQ (v.to_string (), std::string ("nil")); v = e.parse ("env('PATH')").execute (); - EXPECT_EQ (v.to_string (), std::string (getenv ("PATH"))); + EXPECT_EQ (v.to_string (), tl::get_env ("PATH")); v = e.parse ("absolute_path('./x.gds')").execute (); // EXPECT_EQ (v.to_string (), std::string ()); // not universal v = e.parse ("absolute_file_path('./x.gds')").execute (); From 08af8d85c4de03da7f9af92a4be4c1722c0ba661 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Wed, 26 Feb 2020 00:20:18 +0100 Subject: [PATCH 02/10] WIP: first algorithm - is capable of deriving the 'resistor cube' symmetry. --- src/db/db/dbNetlistCompare.cc | 132 +++++++++++++++++++++ src/db/db/dbNetlistCompare.h | 3 + src/db/unit_tests/dbNetlistCompareTests.cc | 54 +++++++++ 3 files changed, 189 insertions(+) diff --git a/src/db/db/dbNetlistCompare.cc b/src/db/db/dbNetlistCompare.cc index 4ac53a39a..d2309665f 100644 --- a/src/db/db/dbNetlistCompare.cc +++ b/src/db/db/dbNetlistCompare.cc @@ -3626,4 +3626,136 @@ NetlistComparer::do_subcircuit_assignment (const db::Circuit *c1, const db::NetG } } +// @@@ + +bool derive_symmetry_groups (const db::NetGraph &graph, const tl::equivalence_clusters &identical_nodes, std::set &considered_nodes, const std::set &symmetry_group, std::list > &symmetry_groups) +{ + std::set cids; + std::set new_symmetry_group; + NetGraphNode::edge_type::first_type edge; + + bool has_candidate = true; + + for (std::set::const_iterator g = symmetry_group.begin (); g != symmetry_group.end (); ++g) { + + const NetGraphNode &n = graph.node (*g); + for (NetGraphNode::edge_iterator e = n.begin (); e != n.end () && has_candidate; ++e) { + + if (considered_nodes.find (e->second.first) != considered_nodes.end ()) { + continue; + } + + const NetGraphNode *other = &graph.node (e->second.first); + if (identical_nodes.has_attribute (other)) { + + if (cids.empty ()) { + edge = e->first; + } else if (edge != e->first) { + has_candidate = false; + } + + if (has_candidate) { + cids.insert (identical_nodes.cluster_id (other)); + if (cids.size () > 1) { + has_candidate = false; + } else { + new_symmetry_group.insert (e->second.first); + } + } + + } + + } + + } + + if (has_candidate && ! cids.empty () && new_symmetry_group.size () > 1) { + + considered_nodes.insert (new_symmetry_group.begin (), new_symmetry_group.end ()); + + if (derive_symmetry_groups (graph, identical_nodes, considered_nodes, new_symmetry_group, symmetry_groups)) { + + symmetry_groups.push_back (new_symmetry_group); + + } else { + + std::set cn; + std::set_difference (considered_nodes.begin (), considered_nodes.end (), new_symmetry_group.begin (), new_symmetry_group.end (), std::inserter (cn, cn.begin ())); + considered_nodes.swap (cn); + + has_candidate = false; + + } + + } + + return has_candidate; +} + +void join_symmetric_nodes (db::Circuit *circuit) +{ + db::CircuitCategorizer circuit_categorizer; + db::DeviceCategorizer device_categorizer; + db::CircuitPinMapper circuit_pin_mapper; + db::DeviceFilter device_filter (0.0, 0.0); + std::map circuit_and_pin_mapping; + + db::NetGraph graph; + graph.build (circuit, device_categorizer, circuit_categorizer, device_filter, &circuit_and_pin_mapping, &circuit_pin_mapper); + + // sort the nodes so we can easily identify the identical ones (in terms of topology) + // nodes are identical if the attached devices and circuits are of the same kind and with the same parameters + // and connect to other nodes in identical configurations. + + std::vector nodes; + + nodes.reserve (graph.end () - graph.begin ()); + for (db::NetGraph::node_iterator i = graph.begin (); i != graph.end (); ++i) { + if (! i->has_other () && i->net ()) { + nodes.push_back (i.operator-> ()); + } + } + + std::sort (nodes.begin (), nodes.end (), CompareNodePtr ()); + + // Identical nodes leading to the same nodes on the other side are candidates for symmetry. + + tl::equivalence_clusters identical_nodes; + + for (std::vector::const_iterator np = nodes.begin (); np + 1 != nodes.end (); ++np) { + if (*np[0] == *np[1]) { + identical_nodes.same (np[0], np[1]); + } + } + + std::list > symmetry_groups; + std::set considered_nodes; + + for (std::vector::const_iterator np = nodes.begin (); np != nodes.end (); ++np) { + + size_t node_id = graph.node_index_for_net (np[0]->net ()); + if (considered_nodes.find (node_id) != considered_nodes.end ()) { + continue; + } + considered_nodes.insert (node_id); + + std::set symmetry_group; + symmetry_group.insert (node_id); + + derive_symmetry_groups (graph, identical_nodes, considered_nodes, symmetry_group, symmetry_groups); + + } + + printf("@@@ symmetry groups:\n"); + for (std::list >::const_iterator g = symmetry_groups.begin (); g != symmetry_groups.end (); ++g) { + printf("@@@ group:\n"); + for (std::set::const_iterator i = g->begin (); i != g->end (); ++i) { + printf("@@@ %s\n", graph.node (*i).net () ? graph.node (*i).net ()->expanded_name ().c_str () : "(null)"); + } + } + fflush(stdout); + +} +// @@@ + } diff --git a/src/db/db/dbNetlistCompare.h b/src/db/db/dbNetlistCompare.h index 0ba957017..1fee52fff 100644 --- a/src/db/db/dbNetlistCompare.h +++ b/src/db/db/dbNetlistCompare.h @@ -328,6 +328,9 @@ protected: bool m_dont_consider_net_names; }; +// @@@ +void DB_PUBLIC join_symmetric_nodes (db::Circuit *circuit); + } namespace tl diff --git a/src/db/unit_tests/dbNetlistCompareTests.cc b/src/db/unit_tests/dbNetlistCompareTests.cc index db3f02048..9be38bace 100644 --- a/src/db/unit_tests/dbNetlistCompareTests.cc +++ b/src/db/unit_tests/dbNetlistCompareTests.cc @@ -3703,3 +3703,57 @@ TEST(24_NodesRemovedButConnectedInOther) ); EXPECT_EQ (good, true); } + +TEST(25_SplitGates) +{ + const char *nls1 = + "circuit NAND2 (A=A,B=B,OUT=OUT,VSS=VSS,VDD=VDD);\n" + " device PMOS $1 (S=OUT,G=A,D=VDD) (L=0.25,W=1);\n" + " device PMOS $2 (S=VDD,G=B,D=OUT) (L=0.25,W=1);\n" + // NOTE: $1 and $2 are separate nets, but can be joined due to symmetry + " device NMOS $3 (S=$1,G=A,D=OUT) (L=0.25,W=1);\n" + " device NMOS $4 (S=$2,G=A,D=OUT) (L=0.25,W=1);\n" + " device NMOS $5 (S=$1,G=B,D=VSS) (L=0.25,W=1);\n" + " device NMOS $6 (S=$2,G=B,D=VSS) (L=0.25,W=1);\n" + "end;\n"; + + nls1 = + "circuit NAND2 (A=A,B=B);\n" + " device RES $1 (A=A,B=$1) (R=1000);\n" + " device RES $2 (A=A,B=$2) (R=1000);\n" + " device RES $3 (A=A,B=$3) (R=1000);\n" + " device RES $4 (A=$1,B=$4) (R=1000);\n" + " device RES $5 (A=$2,B=$4) (R=1000);\n" + " device RES $6 (A=$2,B=$5) (R=1000);\n" + " device RES $7 (A=$3,B=$5) (R=1000);\n" + " device RES $8 (A=$3,B=$6) (R=1000);\n" + " device RES $9 (A=$1,B=$6) (R=1000);\n" + " device RES $9 (A=$4,B=B) (R=1000);\n" + " device RES $10 (A=$5,B=B) (R=1000);\n" + " device RES $11 (A=$6,B=B) (R=1000);\n" + "end;\n"; + + const char *nls2 = + "circuit NAND2 (A=A,B=B,OUT=OUT,VSS=VSS,VDD=VDD);\n" + " device PMOS $1 (S=OUT,G=A,D=VDD) (L=0.25,W=1);\n" + " device PMOS $2 (S=VDD,G=B,D=OUT) (L=0.25,W=1);\n" + " device NMOS $3 (S=$1,G=A,D=OUT) (L=0.25,W=2);\n" + " device NMOS $4 (S=$1,G=B,D=VSS) (L=0.25,W=2);\n" + "end;\n"; + + db::Netlist nl1, nl2; + prep_nl (nl1, nls1); + prep_nl (nl2, nls2); + + db::join_symmetric_nodes (nl1.circuit_by_name ("NAND2")); // @@@ +#if 0 + NetlistCompareTestLogger logger; + db::NetlistComparer comp (&logger); + + bool good = comp.compare (&nl1, &nl2); + + std::string txt = logger.text (); + + printf("@@@\n%s", txt.c_str()); fflush(stdout); // @@@ +#endif +} From b35429291e01509309969e49837921c743e8a5a6 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Wed, 26 Feb 2020 23:55:23 +0100 Subject: [PATCH 03/10] WIP: join_nets implemented, join_symmetric_nets: enhanced detection of symmetric nets. --- src/db/db/dbCircuit.cc | 24 +++++ src/db/db/dbCircuit.h | 5 + src/db/db/dbLayoutToNetlist.cc | 16 +++- src/db/db/dbLayoutToNetlist.h | 1 + src/db/db/dbNetlist.h | 1 + src/db/db/dbNetlistCompare.cc | 63 ++++++++++--- src/db/db/dbNetlistCompare.h | 17 +++- src/db/db/gsiDeclDbNetlist.cc | 6 ++ src/db/unit_tests/dbLayoutToNetlistTests.cc | 69 ++++++++++++++ src/db/unit_tests/dbNetlistCompareTests.cc | 6 +- src/db/unit_tests/dbNetlistExtractorTests.cc | 9 -- src/db/unit_tests/dbNetlistTests.cc | 86 ++++++++++++++++++ .../algo/device_extract_au1_joined_nets.gds | Bin 0 -> 11098 bytes testdata/ruby/dbNetlist.rb | 47 ++++++++++ 14 files changed, 318 insertions(+), 32 deletions(-) create mode 100644 testdata/algo/device_extract_au1_joined_nets.gds diff --git a/src/db/db/dbCircuit.cc b/src/db/db/dbCircuit.cc index e3cb1553f..d0fea79ee 100644 --- a/src/db/db/dbCircuit.cc +++ b/src/db/db/dbCircuit.cc @@ -342,6 +342,30 @@ void Circuit::remove_net (Net *net) m_nets.erase (net); } +void Circuit::join_nets (Net *net, Net *with) +{ + while (with->begin_terminals () != with->end_terminals ()) { + db::Device *device = const_cast (with->begin_terminals ()->device ()); + device->connect_terminal (with->begin_terminals ()->terminal_id (), net); + } + + while (with->begin_subcircuit_pins () != with->end_subcircuit_pins ()) { + db::SubCircuit *subcircuit = const_cast (with->begin_subcircuit_pins ()->subcircuit ()); + subcircuit->connect_pin (with->begin_subcircuit_pins ()->pin_id (), net); + } + + while (with->begin_pins () != with->end_pins ()) { + connect_pin (with->begin_pins ()->pin_id (), net); + } + + // TODO: join clusters too, join net properties(?) + if (netlist ()->callbacks ()) { + netlist ()->callbacks ()->link_nets (net, with); + } + + remove_net (with); +} + void Circuit::add_device (Device *device) { device->set_circuit (this); diff --git a/src/db/db/dbCircuit.h b/src/db/db/dbCircuit.h index 12fa5d19b..7c1c5f727 100644 --- a/src/db/db/dbCircuit.h +++ b/src/db/db/dbCircuit.h @@ -416,6 +416,11 @@ public: */ void remove_net (Net *net); + /** + * @brief Joins the second net with the first one and removes the second net + */ + void join_nets (Net *net, Net *with); + /** * @brief Gets the number of nets */ diff --git a/src/db/db/dbLayoutToNetlist.cc b/src/db/db/dbLayoutToNetlist.cc index 8ec5150ce..d362aa4c5 100644 --- a/src/db/db/dbLayoutToNetlist.cc +++ b/src/db/db/dbLayoutToNetlist.cc @@ -198,9 +198,23 @@ db::Region *LayoutToNetlist::make_polygon_layer (unsigned int layer_index, const return region.release (); } +void LayoutToNetlist::link_nets (const db::Net *net, const db::Net *with) +{ + if (! net->circuit () || net->circuit () != with->circuit () || ! internal_layout () + || ! internal_layout ()->is_valid_cell_index (net->circuit ()->cell_index ()) + || net->cluster_id () == 0 || with->cluster_id () == 0) { + return; + } + + connected_clusters &clusters = m_net_clusters.clusters_per_cell (net->circuit ()->cell_index ()); + clusters.join_cluster_with (net->cluster_id (), with->cluster_id ()); +} + size_t LayoutToNetlist::link_net_to_parent_circuit (const Net *subcircuit_net, Circuit *parent_circuit, const DCplxTrans &dtrans) { - if (! subcircuit_net->circuit () || ! has_internal_layout () || ! internal_layout ()->is_valid_cell_index (parent_circuit->cell_index ())) { + if (! subcircuit_net->circuit () || ! has_internal_layout () + || ! internal_layout ()->is_valid_cell_index (parent_circuit->cell_index ()) + || subcircuit_net->cluster_id () == 0) { return 0; } diff --git a/src/db/db/dbLayoutToNetlist.h b/src/db/db/dbLayoutToNetlist.h index 1969e89fb..6f8771644 100644 --- a/src/db/db/dbLayoutToNetlist.h +++ b/src/db/db/dbLayoutToNetlist.h @@ -798,6 +798,7 @@ private: // implementation of NetlistManipulationCallbacks virtual size_t link_net_to_parent_circuit (const Net *subcircuit_net, Circuit *parent_circuit, const DCplxTrans &trans); + virtual void link_nets (const db::Net *net, const db::Net *with); }; } diff --git a/src/db/db/dbNetlist.h b/src/db/db/dbNetlist.h index 8b7bdbe4a..eb8fcaf00 100644 --- a/src/db/db/dbNetlist.h +++ b/src/db/db/dbNetlist.h @@ -47,6 +47,7 @@ public: virtual ~NetlistManipulationCallbacks () { } virtual size_t link_net_to_parent_circuit (const db::Net *subcircuit_net, db::Circuit *parent_circuit, const db::DCplxTrans &trans) = 0; + virtual void link_nets (const db::Net *net, const db::Net *with) = 0; }; /** diff --git a/src/db/db/dbNetlistCompare.cc b/src/db/db/dbNetlistCompare.cc index d2309665f..7c5e399b3 100644 --- a/src/db/db/dbNetlistCompare.cc +++ b/src/db/db/dbNetlistCompare.cc @@ -28,6 +28,7 @@ #include "tlEquivalenceClusters.h" #include "tlLog.h" #include "tlEnv.h" +#include "tlInternational.h" #include @@ -3626,17 +3627,19 @@ NetlistComparer::do_subcircuit_assignment (const db::Circuit *c1, const db::NetG } } -// @@@ - -bool derive_symmetry_groups (const db::NetGraph &graph, const tl::equivalence_clusters &identical_nodes, std::set &considered_nodes, const std::set &symmetry_group, std::list > &symmetry_groups) +static bool derive_symmetry_groups (const db::NetGraph &graph, const tl::equivalence_clusters &identical_nodes, std::set &considered_nodes, const std::set &symmetry_group, std::list > &symmetry_groups) { std::set cids; std::set new_symmetry_group; NetGraphNode::edge_type::first_type edge; + std::vector common_nodes_first; + bool has_candidate = true; - for (std::set::const_iterator g = symmetry_group.begin (); g != symmetry_group.end (); ++g) { + for (std::set::const_iterator g = symmetry_group.begin (); g != symmetry_group.end () && has_candidate; ++g) { + + std::vector common_nodes; const NetGraphNode &n = graph.node (*g); for (NetGraphNode::edge_iterator e = n.begin (); e != n.end () && has_candidate; ++e) { @@ -3646,7 +3649,8 @@ bool derive_symmetry_groups (const db::NetGraph &graph, const tl::equivalence_cl } const NetGraphNode *other = &graph.node (e->second.first); - if (identical_nodes.has_attribute (other)) { + // NOTE: nodes with pins don't go into a symmetry group as we don't know what the pins connect to + if (other->net ()->pin_count () == 0 && identical_nodes.has_attribute (other)) { if (cids.empty ()) { edge = e->first; @@ -3663,6 +3667,21 @@ bool derive_symmetry_groups (const db::NetGraph &graph, const tl::equivalence_cl } } + } else { + common_nodes.push_back (*e); + } + + } + + if (has_candidate) { + + // all other edges need to have identical destinations for the symmetry group to be + // actually symmetric + std::sort (common_nodes.begin (), common_nodes.end ()); + if (g == symmetry_group.begin ()) { + common_nodes_first.swap (common_nodes); + } else if (common_nodes_first != common_nodes) { + has_candidate = false; } } @@ -3692,16 +3711,17 @@ bool derive_symmetry_groups (const db::NetGraph &graph, const tl::equivalence_cl return has_candidate; } -void join_symmetric_nodes (db::Circuit *circuit) +void +NetlistComparer::join_symmetric_nodes (db::Circuit *circuit) { - db::CircuitCategorizer circuit_categorizer; - db::DeviceCategorizer device_categorizer; + tl::SelfTimer timer (tl::verbosity () >= 21, tl::to_string (tr ("Join symmetric nodes for circuit: ")) + circuit->name ()); + + db::DeviceFilter device_filter (m_cap_threshold, m_res_threshold); db::CircuitPinMapper circuit_pin_mapper; - db::DeviceFilter device_filter (0.0, 0.0); std::map circuit_and_pin_mapping; db::NetGraph graph; - graph.build (circuit, device_categorizer, circuit_categorizer, device_filter, &circuit_and_pin_mapping, &circuit_pin_mapper); + graph.build (circuit, *mp_device_categorizer, *mp_circuit_categorizer, device_filter, &circuit_and_pin_mapping, &circuit_pin_mapper); // sort the nodes so we can easily identify the identical ones (in terms of topology) // nodes are identical if the attached devices and circuits are of the same kind and with the same parameters @@ -3746,16 +3766,29 @@ void join_symmetric_nodes (db::Circuit *circuit) } - printf("@@@ symmetry groups:\n"); + // join the nets + for (std::list >::const_iterator g = symmetry_groups.begin (); g != symmetry_groups.end (); ++g) { - printf("@@@ group:\n"); for (std::set::const_iterator i = g->begin (); i != g->end (); ++i) { - printf("@@@ %s\n", graph.node (*i).net () ? graph.node (*i).net ()->expanded_name ().c_str () : "(null)"); + if (i != g->begin ()) { + circuit->join_nets (const_cast (graph.net_by_node_index (*g->begin ())), const_cast (graph.net_by_node_index (*i))); + } + } + } + + if (! symmetry_groups.empty () && tl::verbosity () >= 30) { + tl::info << tl::to_string (tr ("Symmetry groups:")); + int index = 0; + for (std::list >::const_iterator g = symmetry_groups.begin (); g != symmetry_groups.end (); ++g) { + tl::info << " [" << index << "] " << tl::noendl; + for (std::set::const_iterator i = g->begin (); i != g->end (); ++i) { + tl::info << (i == g->begin () ? "" : ",") << (graph.node (*i).net () ? graph.node (*i).net ()->expanded_name ().c_str () : "(null)") << tl::noendl; + } + ++index; + tl::info << ""; } } - fflush(stdout); } -// @@@ } diff --git a/src/db/db/dbNetlistCompare.h b/src/db/db/dbNetlistCompare.h index 1fee52fff..bacf209b3 100644 --- a/src/db/db/dbNetlistCompare.h +++ b/src/db/db/dbNetlistCompare.h @@ -302,6 +302,20 @@ public: */ bool compare (const db::Netlist *a, const db::Netlist *b, db::NetlistCompareLogger *logger) const; + /** + * @brief Joins symmetric nodes in the given circuit + * + * Nodes are symmetric if their exchanging would not modify the circuit. + * Hence they will carry the same potential and can be connected (joined). + * This will simplify the circuit and can be applied before device combination + * to render a schematic-equivalent netlist in some cases (split gate option). + * + * This algorithm will apply the comparer's settings to the symmetry + * condition (device filtering, device compare tolerances, device class + * equivalence etc.). + */ + void join_symmetric_nodes (db::Circuit *circuit); + private: // No copying NetlistComparer (const NetlistComparer &); @@ -328,9 +342,6 @@ protected: bool m_dont_consider_net_names; }; -// @@@ -void DB_PUBLIC join_symmetric_nodes (db::Circuit *circuit); - } namespace tl diff --git a/src/db/db/gsiDeclDbNetlist.cc b/src/db/db/gsiDeclDbNetlist.cc index 56fc451ea..7300b2a09 100644 --- a/src/db/db/gsiDeclDbNetlist.cc +++ b/src/db/db/gsiDeclDbNetlist.cc @@ -1201,6 +1201,12 @@ Class decl_dbCircuit (decl_dbNetlistObject, "db", "Circuit", gsi::method ("remove_net", &db::Circuit::remove_net, gsi::arg ("net"), "@brief Removes the given net from the circuit\n" ) + + gsi::method ("join_nets", &db::Circuit::join_nets, gsi::arg ("net"), gsi::arg ("with"), + "@brief Joins (connects) two nets into one\n" + "This method will connect the 'with' net with 'net' and remove 'with'.\n" + "\n" + "This method has been introduced in version 0.26.4." + ) + gsi::iterator ("each_net", (db::Circuit::net_iterator (db::Circuit::*) ()) &db::Circuit::begin_nets, (db::Circuit::net_iterator (db::Circuit::*) ()) &db::Circuit::end_nets, "@brief Iterates over the nets of the circuit" ) + diff --git a/src/db/unit_tests/dbLayoutToNetlistTests.cc b/src/db/unit_tests/dbLayoutToNetlistTests.cc index 4e901a9ff..f352bdb0c 100644 --- a/src/db/unit_tests/dbLayoutToNetlistTests.cc +++ b/src/db/unit_tests/dbLayoutToNetlistTests.cc @@ -584,6 +584,75 @@ TEST(1_BasicExtraction) EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal1, db::DPoint (2.6, 1.0))), "RINGO:$I39"); EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal1, db::DPoint (6.4, 1.0))), "RINGO:$I2"); + + // use this opportunity to check joining of nets with cluster joining + db::Circuit *top = l2n.netlist ()->circuit_by_name ("RINGO"); + top->join_nets (top->net_by_name ("VSS"), top->net_by_name ("VDD")); + top->join_nets (top->net_by_name ("FB"), top->net_by_name ("OSC")); + + CHECKPOINT (); + db::compare_netlist (_this, *l2n.netlist (), + "circuit RINGO (FB=FB,OSC=FB,VSS=VSS,VDD=VDD);\n" + " subcircuit INV2 $1 (IN=$I8,$2=FB,OUT=FB,$4=VSS,$5=VSS);\n" + " subcircuit INV2 $2 (IN=FB,$2=$I38,OUT=$I19,$4=VSS,$5=VSS);\n" + " subcircuit INV2 $3 (IN=$I19,$2=$I39,OUT=$I1,$4=VSS,$5=VSS);\n" + " subcircuit INV2 $4 (IN=$I1,$2=$I40,OUT=$I2,$4=VSS,$5=VSS);\n" + " subcircuit INV2 $5 (IN=$I2,$2=$I41,OUT=$I3,$4=VSS,$5=VSS);\n" + " subcircuit INV2 $6 (IN=$I3,$2=$I42,OUT=$I4,$4=VSS,$5=VSS);\n" + " subcircuit INV2 $7 (IN=$I4,$2=$I43,OUT=$I5,$4=VSS,$5=VSS);\n" + " subcircuit INV2 $8 (IN=$I5,$2=$I44,OUT=$I6,$4=VSS,$5=VSS);\n" + " subcircuit INV2 $9 (IN=$I6,$2=$I45,OUT=$I7,$4=VSS,$5=VSS);\n" + " subcircuit INV2 $10 (IN=$I7,$2=$I46,OUT=$I8,$4=VSS,$5=VSS);\n" + "end;\n" + "circuit INV2 (IN=IN,$2=$2,OUT=OUT,$4=$4,$5=$5);\n" + " device PMOS $1 (S=$2,G=IN,D=$5) (L=0.25,W=0.95,AS=0.49875,AD=0.26125,PS=2.95,PD=1.5);\n" + " device PMOS $2 (S=$5,G=$2,D=OUT) (L=0.25,W=0.95,AS=0.26125,AD=0.49875,PS=1.5,PD=2.95);\n" + " device NMOS $3 (S=$2,G=IN,D=$4) (L=0.25,W=0.95,AS=0.49875,AD=0.26125,PS=2.95,PD=1.5);\n" + " device NMOS $4 (S=$4,G=$2,D=OUT) (L=0.25,W=0.95,AS=0.26125,AD=0.49875,PS=1.5,PD=2.95);\n" + "end;\n" + ); + + // do some probing after purging + + // top level + EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal2, db::DPoint (0.0, 1.8))), "RINGO:FB"); + EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal2, db::Point (0, 1800))), "RINGO:FB"); + EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal2, db::DPoint (-2.0, 1.8))), "(null)"); + EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal1, db::DPoint (-1.5, 1.8))), "RINGO:FB"); + EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal1, db::DPoint (24.5, 1.8))), "RINGO:FB"); + EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal1, db::DPoint (5.3, 0.0))), "RINGO:VSS"); + + EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal1, db::DPoint (2.6, 1.0))), "RINGO:$I39"); + EXPECT_EQ (qnet_name (l2n.probe_net (*rmetal1, db::DPoint (6.4, 1.0))), "RINGO:$I2"); + + // compare the collected test data + + { + db::Layout ly2; + ly2.dbu (ly.dbu ()); + db::Cell &top2 = ly2.cell (ly2.add_cell ("TOP")); + + db::CellMapping cm = l2n.cell_mapping_into (ly2, top2, true /*with device cells*/); + + std::map lmap; + lmap [ly2.insert_layer (db::LayerProperties (10, 0))] = &rpsd; + lmap [ly2.insert_layer (db::LayerProperties (11, 0))] = &rnsd; + lmap [ly2.insert_layer (db::LayerProperties (3, 0)) ] = rpoly.get (); + lmap [ly2.insert_layer (db::LayerProperties (4, 0)) ] = rdiff_cont.get (); + lmap [ly2.insert_layer (db::LayerProperties (5, 0)) ] = rpoly_cont.get (); + lmap [ly2.insert_layer (db::LayerProperties (6, 0)) ] = rmetal1.get (); + lmap [ly2.insert_layer (db::LayerProperties (7, 0)) ] = rvia1.get (); + lmap [ly2.insert_layer (db::LayerProperties (8, 0)) ] = rmetal2.get (); + + l2n.build_all_nets (cm, ly2, lmap, "NET_", tl::Variant (), db::LayoutToNetlist::BNH_SubcircuitCells, "CIRCUIT_", "DEVICE_"); + + std::string au = tl::testsrc (); + au = tl::combine_path (au, "testdata"); + au = tl::combine_path (au, "algo"); + au = tl::combine_path (au, "device_extract_au1_joined_nets.gds"); + + db::compare_layouts (_this, ly2, au); + } } TEST(2_Probing) diff --git a/src/db/unit_tests/dbNetlistCompareTests.cc b/src/db/unit_tests/dbNetlistCompareTests.cc index 9be38bace..f72de7b75 100644 --- a/src/db/unit_tests/dbNetlistCompareTests.cc +++ b/src/db/unit_tests/dbNetlistCompareTests.cc @@ -3745,11 +3745,9 @@ TEST(25_SplitGates) prep_nl (nl1, nls1); prep_nl (nl2, nls2); - db::join_symmetric_nodes (nl1.circuit_by_name ("NAND2")); // @@@ + db::NetlistComparer comp; + comp.join_symmetric_nodes (nl1.circuit_by_name ("NAND2")); // @@@ #if 0 - NetlistCompareTestLogger logger; - db::NetlistComparer comp (&logger); - bool good = comp.compare (&nl1, &nl2); std::string txt = logger.text (); diff --git a/src/db/unit_tests/dbNetlistExtractorTests.cc b/src/db/unit_tests/dbNetlistExtractorTests.cc index e7745577f..8cff11d1e 100644 --- a/src/db/unit_tests/dbNetlistExtractorTests.cc +++ b/src/db/unit_tests/dbNetlistExtractorTests.cc @@ -371,15 +371,6 @@ TEST(1_DeviceAndNetExtraction) " device NMOS $4 (S=$4,G=$2,D=OUT) (L=0.25,W=0.95,AS=0.26125,AD=0.49875,PS=1.5,PD=2.95);\n" "end;\n" ); - - // compare the collected test data - - std::string au = tl::testsrc (); - au = tl::combine_path (au, "testdata"); - au = tl::combine_path (au, "algo"); - au = tl::combine_path (au, "device_extract_au1.gds"); - - db::compare_layouts (_this, ly, au); } TEST(2_DeviceAndNetExtractionFlat) diff --git a/src/db/unit_tests/dbNetlistTests.cc b/src/db/unit_tests/dbNetlistTests.cc index 146c33f5b..9f66d06f0 100644 --- a/src/db/unit_tests/dbNetlistTests.cc +++ b/src/db/unit_tests/dbNetlistTests.cc @@ -1525,3 +1525,89 @@ TEST(23_NetlistObject) pin3 = pin2; EXPECT_EQ (pin3.property (1).to_string (), "hello"); } + +TEST(24_JoinNets) +{ + db::Netlist nl; + db::Circuit *c; + + db::DeviceClass *dc; + + dc = new db::DeviceClassMOS3Transistor (); + dc->set_name ("NMOS"); + nl.add_device_class (dc); + + dc = new db::DeviceClassMOS3Transistor (); + dc->set_name ("PMOS"); + nl.add_device_class (dc); + + nl.from_string ( + "circuit INV2 (IN=IN,$2=$2,OUT=OUT,$4=$4,$5=$5);\n" + " subcircuit PTRANS SC1 ($1=$5,$2=$2,$3=IN);\n" + " subcircuit NTRANS SC2 ($1=$4,$2=$2,$3=IN);\n" + " subcircuit PTRANS SC3 ($1=$5,$2=OUT,$3=$2);\n" + " subcircuit NTRANS SC4 ($1=$4,$2=OUT,$3=$2);\n" + "end;\n" + "circuit PTRANS ($1=$1,$2=$2,$3=$3);\n" + " device PMOS $1 (S=$1,D=$2,G=$3) (L=0.25,W=0.95);\n" + "end;\n" + "circuit NTRANS ($1=$1,$2=$2,$3=$3);\n" + " device NMOS $1 (S=$1,D=$2,G=$3) (L=0.25,W=0.95);\n" + "end;\n" + ); + + c = nl.circuit_by_name ("INV2"); + c->join_nets (c->net_by_name ("IN"), c->net_by_name ("OUT")); + + EXPECT_EQ (nl.to_string (), + "circuit INV2 (IN=IN,$2=$2,OUT=IN,$4=$4,$5=$5);\n" + " subcircuit PTRANS SC1 ($1=$5,$2=$2,$3=IN);\n" + " subcircuit NTRANS SC2 ($1=$4,$2=$2,$3=IN);\n" + " subcircuit PTRANS SC3 ($1=$5,$2=IN,$3=$2);\n" + " subcircuit NTRANS SC4 ($1=$4,$2=IN,$3=$2);\n" + "end;\n" + "circuit PTRANS ($1=$1,$2=$2,$3=$3);\n" + " device PMOS $1 (S=$1,G=$3,D=$2) (L=0.25,W=0.95,AS=0,AD=0,PS=0,PD=0);\n" + "end;\n" + "circuit NTRANS ($1=$1,$2=$2,$3=$3);\n" + " device NMOS $1 (S=$1,G=$3,D=$2) (L=0.25,W=0.95,AS=0,AD=0,PS=0,PD=0);\n" + "end;\n" + ); +} + +TEST(25_JoinNets) +{ + db::Netlist nl; + db::Circuit *c; + + db::DeviceClass *dc; + + dc = new db::DeviceClassMOS3Transistor (); + dc->set_name ("NMOS"); + nl.add_device_class (dc); + + dc = new db::DeviceClassMOS3Transistor (); + dc->set_name ("PMOS"); + nl.add_device_class (dc); + + nl.from_string ( + "circuit INV2 (IN=IN,$2=$2,OUT=OUT,$4=$4,$5=$5);\n" + " device PMOS $1 (S=$5,G=IN,D=$2) (L=0.25,W=0.95,AS=0,AD=0,PS=0,PD=0);\n" + " device PMOS $2 (S=$5,G=$2,D=OUT) (L=0.25,W=0.95,AS=0,AD=0,PS=0,PD=0);\n" + " device NMOS $3 (S=$4,G=IN,D=$2) (L=0.25,W=0.95,AS=0,AD=0,PS=0,PD=0);\n" + " device NMOS $4 (S=$4,G=$2,D=OUT) (L=0.25,W=0.95,AS=0,AD=0,PS=0,PD=0);\n" + "end;\n" + ); + + c = nl.circuit_by_name ("INV2"); + c->join_nets (c->net_by_name ("IN"), c->net_by_name ("OUT")); + + EXPECT_EQ (nl.to_string (), + "circuit INV2 (IN=IN,$2=$2,OUT=IN,$4=$4,$5=$5);\n" + " device PMOS $1 (S=$5,G=IN,D=$2) (L=0.25,W=0.95,AS=0,AD=0,PS=0,PD=0);\n" + " device PMOS $2 (S=$5,G=$2,D=IN) (L=0.25,W=0.95,AS=0,AD=0,PS=0,PD=0);\n" + " device NMOS $3 (S=$4,G=IN,D=$2) (L=0.25,W=0.95,AS=0,AD=0,PS=0,PD=0);\n" + " device NMOS $4 (S=$4,G=$2,D=IN) (L=0.25,W=0.95,AS=0,AD=0,PS=0,PD=0);\n" + "end;\n" + ); +} diff --git a/testdata/algo/device_extract_au1_joined_nets.gds b/testdata/algo/device_extract_au1_joined_nets.gds new file mode 100644 index 0000000000000000000000000000000000000000..ceda8361f0d0f8d30c9c51e1b66eab86503269a6 GIT binary patch literal 11098 zcmcgy&1+Rh6ra5J@?P@tlo+FhAVuUU7E)_IjEYqJNQzM#MbprVMgIUR(u$N~i%^AD zsfaBuY!}i}yRfU$f@oKzbfFs;-BpT<(p^Dt6XlBlthDDjtkil{ zD^)(9^-720{mu4z-tF)C1?{gpNy@7_Nhxc6dapQ1J0}n9d}DI@$n=5jQwR0wt;F9H zt6GH>-C>Nb1Ltsp9f}-iPp>=u2|nh1i1_#$BYun`2Woy*`#1OD|150W2k$ga^0=VL zEk0HBsE94cJ}E+B6A{aiO8X91{}|J~4D$pw?m~ZQj3Vz|#`AB@+1Sy`;NN1bU%}2E#|j*Z zy!%!*zh^h|8*7*^DDs}&&z3Lqlz9t^JTZS&b1?6{SpP}J#xczQN9>Y-EtH>#4A{R7|LE|dpWq+&BtenS-S+$^_~7gzKIT0^{1`=U z_IUh6WWoPdj;xMfIIalwBO$(fwA7fiNE~jdao7!sTW!}x7;56Y zUD0$Arg}v5_luBwmN8Q8stkbWP~?f)r6QDg*umAzr^qBeqsT4l`-X}T@R09Nn=Dez zDqn-L6L_eoOoE@9Y)G9<%>A24n>~G zFcM*hskg8lR6ip{X8C*gcUYZtYA3~PQz zId9FzrM4z|E_%Gq|H&hK?J8~?kBsS}TMz0KqsR%p-Sqgghw1A^5n+vPF6eXxMUJnp zzlO&r|I~Yv|ME)q&nWV^Cr_V0{M}>z;$G$pioABu^WUjEm)Wl||Eriku!j5X{L`6dT-?k41x21X z^DXnoJ=fZyY)kWJw6SK_C--2t|El6Z=UwbSZhM6FE7-rO7)2hgSj?ka9q}7$m@g>u zaK$7Zz7KL0A-&8znTk>5iHg-Sf9ie7KfTP*`~^jxsF*5eKz9}P>jTEh3=l7rf+7d% z@24sl{9^CRqm1(11x23t{yu*Y>pu+sAXP%l{|iBp6K42#JmNQwF<+4EvE3{_?4u_q zJ$j)c|BNChWPVQ0Y~baw$qirbZy9yb&DFG4-Q!cE>F6rhWOw$If5X)Wr0W z<|OhSy$h*~ZC{IqxwEbBM-G6-l60*h*6P0&YZdi7oNm$i)fQ7`=ls6-uzkNHnSQm! zu-})qweJ_nG-IE&#jxLzOYQr`Q%QzjZ87Zk)d%hSMVp`DS6dAG-L<}bzZ*0CYKvjN z2hOzbcT=WcZ87Zk@V)l^4sFibXKN2L%Z^_i{4`oqkMBpouAGch3#?oooY{KgTnUs6*ASHj`G6x(B0vrrrOidTiD)) zust1>h3$=n?dfPMW^d*oI{UPIHBzV!IxT(fQ=;5y>C+e1(q}5HrB6y&OMm~cmj0?? zE&Z*+TKWrwwRFBq(HbqZ_f9Kk@10i8-aD<*?Xszv-eI* z?|n{;psS=_@wFY{h||_mzNG8da=wx4{j@E2xAX26$@iSczv8ZmcOAmOdye)35j>~ofwJl#`WFI zdvBlJ1^zb7A4qrUL--|2P~_EZ-ux9G_SX`hk$6XMGM`Z7!p}JwUDfLRJ5s$*?jC7x zgejxyH6|VnzY_&@d^`MK*C=z~hIazD{`fcT2HtYqe{AE-lK2%H9{8pgvvFdjcd~4E z542qlv1L4epQiWi=L*x+$9vY&DIspWG2Qhf#}awW<0Z0}HbF2@$@3KtV&S3Xx)Yj>Y@#f^{7=K&)ZM?6?_ubJAIpZ!r2Kni=-pvpG zT^0-S({o|WU!Og{kB7y_JgjA96i*E&u=k literal 0 HcmV?d00001 diff --git a/testdata/ruby/dbNetlist.rb b/testdata/ruby/dbNetlist.rb index d6645b73c..d73d9921b 100644 --- a/testdata/ruby/dbNetlist.rb +++ b/testdata/ruby/dbNetlist.rb @@ -1015,6 +1015,53 @@ END assert_equal(nl2.to_s, <<"END") circuit RINGO (IN=(null),OSC=(null),VSS=(null),VDD=(null)); end; +END + + end + + def test_13_JoinNets + + nl = RBA::Netlist::new + + dc = RBA::DeviceClassMOS3Transistor::new + dc.name = "NMOS" + nl.add(dc) + + dc = RBA::DeviceClassMOS3Transistor::new + dc.name = "PMOS" + nl.add(dc) + + nl.from_s(<<"END") +circuit INV2 (IN=IN,$2=$2,OUT=OUT,$4=$4,$5=$5); + subcircuit PTRANS SC1 ($1=$5,$2=$2,$3=IN); + subcircuit NTRANS SC2 ($1=$4,$2=$2,$3=IN); + subcircuit PTRANS SC3 ($1=$5,$2=OUT,$3=$2); + subcircuit NTRANS SC4 ($1=$4,$2=OUT,$3=$2); +end; +circuit PTRANS ($1=$1,$2=$2,$3=$3); + device PMOS $1 (S=$1,D=$2,G=$3) (L=0.25,W=0.95); +end; +circuit NTRANS ($1=$1,$2=$2,$3=$3); + device NMOS $1 (S=$1,D=$2,G=$3) (L=0.25,W=0.95); +end; +END + + c = nl.circuit_by_name("INV2") + c.join_nets(c.net_by_name("IN"), c.net_by_name("OUT")) + + assert_equal(nl.to_s, <<"END") +circuit INV2 (IN=IN,$2=$2,OUT=IN,$4=$4,$5=$5); + subcircuit PTRANS SC1 ($1=$5,$2=$2,$3=IN); + subcircuit NTRANS SC2 ($1=$4,$2=$2,$3=IN); + subcircuit PTRANS SC3 ($1=$5,$2=IN,$3=$2); + subcircuit NTRANS SC4 ($1=$4,$2=IN,$3=$2); +end; +circuit PTRANS ($1=$1,$2=$2,$3=$3); + device PMOS $1 (S=$1,G=$3,D=$2) (L=0.25,W=0.95,AS=0,AD=0,PS=0,PD=0); +end; +circuit NTRANS ($1=$1,$2=$2,$3=$3); + device NMOS $1 (S=$1,G=$3,D=$2) (L=0.25,W=0.95,AS=0,AD=0,PS=0,PD=0); +end; END end From a46cd305c6f480fcb9d161a561d5f35bbe6c55a0 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Thu, 27 Feb 2020 00:27:09 +0100 Subject: [PATCH 04/10] WIP: bug fix for symmetry detection (should consider different pins to break symmetry). Added tests. --- src/db/db/dbNetlistCompare.cc | 25 ++-- src/db/unit_tests/dbNetlistCompareTests.cc | 151 ++++++++++++++++++--- 2 files changed, 144 insertions(+), 32 deletions(-) diff --git a/src/db/db/dbNetlistCompare.cc b/src/db/db/dbNetlistCompare.cc index 7c5e399b3..04e58dcf2 100644 --- a/src/db/db/dbNetlistCompare.cc +++ b/src/db/db/dbNetlistCompare.cc @@ -3749,14 +3749,16 @@ NetlistComparer::join_symmetric_nodes (db::Circuit *circuit) } std::list > symmetry_groups; - std::set considered_nodes; + std::set visited; for (std::vector::const_iterator np = nodes.begin (); np != nodes.end (); ++np) { size_t node_id = graph.node_index_for_net (np[0]->net ()); - if (considered_nodes.find (node_id) != considered_nodes.end ()) { + if (visited.find (node_id) != visited.end ()) { continue; } + + std::set considered_nodes; considered_nodes.insert (node_id); std::set symmetry_group; @@ -3764,16 +3766,8 @@ NetlistComparer::join_symmetric_nodes (db::Circuit *circuit) derive_symmetry_groups (graph, identical_nodes, considered_nodes, symmetry_group, symmetry_groups); - } + visited.insert (considered_nodes.begin (), considered_nodes.end ()); - // join the nets - - for (std::list >::const_iterator g = symmetry_groups.begin (); g != symmetry_groups.end (); ++g) { - for (std::set::const_iterator i = g->begin (); i != g->end (); ++i) { - if (i != g->begin ()) { - circuit->join_nets (const_cast (graph.net_by_node_index (*g->begin ())), const_cast (graph.net_by_node_index (*i))); - } - } } if (! symmetry_groups.empty () && tl::verbosity () >= 30) { @@ -3789,6 +3783,15 @@ NetlistComparer::join_symmetric_nodes (db::Circuit *circuit) } } + // join the nets + + for (std::list >::const_iterator g = symmetry_groups.begin (); g != symmetry_groups.end (); ++g) { + for (std::set::const_iterator i = g->begin (); i != g->end (); ++i) { + if (i != g->begin ()) { + circuit->join_nets (const_cast (graph.net_by_node_index (*g->begin ())), const_cast (graph.net_by_node_index (*i))); + } + } + } } } diff --git a/src/db/unit_tests/dbNetlistCompareTests.cc b/src/db/unit_tests/dbNetlistCompareTests.cc index f72de7b75..5c89e8012 100644 --- a/src/db/unit_tests/dbNetlistCompareTests.cc +++ b/src/db/unit_tests/dbNetlistCompareTests.cc @@ -3704,9 +3704,9 @@ TEST(24_NodesRemovedButConnectedInOther) EXPECT_EQ (good, true); } -TEST(25_SplitGates) +TEST(25_JoinSymmetricNets) { - const char *nls1 = + const char *nls = "circuit NAND2 (A=A,B=B,OUT=OUT,VSS=VSS,VDD=VDD);\n" " device PMOS $1 (S=OUT,G=A,D=VDD) (L=0.25,W=1);\n" " device PMOS $2 (S=VDD,G=B,D=OUT) (L=0.25,W=1);\n" @@ -3717,8 +3717,29 @@ TEST(25_SplitGates) " device NMOS $6 (S=$2,G=B,D=VSS) (L=0.25,W=1);\n" "end;\n"; - nls1 = - "circuit NAND2 (A=A,B=B);\n" + db::Netlist nl; + prep_nl (nl, nls); + + db::NetlistComparer comp; + comp.join_symmetric_nodes (nl.circuit_by_name ("NAND2")); + + // NOTE $1 and $2 are joined because they are symmetric + EXPECT_EQ (nl.to_string (), + "circuit NAND2 (A=A,B=B,OUT=OUT,VSS=VSS,VDD=VDD);\n" + " device PMOS $1 (S=OUT,G=A,D=VDD) (L=0.25,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device PMOS $2 (S=VDD,G=B,D=OUT) (L=0.25,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device NMOS $3 (S=$1,G=A,D=OUT) (L=0.25,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device NMOS $4 (S=$1,G=A,D=OUT) (L=0.25,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device NMOS $5 (S=$1,G=B,D=VSS) (L=0.25,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device NMOS $6 (S=$1,G=B,D=VSS) (L=0.25,W=1,AS=0,AD=0,PS=0,PD=0);\n" + "end;\n" + ) +} + +TEST(26_JoinSymmetricNets) +{ + const char *nls = + "circuit RESCUBE (A=A,B=B);\n" " device RES $1 (A=A,B=$1) (R=1000);\n" " device RES $2 (A=A,B=$2) (R=1000);\n" " device RES $3 (A=A,B=$3) (R=1000);\n" @@ -3733,25 +3754,113 @@ TEST(25_SplitGates) " device RES $11 (A=$6,B=B) (R=1000);\n" "end;\n"; - const char *nls2 = - "circuit NAND2 (A=A,B=B,OUT=OUT,VSS=VSS,VDD=VDD);\n" - " device PMOS $1 (S=OUT,G=A,D=VDD) (L=0.25,W=1);\n" - " device PMOS $2 (S=VDD,G=B,D=OUT) (L=0.25,W=1);\n" - " device NMOS $3 (S=$1,G=A,D=OUT) (L=0.25,W=2);\n" - " device NMOS $4 (S=$1,G=B,D=VSS) (L=0.25,W=2);\n" - "end;\n"; - - db::Netlist nl1, nl2; - prep_nl (nl1, nls1); - prep_nl (nl2, nls2); + db::Netlist nl; + prep_nl (nl, nls); db::NetlistComparer comp; - comp.join_symmetric_nodes (nl1.circuit_by_name ("NAND2")); // @@@ -#if 0 - bool good = comp.compare (&nl1, &nl2); + comp.join_symmetric_nodes (nl.circuit_by_name ("RESCUBE")); - std::string txt = logger.text (); + EXPECT_EQ (nl.to_string (), + "circuit RESCUBE (A=A,B=B);\n" + " device RES $1 (A=A,B=$1) (R=1000,L=0,W=0,A=0,P=0);\n" + " device RES $2 (A=A,B=$1) (R=1000,L=0,W=0,A=0,P=0);\n" + " device RES $3 (A=A,B=$1) (R=1000,L=0,W=0,A=0,P=0);\n" + " device RES $4 (A=$1,B=$4) (R=1000,L=0,W=0,A=0,P=0);\n" + " device RES $5 (A=$1,B=$4) (R=1000,L=0,W=0,A=0,P=0);\n" + " device RES $6 (A=$1,B=$4) (R=1000,L=0,W=0,A=0,P=0);\n" + " device RES $7 (A=$1,B=$4) (R=1000,L=0,W=0,A=0,P=0);\n" + " device RES $8 (A=$1,B=$4) (R=1000,L=0,W=0,A=0,P=0);\n" + " device RES $9 (A=$1,B=$4) (R=1000,L=0,W=0,A=0,P=0);\n" + " device RES $10 (A=$4,B=B) (R=1000,L=0,W=0,A=0,P=0);\n" + " device RES $11 (A=$4,B=B) (R=1000,L=0,W=0,A=0,P=0);\n" + " device RES $12 (A=$4,B=B) (R=1000,L=0,W=0,A=0,P=0);\n" + "end;\n" + ) - printf("@@@\n%s", txt.c_str()); fflush(stdout); // @@@ -#endif + nl.combine_devices (); + EXPECT_EQ (nl.to_string (), + "circuit RESCUBE (A=A,B=B);\n" + " device RES $10 (A=A,B=B) (R=833.333333333,L=0,W=0,A=0,P=0);\n" + "end;\n" + ) } + +TEST(27_DontJoinSymmetricNetsWithPins) +{ + const char *nls = + "circuit NAND2 (A=A,B=B,OUT=OUT,VSS=VSS,VDD=VDD,X=$1,Y=$2);\n" + " device PMOS $1 (S=OUT,G=A,D=VDD) (L=0.25,W=1);\n" + " device PMOS $2 (S=VDD,G=B,D=OUT) (L=0.25,W=1);\n" + // NOTE: $1 and $2 are separate nets, but can be joined due to symmetry + " device NMOS $3 (S=$1,G=A,D=OUT) (L=0.25,W=1);\n" + " device NMOS $4 (S=$2,G=A,D=OUT) (L=0.25,W=1);\n" + " device NMOS $5 (S=$1,G=B,D=VSS) (L=0.25,W=1);\n" + " device NMOS $6 (S=$2,G=B,D=VSS) (L=0.25,W=1);\n" + "end;\n"; + + db::Netlist nl; + prep_nl (nl, nls); + + db::NetlistComparer comp; + comp.join_symmetric_nodes (nl.circuit_by_name ("NAND2")); + + // NOTE $1 and $2 are NOT joined because they have pins + EXPECT_EQ (nl.to_string (), + "circuit NAND2 (A=A,B=B,OUT=OUT,VSS=VSS,VDD=VDD,X=$1,Y=$2);\n" + " device PMOS $1 (S=OUT,G=A,D=VDD) (L=0.25,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device PMOS $2 (S=VDD,G=B,D=OUT) (L=0.25,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device NMOS $3 (S=$1,G=A,D=OUT) (L=0.25,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device NMOS $4 (S=$2,G=A,D=OUT) (L=0.25,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device NMOS $5 (S=$1,G=B,D=VSS) (L=0.25,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device NMOS $6 (S=$2,G=B,D=VSS) (L=0.25,W=1,AS=0,AD=0,PS=0,PD=0);\n" + "end;\n" + ) +} + +TEST(28_NoSymmetryDetectionCases) +{ + { + const char *nls = + "circuit NAND2 (A=A,B=B,OUT=OUT,VSS=VSS,VDD=VDD);\n" + " device PMOS $1 (S=OUT,G=A,D=VDD) (L=0.25,W=1);\n" + " device PMOS $2 (S=VDD,G=B,D=OUT) (L=0.25,W=1);\n" + // NOTE: $1 and $2 are separate nets, but cannot be joined because of different W + " device NMOS $3 (S=$1,G=A,D=OUT) (L=0.25,W=1);\n" + " device NMOS $4 (S=$2,G=A,D=OUT) (L=0.25,W=1.1);\n" + " device NMOS $5 (S=$1,G=B,D=VSS) (L=0.25,W=1);\n" + " device NMOS $6 (S=$2,G=B,D=VSS) (L=0.25,W=1);\n" + "end;\n"; + + db::Netlist nl; + prep_nl (nl, nls); + + db::NetlistComparer comp; + std::string sref = nl.to_string (); + comp.join_symmetric_nodes (nl.circuit_by_name ("NAND2")); + + EXPECT_EQ (nl.to_string (), sref); + } + + { + const char *nls = + "circuit NAND2 (A=A,B=B,OUT=OUT,VSS=VSS,VSS2=VSS2,VDD=VDD);\n" + " device PMOS $1 (S=OUT,G=A,D=VDD) (L=0.25,W=1);\n" + " device PMOS $2 (S=VDD,G=B,D=OUT) (L=0.25,W=1);\n" + " device NMOS $3 (S=$1,G=A,D=OUT) (L=0.25,W=1);\n" + " device NMOS $4 (S=$2,G=A,D=OUT) (L=0.25,W=1);\n" + // NOTE: $1 and $2 are separate nets, but cannot be joined because of different D connections + " device NMOS $5 (S=$1,G=B,D=VSS) (L=0.25,W=1);\n" + " device NMOS $6 (S=$2,G=B,D=VSS2) (L=0.25,W=1);\n" + "end;\n"; + + db::Netlist nl; + prep_nl (nl, nls); + + db::NetlistComparer comp; + std::string sref = nl.to_string (); + comp.join_symmetric_nodes (nl.circuit_by_name ("NAND2")); + + EXPECT_EQ (nl.to_string (), sref); + } +} + From 25d1a65b2198e880e8049791be77316a78d66af8 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Thu, 27 Feb 2020 01:29:10 +0100 Subject: [PATCH 05/10] Small enhancement: unit tests work also with verbosity >0 now. --- src/tl/tl/tlUnitTest.cc | 9 +++++++++ src/tl/tl/tlUnitTest.h | 2 ++ 2 files changed, 11 insertions(+) diff --git a/src/tl/tl/tlUnitTest.cc b/src/tl/tl/tlUnitTest.cc index f0dd8c7e3..ecebd781f 100644 --- a/src/tl/tl/tlUnitTest.cc +++ b/src/tl/tl/tlUnitTest.cc @@ -146,6 +146,15 @@ CaptureChannel::CaptureChannel () tl::info.add (this, false); tl::error.add (this, false); tl::warn.add (this, false); + + // Because we don't want to capture logger messages, we switch verbosity to "silent" during capturing + m_saved_verbosity = tl::verbosity (); + tl::verbosity (0); +} + +CaptureChannel::~CaptureChannel () +{ + tl::verbosity (m_saved_verbosity); } void CaptureChannel::puts (const char *s) diff --git a/src/tl/tl/tlUnitTest.h b/src/tl/tl/tlUnitTest.h index c24fa9714..98f5eda02 100644 --- a/src/tl/tl/tlUnitTest.h +++ b/src/tl/tl/tlUnitTest.h @@ -191,6 +191,7 @@ class TL_PUBLIC CaptureChannel : public tl::Channel { public: CaptureChannel (); + ~CaptureChannel (); std::string captured_text () const { @@ -210,6 +211,7 @@ protected: private: std::ostringstream m_text; + int m_saved_verbosity; }; /** From 3b31109367c896fd4bd84b72adcbbacda1e25c4a Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Thu, 27 Feb 2020 12:17:35 +0100 Subject: [PATCH 06/10] Added GSI binding for join_symmetric_nets, added method to get circuits by name pattern. --- src/db/db/dbNetlistCompare.cc | 2 +- src/db/db/dbNetlistCompare.h | 2 +- src/db/db/gsiDeclDbNetlist.cc | 22 ++++++++++ src/db/db/gsiDeclDbNetlistCompare.cc | 14 ++++++ src/db/unit_tests/dbNetlistCompareTests.cc | 10 ++--- testdata/ruby/dbNetlist.rb | 7 +++ testdata/ruby/dbNetlistCompare.rb | 51 ++++++++++++++++++++++ 7 files changed, 101 insertions(+), 7 deletions(-) diff --git a/src/db/db/dbNetlistCompare.cc b/src/db/db/dbNetlistCompare.cc index 04e58dcf2..99c3cec22 100644 --- a/src/db/db/dbNetlistCompare.cc +++ b/src/db/db/dbNetlistCompare.cc @@ -3712,7 +3712,7 @@ static bool derive_symmetry_groups (const db::NetGraph &graph, const tl::equival } void -NetlistComparer::join_symmetric_nodes (db::Circuit *circuit) +NetlistComparer::join_symmetric_nets (db::Circuit *circuit) { tl::SelfTimer timer (tl::verbosity () >= 21, tl::to_string (tr ("Join symmetric nodes for circuit: ")) + circuit->name ()); diff --git a/src/db/db/dbNetlistCompare.h b/src/db/db/dbNetlistCompare.h index bacf209b3..d639ed12f 100644 --- a/src/db/db/dbNetlistCompare.h +++ b/src/db/db/dbNetlistCompare.h @@ -314,7 +314,7 @@ public: * condition (device filtering, device compare tolerances, device class * equivalence etc.). */ - void join_symmetric_nodes (db::Circuit *circuit); + void join_symmetric_nets (db::Circuit *circuit); private: // No copying diff --git a/src/db/db/gsiDeclDbNetlist.cc b/src/db/db/gsiDeclDbNetlist.cc index 7300b2a09..79a91fc2c 100644 --- a/src/db/db/gsiDeclDbNetlist.cc +++ b/src/db/db/gsiDeclDbNetlist.cc @@ -1418,6 +1418,22 @@ static void blank_circuit_by_name (db::Netlist *nl, const std::string &name_patt } } +static std::vector +circuits_by_name (db::Netlist *netlist, const std::string &name_pattern) +{ + std::vector res; + + tl::GlobPattern glob (name_pattern); + for (db::Netlist::circuit_iterator c = netlist->begin_circuits (); c != netlist->end_circuits (); ++c) { + db::Circuit *circuit = c.operator-> (); + if (glob.match (circuit->name ())) { + res.push_back (circuit); + } + } + + return res; +} + Class decl_dbNetlist ("db", "Netlist", gsi::method_ext ("add", &gsi::add_circuit, gsi::arg ("circuit"), "@brief Adds the circuit to the netlist\n" @@ -1475,6 +1491,12 @@ Class decl_dbNetlist ("db", "Netlist", "@brief Gets the circuit object for a given name.\n" "If the name is not a valid circuit name, nil is returned." ) + + gsi::method_ext ("circuits_by_name", &circuits_by_name, gsi::arg ("name_pattern"), + "@brief Gets the circuit objects for a given name filter.\n" + "The name filter is a glob pattern. This method will return all \\Circuit objects matching the glob pattern.\n" + "\n" + "This method has been introduced in version 0.26.4.\n" + ) + gsi::iterator ("each_circuit_top_down", (db::Netlist::top_down_circuit_iterator (db::Netlist::*) ()) &db::Netlist::begin_top_down, (db::Netlist::top_down_circuit_iterator (db::Netlist::*) ()) &db::Netlist::end_top_down, "@brief Iterates over the circuits top-down\n" "Iterating top-down means the parent circuits come before the child circuits. " diff --git a/src/db/db/gsiDeclDbNetlistCompare.cc b/src/db/db/gsiDeclDbNetlistCompare.cc index 31e4275a2..df91db260 100644 --- a/src/db/db/gsiDeclDbNetlistCompare.cc +++ b/src/db/db/gsiDeclDbNetlistCompare.cc @@ -557,6 +557,20 @@ Class decl_dbNetlistComparer ("db", "NetlistComparer", "This method will perform the actual netlist compare using the given logger. It will return true if both netlists are identical. " "If the comparer has been configured with \\same_nets or similar methods, the objects given there must " "be located inside 'circuit_a' and 'circuit_b' respectively." + ) + + gsi::method ("join_symmetric_nets", &db::NetlistComparer::join_symmetric_nets, gsi::arg ("circuit"), + "@brief Joins symmetric nodes in the given circuit.\n" + "\n" + "Nodes are symmetrical if swapping them would not modify the circuit.\n" + "Hence they will carry the same potential and can be connected (joined).\n" + "This will simplify the circuit and can be applied before device combination\n" + "to render a schematic-equivalent netlist in some cases (split gate option).\n" + "\n" + "This algorithm will apply the comparer's settings to the symmetry\n" + "condition (device filtering, device compare tolerances, device class\n" + "equivalence etc.).\n" + "\n" + "This method has been introduced in version 0.26.4.\n" ), "@brief Compares two netlists\n" "This class performs a comparison of two netlists.\n" diff --git a/src/db/unit_tests/dbNetlistCompareTests.cc b/src/db/unit_tests/dbNetlistCompareTests.cc index 5c89e8012..0b06a7a04 100644 --- a/src/db/unit_tests/dbNetlistCompareTests.cc +++ b/src/db/unit_tests/dbNetlistCompareTests.cc @@ -3721,7 +3721,7 @@ TEST(25_JoinSymmetricNets) prep_nl (nl, nls); db::NetlistComparer comp; - comp.join_symmetric_nodes (nl.circuit_by_name ("NAND2")); + comp.join_symmetric_nets (nl.circuit_by_name ("NAND2")); // NOTE $1 and $2 are joined because they are symmetric EXPECT_EQ (nl.to_string (), @@ -3758,7 +3758,7 @@ TEST(26_JoinSymmetricNets) prep_nl (nl, nls); db::NetlistComparer comp; - comp.join_symmetric_nodes (nl.circuit_by_name ("RESCUBE")); + comp.join_symmetric_nets (nl.circuit_by_name ("RESCUBE")); EXPECT_EQ (nl.to_string (), "circuit RESCUBE (A=A,B=B);\n" @@ -3802,7 +3802,7 @@ TEST(27_DontJoinSymmetricNetsWithPins) prep_nl (nl, nls); db::NetlistComparer comp; - comp.join_symmetric_nodes (nl.circuit_by_name ("NAND2")); + comp.join_symmetric_nets (nl.circuit_by_name ("NAND2")); // NOTE $1 and $2 are NOT joined because they have pins EXPECT_EQ (nl.to_string (), @@ -3836,7 +3836,7 @@ TEST(28_NoSymmetryDetectionCases) db::NetlistComparer comp; std::string sref = nl.to_string (); - comp.join_symmetric_nodes (nl.circuit_by_name ("NAND2")); + comp.join_symmetric_nets (nl.circuit_by_name ("NAND2")); EXPECT_EQ (nl.to_string (), sref); } @@ -3858,7 +3858,7 @@ TEST(28_NoSymmetryDetectionCases) db::NetlistComparer comp; std::string sref = nl.to_string (); - comp.join_symmetric_nodes (nl.circuit_by_name ("NAND2")); + comp.join_symmetric_nets (nl.circuit_by_name ("NAND2")); EXPECT_EQ (nl.to_string (), sref); } diff --git a/testdata/ruby/dbNetlist.rb b/testdata/ruby/dbNetlist.rb index d73d9921b..7f40be626 100644 --- a/testdata/ruby/dbNetlist.rb +++ b/testdata/ruby/dbNetlist.rb @@ -90,6 +90,13 @@ class DBNetlist_TestClass < TestBase nl.each_circuit { |i| names << i.name } assert_equal(names, [ c.name, cc.name ]) + assert_equal(nl.circuits_by_name("X*").collect { |c| c.name }, [ "XYZ" ]) + assert_equal(nl.circuits_by_name("???").collect { |c| c.name }, [ "XYZ", "UVW" ]) + assert_equal(nl.circuits_by_name("*").collect { |c| c.name }, [ "XYZ", "UVW" ]) + assert_equal(nl.circuits_by_name("P*").collect { |c| c.name }, []) + assert_equal(nl.circuits_by_name("x*").collect { |c| c.name }, []) + assert_equal(nl.circuits_by_name("").collect { |c| c.name }, []) + # same as _destroy nl.remove(c) diff --git a/testdata/ruby/dbNetlistCompare.rb b/testdata/ruby/dbNetlistCompare.rb index be77f5bb4..d256aa849 100644 --- a/testdata/ruby/dbNetlistCompare.rb +++ b/testdata/ruby/dbNetlistCompare.rb @@ -986,6 +986,57 @@ END end + def test_11 + + nls = < Date: Thu, 27 Feb 2020 13:35:36 +0100 Subject: [PATCH 07/10] Enhanced LVS with 'join_symmetric_nets'. Updated doc. Added test. --- src/lay/lay/doc/about/drc_ref.xml | 2 +- src/lay/lay/doc/about/drc_ref_global.xml | 7 +- src/lay/lay/doc/about/drc_ref_layer.xml | 15 +- src/lay/lay/doc/about/drc_ref_netter.xml | 12 +- src/lay/lay/doc/about/drc_ref_source.xml | 2 +- src/lay/lay/doc/about/lvs_ref.xml | 2 +- src/lay/lay/doc/about/lvs_ref_global.xml | 11 +- src/lay/lay/doc/about/lvs_ref_netter.xml | 25 +- src/lay/lay/doc/images/drc_and1.png | Bin 5107 -> 5120 bytes src/lay/lay/doc/images/drc_and2.png | Bin 6018 -> 6074 bytes src/lay/lay/doc/images/drc_and3.png | Bin 6211 -> 6262 bytes src/lay/lay/doc/images/drc_centers1.png | Bin 5137 -> 5222 bytes src/lay/lay/doc/images/drc_centers2.png | Bin 5090 -> 5180 bytes src/lay/lay/doc/images/drc_corners1.png | Bin 5233 -> 5238 bytes src/lay/lay/doc/images/drc_corners2.png | Bin 5068 -> 5118 bytes src/lay/lay/doc/images/drc_corners3.png | Bin 5245 -> 5336 bytes src/lay/lay/doc/images/drc_enc1.png | Bin 5754 -> 5805 bytes src/lay/lay/doc/images/drc_enc2.png | Bin 5831 -> 5912 bytes src/lay/lay/doc/images/drc_end_segments1.png | Bin 5021 -> 5131 bytes src/lay/lay/doc/images/drc_end_segments2.png | Bin 5108 -> 5224 bytes src/lay/lay/doc/images/drc_extended1.png | Bin 4835 -> 4964 bytes src/lay/lay/doc/images/drc_extended2.png | Bin 4999 -> 5147 bytes src/lay/lay/doc/images/drc_extended3.png | Bin 5130 -> 5293 bytes src/lay/lay/doc/images/drc_extended4.png | Bin 5008 -> 5125 bytes src/lay/lay/doc/images/drc_extent_refs1.png | Bin 4529 -> 4652 bytes src/lay/lay/doc/images/drc_extent_refs10.png | Bin 4554 -> 4642 bytes src/lay/lay/doc/images/drc_extent_refs11.png | Bin 4556 -> 4600 bytes src/lay/lay/doc/images/drc_extent_refs12.png | Bin 4803 -> 4920 bytes src/lay/lay/doc/images/drc_extent_refs13.png | Bin 4563 -> 4675 bytes src/lay/lay/doc/images/drc_extent_refs20.png | Bin 4624 -> 4748 bytes src/lay/lay/doc/images/drc_extent_refs21.png | Bin 4656 -> 4764 bytes src/lay/lay/doc/images/drc_extent_refs22.png | Bin 4635 -> 4763 bytes src/lay/lay/doc/images/drc_extent_refs23.png | Bin 4638 -> 4748 bytes src/lay/lay/doc/images/drc_extent_refs24.png | Bin 4579 -> 4684 bytes src/lay/lay/doc/images/drc_extent_refs25.png | Bin 4596 -> 4718 bytes src/lay/lay/doc/images/drc_extent_refs26.png | Bin 4624 -> 4748 bytes src/lay/lay/doc/images/drc_extent_refs27.png | Bin 4617 -> 4749 bytes src/lay/lay/doc/images/drc_extent_refs30.png | Bin 4623 -> 4759 bytes src/lay/lay/doc/images/drc_extent_refs31.png | Bin 4587 -> 4731 bytes src/lay/lay/doc/images/drc_extents1.png | Bin 4661 -> 4693 bytes src/lay/lay/doc/images/drc_extents2.png | Bin 5612 -> 5708 bytes src/lay/lay/doc/images/drc_holes.png | Bin 4942 -> 4960 bytes src/lay/lay/doc/images/drc_hulls.png | Bin 4646 -> 4684 bytes src/lay/lay/doc/images/drc_in.png | Bin 4806 -> 4797 bytes src/lay/lay/doc/images/drc_inside.png | Bin 5212 -> 5214 bytes src/lay/lay/doc/images/drc_inside_part.png | Bin 5985 -> 6054 bytes src/lay/lay/doc/images/drc_interacting.png | Bin 5369 -> 5422 bytes src/lay/lay/doc/images/drc_join1.png | Bin 5088 -> 5104 bytes src/lay/lay/doc/images/drc_join2.png | Bin 6723 -> 6813 bytes src/lay/lay/doc/images/drc_merged1.png | Bin 4725 -> 4726 bytes src/lay/lay/doc/images/drc_merged2.png | Bin 4783 -> 4798 bytes src/lay/lay/doc/images/drc_merged3.png | Bin 5551 -> 5573 bytes src/lay/lay/doc/images/drc_merged4.png | Bin 5500 -> 5506 bytes src/lay/lay/doc/images/drc_middle1.png | Bin 4386 -> 4450 bytes src/lay/lay/doc/images/drc_moved1.png | Bin 5182 -> 5207 bytes src/lay/lay/doc/images/drc_not1.png | Bin 5469 -> 5500 bytes src/lay/lay/doc/images/drc_not2.png | Bin 6702 -> 6764 bytes src/lay/lay/doc/images/drc_not3.png | Bin 6141 -> 6196 bytes src/lay/lay/doc/images/drc_not_in.png | Bin 5015 -> 5060 bytes src/lay/lay/doc/images/drc_not_inside.png | Bin 5476 -> 5516 bytes .../lay/doc/images/drc_not_interacting.png | Bin 6067 -> 6151 bytes src/lay/lay/doc/images/drc_not_outside.png | Bin 5067 -> 5111 bytes .../lay/doc/images/drc_not_overlapping.png | Bin 6146 -> 6210 bytes src/lay/lay/doc/images/drc_or1.png | Bin 5232 -> 5233 bytes src/lay/lay/doc/images/drc_or2.png | Bin 6719 -> 6790 bytes src/lay/lay/doc/images/drc_outside.png | Bin 6036 -> 6051 bytes src/lay/lay/doc/images/drc_outside_part.png | Bin 6350 -> 6414 bytes src/lay/lay/doc/images/drc_overlap1.png | Bin 6285 -> 6331 bytes src/lay/lay/doc/images/drc_overlap2.png | Bin 6293 -> 6339 bytes src/lay/lay/doc/images/drc_overlapping.png | Bin 5093 -> 5158 bytes src/lay/lay/doc/images/drc_raw1.png | Bin 6064 -> 6139 bytes src/lay/lay/doc/images/drc_raw2.png | Bin 6800 -> 6818 bytes src/lay/lay/doc/images/drc_raw3.png | Bin 6196 -> 6218 bytes src/lay/lay/doc/images/drc_rotated1.png | Bin 6970 -> 6991 bytes .../lay/doc/images/drc_rounded_corners.png | Bin 5610 -> 5668 bytes src/lay/lay/doc/images/drc_scaled1.png | Bin 5159 -> 5197 bytes src/lay/lay/doc/images/drc_separation1.png | Bin 6101 -> 6144 bytes src/lay/lay/doc/images/drc_sized1.png | Bin 4375 -> 4399 bytes src/lay/lay/doc/images/drc_sized2.png | Bin 4490 -> 4546 bytes src/lay/lay/doc/images/drc_sized3.png | Bin 4632 -> 4678 bytes src/lay/lay/doc/images/drc_sized4.png | Bin 4581 -> 4649 bytes src/lay/lay/doc/images/drc_sized5.png | Bin 4549 -> 4595 bytes src/lay/lay/doc/images/drc_sized6.png | Bin 4654 -> 4694 bytes src/lay/lay/doc/images/drc_space1.png | Bin 5504 -> 5504 bytes src/lay/lay/doc/images/drc_space2.png | Bin 5145 -> 5208 bytes src/lay/lay/doc/images/drc_space3.png | Bin 5369 -> 5440 bytes .../lay/doc/images/drc_start_segments1.png | Bin 5039 -> 5154 bytes .../lay/doc/images/drc_start_segments2.png | Bin 5213 -> 5317 bytes src/lay/lay/doc/images/drc_transformed1.png | Bin 5809 -> 5884 bytes src/lay/lay/doc/images/drc_width1.png | Bin 5000 -> 5046 bytes src/lay/lay/doc/images/drc_width2.png | Bin 4804 -> 4858 bytes src/lay/lay/doc/images/drc_width3.png | Bin 4997 -> 5042 bytes src/lay/lay/doc/images/drc_width4.png | Bin 5338 -> 5397 bytes src/lay/lay/doc/images/drc_with_angle1.png | Bin 5809 -> 5904 bytes src/lay/lay/doc/images/drc_with_angle2.png | Bin 6275 -> 6272 bytes src/lay/lay/doc/images/drc_with_angle3.png | Bin 5563 -> 5595 bytes src/lay/lay/doc/images/drc_with_angle4.png | Bin 5517 -> 5621 bytes src/lay/lay/doc/images/drc_xor1.png | Bin 5113 -> 5178 bytes src/lay/lay/doc/images/drc_xor2.png | Bin 6807 -> 6878 bytes src/lvs/lvs/built-in-macros/_lvs_engine.rb | 8 +- src/lvs/lvs/built-in-macros/_lvs_netter.rb | 33 ++ src/lvs/unit_tests/lvsSimpleTests.cc | 5 + testdata/lvs/nand2_split_gate.cir | 23 + testdata/lvs/nand2_split_gate.lvs | 84 ++++ testdata/lvs/nand2_split_gate.lvsdb | 407 ++++++++++++++++++ testdata/lvs/nand2_split_gate.oas | Bin 0 -> 1150 bytes testdata/lvs/nand2_split_gate_schematic.cir | 7 + 107 files changed, 626 insertions(+), 17 deletions(-) create mode 100644 testdata/lvs/nand2_split_gate.cir create mode 100644 testdata/lvs/nand2_split_gate.lvs create mode 100644 testdata/lvs/nand2_split_gate.lvsdb create mode 100644 testdata/lvs/nand2_split_gate.oas create mode 100644 testdata/lvs/nand2_split_gate_schematic.cir diff --git a/src/lay/lay/doc/about/drc_ref.xml b/src/lay/lay/doc/about/drc_ref.xml index a4a9cf55f..72a5658de 100644 --- a/src/lay/lay/doc/about/drc_ref.xml +++ b/src/lay/lay/doc/about/drc_ref.xml @@ -1,7 +1,7 @@ - + diff --git a/src/lay/lay/doc/about/drc_ref_global.xml b/src/lay/lay/doc/about/drc_ref_global.xml index 5d22e240b..4d0e8c273 100644 --- a/src/lay/lay/doc/about/drc_ref_global.xml +++ b/src/lay/lay/doc/about/drc_ref_global.xml @@ -1,7 +1,7 @@ - + @@ -151,7 +151,7 @@ l1and2, l1minus2 = cheat("UNIT_CELL) do end

-(Technically, the check code block is a Ruby Proc and cannot create variables +(Technically, the cheat code block is a Ruby Proc and cannot create variables outside it's scope. Hence the results of this code block have to be passed through the "cheat" method).

@@ -234,7 +234,6 @@ See Netter#connect_global

Usage:

  • connect_implicit(label_pattern)
  • -
  • connect_implicit(cell_pattern, label_pattern)

See Netter#connect_implicit for a description of that function. @@ -769,7 +768,7 @@ a new target will be set up.

-Use the first version of this method to supply label strings which create implicit net connections -on the top level circuit. This feature is useful to connect identically labelled nets +Use this method to supply label strings which create implicit net connections +on the top level circuit in the first version. This feature is useful to connect identically labelled nets while a component isn't integrated yet. If the component is integrated, nets may be connected on a higher hierarchy level - e.g. by a power mesh. Inside the component this net consists of individual islands. To properly perform netlist extraction and comparison, these islands need to be connected even though there isn't a physical connection. "connect_implicit" can -achieve this if these islands are labelled with the same text on the top level of the +achive this if these islands are labelled with the same text on the top level of the component.

-In the second version, the pattern can be specified for a cell range (given by a cell glob-style -name pattern or a single cell name). These pattern are applied to non-top cells. An unspecific pattern +In the second version, the pattern can be specified for a cell range (given by a cell name pattern or a +single cell name). These pattern are applied to non-top cells. The unspecific pattern has priority over the cell-specific ones. As the cell selector is a pattern itself, a single cell may fall into more than one category. In this case, the label filters are combined. diff --git a/src/lay/lay/doc/about/drc_ref_source.xml b/src/lay/lay/doc/about/drc_ref_source.xml index 04ee3c660..3a2b42bea 100644 --- a/src/lay/lay/doc/about/drc_ref_source.xml +++ b/src/lay/lay/doc/about/drc_ref_source.xml @@ -1,7 +1,7 @@ - + diff --git a/src/lay/lay/doc/about/lvs_ref.xml b/src/lay/lay/doc/about/lvs_ref.xml index 1fcdb8ba6..9a5817a14 100644 --- a/src/lay/lay/doc/about/lvs_ref.xml +++ b/src/lay/lay/doc/about/lvs_ref.xml @@ -1,7 +1,7 @@ - + diff --git a/src/lay/lay/doc/about/lvs_ref_global.xml b/src/lay/lay/doc/about/lvs_ref_global.xml index 4ea1fa4fb..970b72954 100644 --- a/src/lay/lay/doc/about/lvs_ref_global.xml +++ b/src/lay/lay/doc/about/lvs_ref_global.xml @@ -1,7 +1,7 @@ - + @@ -46,6 +46,15 @@ See Netter#compare for a descrip

See Netter#equivalent_pins for a description of that function.

+

"join_symmetric_nets" - Joins symmetric nets of selected circuits on the extracted netlist

+ +

Usage:

+
    +
  • join_symmetric_nets(circuit_filter)
  • +
+

+See Netter#join_symmetric_nets for a description of that function. +

"max_branch_complexity" - Configures the maximum branch complexity for ambiguous net matching

Usage:

diff --git a/src/lay/lay/doc/about/lvs_ref_netter.xml b/src/lay/lay/doc/about/lvs_ref_netter.xml index 604805c0c..3e22ca91d 100644 --- a/src/lay/lay/doc/about/lvs_ref_netter.xml +++ b/src/lay/lay/doc/about/lvs_ref_netter.xml @@ -1,7 +1,7 @@ - + @@ -110,6 +110,29 @@ If the netlist provides named pins, names can be used instead of numbers. Before this method can be used, a schematic netlist needs to be loaded with
schematic.

+

"join_symmetric_nets" - Joins symmetric nets of selected circuits on the extracted netlist

+ +

Usage:

+
    +
  • join_symmetric_nets(circuit_filter)
  • +
+

+Nets are symmetrical if swapping them would not modify the circuit. +Hence they will carry the same potential and can be connected (joined). +This will simplify the circuit and can be applied before device combination +(e.g. through "netlist.simplify") to render a schematic-equivalent netlist in some +cases where symmetric nodes are split (i.e. "split gate" configuration). +

+This method operates on the extracted netlist (layout). The circuit filter +specifies the circuits to which to apply this operation. The filter is a +glob-style pattern. Using "*" for all circuits is possible, but it's +discouraged currenty until the reliability of the symmetry detection +algorithm is established. Currently it is recommended to apply it only to +those circuits for which this feature is required. +

+For the symmetry detection, the specified constraints (e.g. tolerances, +device filters etc.) apply. +

"lvs_data" - Gets the internal LayoutVsSchematic object

Usage:

diff --git a/src/lay/lay/doc/images/drc_and1.png b/src/lay/lay/doc/images/drc_and1.png index 9ea749e22f91abfa96d5f993b1f13a2478e9c61b..5964e19393309b82661763f2bdd4de28817ccac8 100644 GIT binary patch literal 5120 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 literal 5107 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 VMsNRH6xfUdj1A0B7wBCM`3Gw0pf>;j diff --git a/src/lay/lay/doc/images/drc_and2.png b/src/lay/lay/doc/images/drc_and2.png index 87bd69131a52278e05fe264a0b20c6b931f35889..f6a9cfe6bf0916acfe16a2f7512f32105f442bb2 100644 GIT binary patch literal 6074 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 Xe$U8-A{;mYB>h}Yxu2|b3QGG2ZcU~x delta 3679 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 Soe0kVAU0OE2ku*V#QhJD)3VC| literal 5137 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 I-#PYQ07F=~P5=M^ literal 5090 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 diff --git a/src/lay/lay/doc/images/drc_corners1.png b/src/lay/lay/doc/images/drc_corners1.png index 52a4e8f4d3ca1c1c4017d04ea077f6b81ca0781d..461054bdf9e5760ea1ede8545a42d7cac676fb5c 100644 GIT binary patch literal 5238 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 literal 5233 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 literal 5068 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 diff --git a/src/lay/lay/doc/images/drc_corners3.png b/src/lay/lay/doc/images/drc_corners3.png index 061cdf486e9fedd936f892cf7eaa4a4033b5f22c..ed6f976963b87ba25d73868c030870c37213bf40 100644 GIT binary patch literal 5336 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 LEY6phpdS7Qz1d=f literal 5245 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 IxqIw?0f&w(ZvX%Q diff --git a/src/lay/lay/doc/images/drc_enc1.png b/src/lay/lay/doc/images/drc_enc1.png index cbf117d9514a632ee64f7db4aa560206d92e4e73..d4b448284629bd997b7195b1bd6c206bdd6e8823 100644 GIT binary patch literal 5805 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 V;bFtcU>g~5-{ZBr*fsRbzX0wBOrQV& literal 5754 zcmeHLX;f3$nhl_cLV}`}kJ$-v2;cxn3=kC*6-BfVe zzIFtGSp0Rj^)`o~ls@`_faMsq9kE;T*OxxJbJ%SF-5t@ZMOvP*Fov;xs9*La&4(~+ z?t+9nIucZ6LF0|4FA2y&IiQVo(d5qqo1$(`rwiT@d{qxk>i26zu+lx&kHz!`CqHmg9SLBLih`m;M)chRJ zY+A46W_Mzk|EMTc+P-3CNwvkUF`|o2o;t6S7~DH)#L5<1TTT$eLNB^I4;1G_bK4@_ zN2^FDraC|BhK_Msk7vH(a5yoHPE%Wr{QeTxqD9*G&>6#4dE$@-{3#Fp>?eWI_D)}< zd0Cd}5wvq&>KxXHUz)B_b=N?mYd0nI2HlW2%FxG5wfpdeC4#X}^@`Yl3f`;Ml+J5e z=0P#KOC&=tzdBY-xdjnM2XuteXx-AWmYwY-jjKzlag%S=qbSl^fkk1rY^Rtjw1rB~ zY84-*)LfG_1eQvYxqTd6Tp?6rD=Mk>>Hpbo(u_WvaT1Tp-fYpeBDy(x<%P%-UHKxB z%zJcb$ghi0M>$_qcea^#=0(k%OukJO-P}w~2Ui_!bCat7N@!CR8!djnqo1tCB{ zEXA4*^%`$DHOw|LKkpd%wxE(`?y!yS&f43zOe%(IGrhqSR7o@=D!jqrwE(aWDqqakw^+# zEImb>cDi3J0ok*yQ84Zs7pkB%m(HjxBA^;>DT$P$jOWlhL7y~08 z$O}U?d1}nY$HSo+93J+w8MOBLXxu6cQ{TL`CwF8ckhRRHucTGY%gULs7)Oj)dw?;HlSc_BB6~~bAM(KR;2K>+6?AH^0 z3QN2VBXE651oZ{Nud9Ti8Tv_^pFSZN5XhX>;AJ<0=K$<_k95*r6X+*I{DM0TI+G?w z5deJeCH?B-rwENi}RCer?$YkG^U#hkA@^+?yLA|S322Pm3#EaK)w++_=o2j$8!=Y8|(?_0eEeU5AHjRrtZ zhK-q0W^3(li9sf~{E8OGP@jPh?45K~n}-vDYtgJWVt+fk{~VSrY|=?fWtH=p0+bh? z=dY*NbWGs@c;Boa z8|Z~+Y-0XW58=xB%>r+v?Rwl=*%(=y=Sq!FJ)MMXjqVVNiszY$c6TBJ@!qqTeQ^w} zgvxsMaNZ5*#(0}hdk(;6?v9setfJ*F(!Ui39>Yyv@WlLm*veFW+76VmhCT04%qP2^ zmxQ_I$aT1heWdW2QRy$xa0)>?SqB8Um0O`~VI67Ms9CQ2vil`rO=%md=300@{aq}i z7Np@A=19b=;X=#XKWl3ybgS4pLmljd->vJpvCuoXCSwV-PXKNQyPB{~;Z^axgH3BJ zFzE9cgiiO02PpfQ(H{wepxVG{0=z}vIqC+9R*20p=*Z2@grWuPf}hDmy!?LX6?YHH z_IDaLP-_NhkLOJ--oX?PNiY!)yMYhg3-{r`V|aDGl{gk!PMeMVR@@HuECwi-?EaRmpwwW*&n3je%&1HSca2YV6Um)5zn@_XB@ z!=NwgTDJPl@G+f5AmVNP?(~30gL~j)NR3sW%`hN#2m7|1tJCZU-#fk4VNT}E2y4n5 zM)&%bNN2_Q(>Q=oL$0W7GDSKO)(G_S@IX_51I2Y(H2ygN&-Y^A_r;Wq_+bsh?gc2p z4M>e?i&}^KQFhPdJvC1DXC3QeXNd+nYDy1ENJ)gwjQ@qb{6Al1G*_LM+tUW9(S_|` z!{?g=26=7MQkPJr3APm_{C9EHqv;Jn-B=V*9e{MiWG~8djh(R!$SJIJUOvH@vR#(@ zQCGEoGQQ2sUiw|n$C7&y-$oqjA;u1E@5Iz_V*g+eMT#x2B^(-vrnC-dI9`3_Ro|DULGCkEPLY5}NG7fPEk3R$kEp}@1mLI;B&?F3CZ&p)YB7L;?J2B?uV5HoEDt@CTC z1JfJYJfA{{xWZ+|8o@>>UMu05YU+Sl5QhqozH3~MVWykC9Rbb}R=V7>&a|;KvzBaI8ShTDNPTbsO}h6_(r3e z0QV9=2L}Pe?SThVbAk6ICO>57D8gb2wpg0-!}H(_0G}>y6Hb9}*zba%XAgRxfjyw8 z&JllD0fT;8T+1GYB6(Y<;OV0SA4ipsE-K10PIu4Icw6uuu7OQea9Rw0pDLI%YQbD;FoX>D7brMFERF zlM8(Q06~6PTXKQF_Rd?(YXD%_f2UjG0k(~Bs)`Ue8OX1>+J{4*Eb^D?m1kbf) zui(>$EP@=u99cHk<-|tS7P+PBVt@R$Ki^=Mj<(isKu;>A1tX5R)e*{?&G_Q`QG^IZ zrRQw*1WoTeMerh>TJlP*eCYRGO6%vJM1H&1p(0_A|6r`}+RaSKoE*{jKZz_Wt9&X72aBp7*(*`@Vm_ z`}f}G+;%&`7wIm7!C-Lb9oyVtFuBXJOKBdsqt=z30eS|e>% zEy}xug~7DWJ8#?K5tYfy+*8`|RKsx>dcpSXTG2=FzC&uQ2LlgZeBQd}VKWPr{AIEH zc!9&C69-*WblSNk69-`Nt3_|ca2O1ckf;EI_;=gY8+iVoBC@b)#O!%q{_$b#9ZE20 zGc+$Ae<;!T1#e@KIoCnq=^I$ziz|y^i6>>NYE@j$Fp0k2jD$s@*>ZnNFj@vvnGaV6 zPjyn2%D7Dx`O2C-4)ZT6J2}9XF3{BiPc4w@!R_fpthPyQ!h)sRNoQbdR4nxvb}gDX zvvq>F_t7OLG{ImFdB`Pre|MdLwtCVz&jzaSGOwdbK3CYbJK!#-H4fZWv*pFITycY% z0y|XAdtr2eaEhkYb!}htls0Ye$c26*`MZg)#hAxQ&F#Yj1U7SIwKyS6LNu8^lu%(+ z#cC2%mF#u`iblN>y9aHZ_{_Z)@}*u#5|*R2MHeF7t9u@l9U?U|sVPP+ z-D9>~1ClhW#ZrH|LFKu?^Vfh^AvK<{Gi|Dc&t{5!D8x}IA`Ze;HZvy#gEkps6{{7g zp_g5?r=~=#|JL z#7Zk96hc?R!2>YkWcXW=sTY^{gdjpybtj#&hjZVB)F`=-rK$Um=Wh3=y>euts`cYI z)auc~p0&dzHek4zwGFvKj65XA^Ng>rR;r<$DnhxX5mzke$ z{8Cq&x$*g)#q>bu7D3izdR6@}Psy7#LwMJR+w?pcN0~8T^cm&Y+|YLD3iix9a!N;5?J_K|<1CPrI%9Q~S~97ruP>QL zpXS3(Lw|zk%`%Fx_OF88dL#g*FXpGtLJRH_bB}ms_!@J>Lb*dr{V@QTP4sO~z5N(I z-nlSs-9uj18uMz`yrIJmExmz17y7I@zp=ti&U}6C)6nJe@%Y<#x!N^rAPx5a09e{td$p zJG~;VDhqfKq_;(UOR01^sBxyei%*pP_W5Ox_3`dbZLeS}vf~UlLVP-8xGS^?PkhMc z3Ij`qexQ{WO_`59>Nc#pkBxcYKcyQ>K1d}RZp-84A9STn5$!bW&qgG^8ob*Ufetwp z0^RHde+&ysi=q_~ei-8?x(8!eW8A{CXePGm;z6NHK0D_nb)=@$7ZKO%GjIFEyY=cp zbfXR(lap#C!#loEeS#5s=;DsupXW0ob`B@@spPr9Q=k`CquxJKj2&@MKb_C3G$3FC z?_^~^nes2mYRl+h((gxsKTg0WmRy|<`dofu13uvq@Nj_*Qr*G^Nx+;r-xfX z(R>7ss?$&3*3?h0#~Y6>u|aMHu4zoViIZMVV?X`vG2Stccg_CLu?J(p*3I;a_iJpB zWTS2c0>*u8cFSh&GD^-05P`g8S&$Z1!-LLyGO;nm9nFLKp_%yW^?^4K=v-j=T!u8( zra(VYuGhQv(^Y_LJA1bBY&FDw>3VgEngykMr{YVpTA#74p+R?9q%M)Q>+#NS+htqY z(kO`3n;-)D_WO_d2`{JY+jESubow53OXH`idS{XrG0F?w0il`%f)SjUB@A*RNyAa4 zhr@#whf~+l70ogt<<>1OEKQkW9;@!!uqdFqi(g^~H$@39eB}Q?`$QQpV_pp5>Fc3s z0z8d4vpZqH(yKWJ!H7Akh>rbeR4mA#T5&7%^-_gi&JBddtvshu5l8nxmOr0U)u-Bc z=}FlOB}F)I;_kj0?zBIp;o%Q;BM<` zYCGQB7bE(JEE*DDAy4n|l;hYxtYm|?$pVoAX+-IwV|@u2jqaH0z8e3T{5v4caoyilTq|=c{F}Ey`vI@R=e#tId@K~l38qL&73>!EN_$$z< zMc0U$_rCc$7iO8~!yo8&ei-rn1n~a!;mdR3@l7XoC-)2b=|8YSDFfSU0W=%%3uTE1 zz&bZ<-yOzJf;WaI=Fsp2%-*m&0br8=pmKgKAIKh`jSd0hc5*JcUwy@fJem(uEwezm z%vRpC{Izfjhtt44~o5 z!mi)W-OmDa2R^dSelJ%HVBfRDL`&S7^>2ZK>T5(WJ_$xR(nom5TpA;p_d)V%uzHqj zSN)St^hcL8m32uY1RyJ8Od0|mn|iZCb4_-9qdVdKjhpAJIbe+MQl62J z!f6L&mEB#RM#>rEt^>{I-_6+n8Ckw%A?pZ0BQ!dZKl-Yq9^Jvi^OH{TE>Q|31q=DuIp=MZnw? zsm?XDqp8^MXhcAnP3f+nSZc1k839rtQ-j~f6?D9J;h$fKc{@*6NGzn&o1}Z~qlEI3 ziRp>qx|xIKX{)x&nxZ1)0MD?=Z|m-LjRxeYza9yv0abS+u!W7=q;qvM)Vlc5BY4dI zP68%BkA0W7*|A1MT0&#y;YWU3eM-52U4HovZwn#n86aM;HqYTamM7DSHZlXjU~+nD z1QGDYW2G-DbXmc2x+3noxHOXqptG(*2@E<4|Ga%P0tj1wjBZ5i$pqT(0hoqte1Ouv zwnTfg;37>%8~<&@?K?8UULC9MT)D(5fdLL$fWvxMKJvm0hZhaNX3zEZiZs>DNUL`%1E1FEEcL5G~2Y z`nkUYCEIfWC$GI98VOLIzF5Y@mv4buL-}dg$rKqn?*L~MItSAXR(3~f3}nmiDeVWk8!yv*N$xlk828eLUr0NcEJomyAGT3Ey6l~EOm z^~;1o^eUQcWRmGK<8DC3S4G2MRrL|e?TQ}XF_x2G$$k^l7Ref?4TvVhS+^7x>y}yY znYUAYy>-CQB%M)m*Aom@1xGUQaU$ z?$Y`Z{%xEiiCgISFPP`d&V(nsRT|l0&Sxf|!v=!M$-X!_Wvd9Aj9J2198n&Bm;+vRMOvM6-nVbx=%gbHe3TEfbBlyP zVC~XFCi6H1DR7R=r5`FO9m{~qg$gP*_t!S}^}>Bo$z%OblUkrf}M zFPrw1bs7`H8^_N!?}o%?U<#QKNQ=+JL{WkyRC`neD_4OTpE~p}S zGD4{M4`)ZYsW~JmLc=`FRApPdA7Eu#yuC=e+UzeX^_SY@!yd|%DcV{=>XaUtl*Z*V z;vbil*Ao`LqrwSmjB>B&bf{UxhD-D2x|;EHmHJReM+Z4yve|IIakZbkw)!D{J8nJ> zk5>+TM*X~OO=y4;wH4s`twa|UI3FJKv(=$Q9PWAi&@a6&dMk48!}>gzHrq}KoAz-C zRcTbRS~;zuM;ueVO)>S{toIHg^vx4JJ=0Q}F%%+!e-!C4Gw8egtt1PMn~ND{+j1hq zGwEwcjvyf-euLd4LB_=|QHT|OY_{Xe&DN5!*z_#LCY;foK@LiN0xfDB9+S*!79>9H z3}>(w z`$<~hQ-%(qK{Rn!daH{XFfVo3pK--=leHyMc_})Ij4(0XbU_lFwfL)SUwW?s8O1&| zA$C(76-Ehl52i|HbNyDTh7ilIr#b~{0hoY!LG}<{v0uMxyIX{zH*HTzSBRN>3IsqcpWFx-gJgw<=MHy#RU1V0b)I zYXX>3WNbe}C87$;Dq|BiV)L|_t`!%@W_{5KztD8`qaMza22qI|6Xj-u@vi*4#n|An z>SX5x)G4z`yE^#VZ;OltmCD!G)5{|`(R9Xy3gzPgoa=lW2EPXcw?z5BL$}xnI3GLa zG%4cV>#&%RnB9G?tQ;2p2b4cb`7fYsi~#Z6O*`|mhwqTLhnbANaZA*s-9AWGGHEw> zQm5RiTIy~nRn%)C?y1w)l9yo__Rt_K!;^q&dUT#!R@9_iT@PfKsPi%8+8&LA;K>KA z{eQJC390y9Ue7HUg-ol1a5%h>dE-`dNbTtG@URG_dRS6Fe$;`;vLkLUip=iv*CHRa zH*>!1TJ)eD@z&#eiG@O5vF{{f9fN5e78WoZh4o^ch4wVF>zHvh91cI_xZaFHNmv4b zv1%mRI)E45X!8U)NDX#H-MqXZ2pljDd~@I;2H0ZcR4(TQRI?X1ekftK>rCba_#Sh` zJgMY@7O4jET&Bo8W}wks)P|vq z>sG(9O5m-+5%m`>StBw3A@E(e_%%@CGD@L)1-ow>gC?v4?r9yQXTW965ua>p98Do| z<~Py+rz>ow*+uGL4ORK$TI|J*fYCu$&_%)NDJ80n3ot`F55CI!5@z3i0d_}=l3wr} zyW5Ga9?D*f2x0!)$Fshq4uIgkj=0NS?J;-6z5 zKaM6vYz%_NQ_@Ch#qr=jOIJ$Ia;$%0c1xka0Y zeiggLXS|}74AvAGphqc|sqN}RX*==Hq@0G?e@`cMVkZT0r)Fpa&PeO}ZD~TSp9iC_ zG>t^>xYSEC0|L?qPnwrHfv>#N0M*Yj0PPg-8NCQ}GB`z@=OloABSAEs3qpe-_NkQy z+ZUXjQVO(_#vik44aQ}I0aL*hJv$tM4k*cccrCFSG|uY$=@*wkB|;D5f%k@IY+t_3 z{=>DI(OWTVLY#0Ee_ixzuP1@i5ndVs4OqUS|3(TS$le!&HIF62TolSx!Cx$FFPQa5 zi@TZKq(|{41b+$Nd^$nUPBK}ymnLd=DN0`HtglfEhNH%lp~vIP zex3>MvS-^0g^{Tz9E^F>mf$TB)n(xONPLzZ*@0`16pe;Q+SzJietf!r{1UzUg*TiTR^)Cvb8Af z$_1PwymnHiInXx@CiAg*@A}#d%@|zZD|NF)n>zS>t%K$Wv*enx?+0p%^ip)W#s~r> zXHoX88Qj;vi(G7Q&f$D5iVxiyW-rxJs<$Z)H8tOf{p7vJ|7lhO7(dCAM>$E+%Ulq5 zD$F^WO92_RtOli8C2rugIu^;LlL8f#Bg}qsR}9+!00?jJo+X9d4DAS>htq4-GcCP5 z4_san8$J1PI1EX)LuYAGygVY%VvCTt$D&&Wdf>8Dba?QDs{IEhW{Vq62fN2dpk)hQ z(F}djqs1u%@w17g8uQY@`IyyU&rZCD4_aJG`JKCCp@^G|EHzdb`cG{5M4(ksIC=(a z2bcEJC00Clrk{}k^ns;W`!pqMgv^VJK+n)vaw83&I*n35=(P0Hgl-`vitiwH8+tsF zR2>{28-c#hhnXXwphUg*`1i9)J$2`(MM(3mk$PZlZN(Os1ALWeDXzm9mnv)w3c|Ih zs0t}vSePS-%467~%OL-sGDjpo!t#wWfPe5N*Ye~*RGiIIwtXUCR5^J9Yzu8H2&fxT zoml?bU*Zcfe=WXzRElb5XKkFWASxTnul&jf*pf01rETvrt?w8p4DYa!-HAOX!@bl}E*zoinpw+MCw39$aL{-w8Oz~#`bK2)r|&)f{j6>x?sMxzFu!>igV6zB35Er3@OjhtUfQPvu2P{CKi8ncS3p%c zU>OFgS?fs6`V37jpES$30JEP;VZ^9{Dxwi(sa3s<>OUU`tzEly69km}kZ#H><1g_A zZ=SK#6e2}6UXMAK`DWM~bP|vaW$rMJ0=y15UkFxCQg)MK<7kTR3NVk9w|t8Aeo0#g zi=4m!2V)Tke<|VoHImdzDaz)gz2&&~9{+w;M=Jf=rZmdasK}mj$Xia-FOHFgV~bU#R@%& zTI+?O+XBu4f&CpPKZ(GUh_*ybaN~F-Rk}rlk%$^Dk?1?9f5O+n635IBtwHa?Ui2;* z2MAl=o=hecJ#@ahH{QK30$oa-v>i>}FIt>8@r-c>ruH`P)2|}UTb0!8UEzj<NR(lVese*)0$nFg>q%u3#j^=}XcFXz=KAvMz!e03sM*}o zR`A*%J=a4s{;_27bg2DE5HZR`=!XpZ3FNnAxKJAmZPU@6Yy0oe@|wHb;O|1){Fcb= zNW2D|&v`;CBW1ZKIe_ZD2hY93vI=~aPh&Aw-{ry-pG-vc_S3o_V*QU@9Za5}RQ;~7 z6u|3^W}W#Xv^NDcEHdw1Xh=df5%n&#H=PQTWWk?vCuM9QORbeSL_39TEts8-M*D;R z5G0gUB>eOUn{5sBT`DQr)pWwY^24D)ZXvtn_MbvS1-HUi-h~z|HdG|^ybbMD#)ob2 zEr00Jce13zV;2n#_gFJJUsZ-gWj-eb^; z4aZ-Icbbit^9`2BKIl6H*%ovz`DW;wCw>2b zoXd_UMY#?8kDHw}K|qq=)}gX>`Y)|xASVG-%GH~HZs5Re>1H(E@tbopU)Kk~me{|B z&x9_@nffI;Ddk{`(oF-sJcih%)1sTu-E!EJiLDT$WldFe?z#O zsT)M|kKPiCqx${-N^5neA0^4g>RN<6=Hg?!zd6hy2nhpk6m1zUPr?2&1ai*C;Y^v8 H*NuMx?H7o7 diff --git a/src/lay/lay/doc/images/drc_end_segments1.png b/src/lay/lay/doc/images/drc_end_segments1.png index bfac5785d972163175d2e6d8428e571ebcb24582..e146be06337a1906c3c4a9b0109f9fea87230e37 100644 GIT binary patch literal 5131 zcmdUzc~n#Pw#TC)hzUgH${>?NaRLlTEmHtRl!_Kmkw#JANQEjx2!kLo0i^_$A!-Ft zCL>x90vwwn!!@8DFe)+#5(-2{fgnQEBnHFueur4wb>Hh-@1M8Uy{wf*^2_<1z4v$T z-`<~-^X{(BYKvDa#$YgNyS{bWhr!Idh`tuh2P^njtW5B4LAc{Ck41|Xb@jRRf{&`9 z-yRIdVAN~T*Ss`ibzO8ZVh1T=`>~)PbBu?ZyK~TM8?d+pUEFufF9NgPbhC-6xviCn z^@hboDF-na4cacJZ648CV*;<3HRb9FFZNaA_UIfGtVs&^Mcn&yDtq@qE$^+q(|FY~ zuT5}4zvhFT)UFE@qCtS$ya!2B=G6I^ck6N32b-tNi<}BQuOILVpw#VHVDdG*$;A;< z{{Y6A#9OepdHg>tH@Cp9`TLO~sef8W$>yfDxay95ftm5?0i;Bv@4cmiZj>~jsPiC# z&21lvsQR?XF7i(PxGdD_x0sSbT6L-?{l=&GvI`5qR%}l8#|ByM%}+^HGP+b^?8BN^Y6=wrM!V#j-TC#E18)vT@DNm9iP?C~VP`Uov}+POs7G zuk-N9m~CKA44odQnBS$1+d0_E%8thig#x^;<>G^ZP6Lq3;Kg7le{D|cTb z741F}DyGLyb;yP}HH~C{P0>_z{;gj+uep|0n4U7*5n~#DY9mtBJGHnyfHbL7D~;SV zBW(C2NT%+OHLIPZlv=R!OE?x|)X{sfOgvrE)ZNZ$cUJ1mf_CJ!mCM$g|9#|)#>H;u zuVh25RQ+xc?Wpo$vwVt#C;E+7Bk}&{OKxswWhYlOyjFZ_xS`Z&C1KCdpy4U8iciJ$ zTN_M8?Kex)3}i0xJ^fM(S@f2>`(p(6XP9#Cs37Zgytt$C(sX2WAKma^;`GD);+}hB z(ZuelOIO>29Rz{0vhX_rcTT2X>BEg~yG}GDhzA^-vb&?t3PkMVN|iL?w~fGitK!g% zFtQKVOq?MrGF;4j0B@S5?R;+68tMs&qV5OWeKMHwZW69Gxa7X&U0<^6D#z?CKXH3x z!{WC!MyD+VffU_+rXkj7q0$XCqb4O4KgJ~}^LOl8YY;i9sZDS;L6y>oUN*K zhXzZ-sNas31ZKIe%O#U%hz88u+*}{R#^fd)4cTd}Y}fp;_R`U7D>atph}i>S$qq=T zwaAKgS}?Oz9w-kAXjX+1vZ%4s9v#dL?)r;4snxin77HT z=C9!M!Kq6uy`VSHxTsvh3>Hm?QeCDbop@%ErZCe_XDk;&@e<^-5g*3kX4gx6GD z($fS!n=>NchxX`+*=ds84@c2#YzYlTIuD7sqm%la;i9@oM#3f>NvK~@k1EKDL+orQwUKWcMXjj;0GVrBKCq^<(4N3o%cq33wT;5k2%SKR%$ZkMYN3(LX< zVk>1rwa8x6o4_EM`NF4JhrhD0?SUMw9b?%7M}7$)u|CX?F+PG?v}Bt;HvkHNxRyMG z?`bRIiZAe7pkmGre(7Dv$KS>qM+w4e&Do|~y|2m$`S-r3B%@{<_lb4QaMjZ z5Ta#u!k0$s|Ja-j9BH*+yZ;gTFS>k9e}Ko0E^f-1XR); zXgj6_@GlPJ^Sr@~FtHqN8Qp9W0i}DX2>c}TfF%tz<4*6Jz*YWA|KQ#elu|dFlG)!9 z>Ga0cAr7>3=s=hAV21ZH#g#9aBq_9hgn5Ut%2BdFky@@Q2H#Bz9`JV5T9%-Ew> zC2f(4)3OAqx+7^Wl5QVCp6QqCQE;Q>(ekU)maS{hG^|R8Xu~{N>($mX<>y)xBdhx5 z&f`Ze7<{J?)LDpB-75?%x0$^Y^(A!P4@edH0PDj-IcKh*{Yg<1A9J*+%$c*OTN@aW zO~s7&J$vTA9iz)@Cy$Z*tn`??rlzJ+t;gAq^KG3y1}3C|AC#2e$$ExM)e~nOy7HM! zgvXN(w|LIVMU^1}zr(41V>n}T+j8Q{rput}_TvJnZ*f>KF*@HMk1jvo%qB#8;tlqg zN}*%EeB~0os9V81Dtfw!Kaw)-+0udZHI0tD%dW!%o@?xO15H4c2g|aw@gLYwupEY$ zuyCVThIF&m1tAsWQY*~b~Hx#^_ao0zB~ zE=c6Z-%5qZv#n(-NP=3*x}p6b?1k9u4CvF#GPKsTJ&$f`f~V|F*y@PO^Arn{8oaR% zI71W-9=D^`Oc@QZ15ZNVa67k{xW9$UilD5 zaihv>ZR9$j4kIly`v+%3Pi6mLUrOEB!(Pm-$OVo4{vOZsvFL0OH8u` zlRqK^M7bQ?4!FFSk)}%{J)Kk27N`ljH^d4D&fW1PRRT3VfGr{7;)<#%ph%&?R8&o{ z<=chGvlM%iTW3)_o?)n(L#UddWdfgpnj5t}|Fm;?PR%HwW+kfT@E6xU+eyn(MDk|t z5P~SaxTdhfehubDU4#DjbDbY<{?oP3c8rEkFVNL3wYRrSB~0(Gq{n(q+muk46l<5B z)ARmYxYx?g)GaSpnd?-E35{Rk_!qsTlV~gZUoQBM5j5tw>ui`z4XCQhDEm5JB#4d& zC*dq)+AwmV-Vz*_@6ZId4R}-emBETmsA;1j3)($bLM@@KoDxp4u0sJHTVz%T)2IGf z{DXjV8Je=x02!SSM-%Dbk6U17AFxM2o*a(oq)%7nsK$g64e*ABitbf6+;X_)ob9xA zlg%a`C7KZ_s*g>QMZIf~bR_$zpnUN=Oc%KJ-S^j@-d29y)~(lc=L&xOhOJu(=SoHF zLVNb}WWuF4wJGkL(*Tw11OSy{8moM0U@E~0-ISt-Icd9U?xva#Z2&#y(F*=IUD)(y zatZX)DRiDDLq~!NGyQU;7Yw#I98-)#OLno;yQ;d!oLX_{Frb=8aS7FXIf7Hxk2%6M zCl2Un#w=-o=a1XPY}b!Yy2Oy)SQh*zSM2Y1eV+e83e_c#qSz8h@`C?n+L%6`BaOKx zx(yeoTXwbZ&v6roy{OgfHGbHaSaz9@tbXKygn#)4`Hw@V$#v zX1BXa_v-6V@cTc}?=J(NvHWiaeqhqwxhXmanoE$*onyEEGVwd-zy3^dU@m(-;X0EG z7Lb=V!1to5$>{JyA&#GD6oP++rrQo#oc1|%s0s>(6rk6fu!vDs_q(6OQ$C|(bSSL) zOp0v^!9XYuPaj3+FqvNc*zU1{lrEzq`e?dWVwa!fB#?oyc7nWmwqR30t5FaKomSKTO*@!& zS^x`jzV&efq^ZHeCFN`fxj<1VJR3^MJEVpxHv~{gaulG_y3eRo2Tgx*K=M(M z(Bu<9@};}wEsD#n&Oxs{VuZKlEPoXKy}@LsuBO=m=ym;Rvq_9P8V#VO27o`QpyvWw z${Ym-lK?Gc-H)5OP7iitu76;R0&+_?K=s_l3iomDyy#1d7?IPLt1r^!jUQjZCA0r9 z1v3M%G5|`hhr>&_qK7y_HRSu27v5t&0}lZ7Bum$=^ItEO(559CmZcb?vk6i)d(Qdy zpC$U)5Trzr!}Qa&`J!F&>c--=?#0Tf&56>9H8V2?#%=g5Rv}6VdL#1=c-%qIDqbkZ zR!J7quKAPjrYW=0-3?sPGwADn34?8NuOZ&k1KhFS@z*YSx+@6#LB_O;MgU$ez}Z^Yv8PGYrK zy2q!BKN9hwVgd6qn>o<`Yx~~S0@0H~(?`=6j5itdJ0n%H4-OvE!F7spNt^m z>Ss>}-bb7NSl9SaGcFVTfk^*&h`A++`re8oOTRx% ztex3sPiI7uF}|7|E{~#?8K)~Lt?Oe=CWxklJ~chFpFTb1#5IF@j179ZLL*AM|3c=5 z5Nm%O%{bZ9lZ=I!Qy2Hm8@%CsJEwqd+7(aDmMbSry+p1s4 z`3LFB@c>d=!Abtgk_tOg*;iR<&<52r=Y`087>E9drKjiUP!~3Ms{%ltSL)fd*jwBF zc*cK6R#n*>oL#qEOAT&*P_Qv(Bd-lHo*5LZ6 literal 5021 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 z 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 delta 2668 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 diff --git a/src/lay/lay/doc/images/drc_extended2.png b/src/lay/lay/doc/images/drc_extended2.png index 1bb227e9a6bd6dca2eca48d52d458d4b78680a12..287ad4aa78a3af6d47e3660d79333de3f55c8fca 100644 GIT binary patch literal 5147 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 diff --git a/src/lay/lay/doc/images/drc_extended3.png b/src/lay/lay/doc/images/drc_extended3.png index 6f3983891b9c43639c8279cd9edc8f994ab96e04..185d601d026f2ec8125155d32ede43ad4948405b 100644 GIT binary patch literal 5293 zcmd^DdpMNq+898!RA!Q+_nGl6SD#js9vJ~T#<6tN>qf!(`DWpuN!AxWv za>|IxVX%xt;}DbMc~_s{<0z2572uHXAU_u=>4zx%px z+E|?cZG&VoCY11agfb~~kDdvCDArJ(T zs1-aysRtz#1e-yoh#(UW6zVYOoVCpf)Hgj~Q%bOD>){>*+OKv5s&-iaC{$N*yD+w*6?R#5?EwGW-xLrqsh5@uDL+60B0&Btx<4kmD~3$!QyZ*IriM? z7pf0O*gG*|paXnqj1b6QRzda}k|&+I*Tb@@ph=T?M16}!Yjw#HP8<=~Qf6&;X4Fyr3V26HW7-*_9Ye3TAgxe`n)f!!7(3V(vd@_pNSdt*V z;ndF>>bAxpsvA{UV~ZEUYTeJNSE=C@E?7_Ryey(2T3JSp$7OL%>H3<^@Z>5YyP=`6 z06QOM&6KSI?Z8pATL&5Vhz;PqQmsNE3;uf;W}2>buIh_0XXRNk#d%xGy)^rJ}i))cjsQt&H23_~LbmRorstHz@nvJKnd* z=p^5&AVpWq@+|M&GeuY0!u=2$Il-^q@F=bRwyNRj^4R*$v*~nArV^uKrEU2LCOzv> zXQ{!!I4`Z|VN!45c~`MIGC$tQ44?Isur$;C`j9(kkRMl6j-`KyEYGx*3*j9LSb6Zu zzz>q~xJz@YL7Pz)ltC{Hpnpp7*MqWWlIYnK41yr}vYxs1(FTa~1Ny6BlDb^oxv=3Q zJH0yz=#{XQWI3Ce6~_sQDKre7F}1JX*X0<+@xC#b#Z%!BmL}nehul5TSRXKJ>85)` zCOxg$nKlBK18Zgvq5|>`r@r4 zJtD5AA{OUQF-PlZ`Q!DtWYLsL)>jlkDyX zfvsiR-E|0#8$+kay?(ltIhrG@JK!H*Q%t5@XwKjJ4b8{Sc@7tT`^qD@jq%d@((L!l z!z#b`?mWtNpLF@eStJDU=-Gwz``f(`Di_Km8!?YZyBb*iO`Os)q28S=3Ex=Ql@78x zdOq!WhP|Ub7JhGnH}_D^eLD)lTE!jiaJ*XL$mZx)d74(pp;@O zB_zy>7uiZ)&n6}t1eLxXyVSP|u^f(SC#Sd^%D7n^Rne1Y5Z%Wn+4IkOx{yM$H0z@= zn5Kp&xaFLz&fvg;_7RN7a(Ds_-`j6n0pshY_xh=3c&@Z@;KZvdOA~aZ`n;$;AgvFxgd zOJi>#r0B&soqkm(_eEqAWS<&s=0#!lwwVZvIH_AYThz^X0Dha@_gZNZ1q{ zIkCcC!t}#R?KROg+#S57z+G8tUi~|&XC8%Kp{D0UbCPEgM|79)mLsniVG4n+%f(@}$1r;ky_{<>+*i4`AclE?6va=YHgI9iX{UQI&IQqEp?IXmuZmjP+FL zWOkc>u)S@8A){b-1%I60>O-O!&o57EuGZ)G(fFgj)Gr74u9Trh-)Q|pzS<}Hs&ug) zb&@rNzMH5U4LSEXdYP`d!Kc20t46dQW1k%_{ZV2vOE+xz^>|;JWv9d91(p6q;$q+n zE(v)hL1Et6u+~7qs+ocva*s#n+oYcY3YxG=8PV~WJ<1b{)^2B9l1SS2xupC2{>DpI zzQ5FVjZcSoP_NP%3{qUFR_8#_1t- zm0IP#j?agGaH(eA^R5wcN*rNx_nn?dvp2vOTsOU%udqc?dfIbrC@c^WfqGQ zaa$T<=)&EG8v1NAtj1)q8UlOZ(JSSysIxVlB-g}>h>Q|5Maup%(TMG^$2SvYaFSfI zGlxU~WT*gJct=5*!BtkCBcBqBXmE&sRBJAVN!k|9QcK(8t8n5h3LzBkEPN5MP+K)Y)SYd}Mjh4%EGWd`e0lAST(S^vUpoK@-oe$Pb$A!OEtHdD74!H8sp31&RJC(K6?umTDFJUy zzz4Am$Il&-rV#u>Njuq~1*Z(jy6o$3WU=E_u`@O-I8x!bI12Gz&pD#@;NY|oxFL0Q zJ^s+HjZQgnec=rr@r=6G?Fx3+`Z{(5Fphr7#>!BA)I3z{Q> zb}J{eJE@zL>s5lEifHG$?aDVClnGb@H2ib)dVHEhteUN{U&YW7LC|l34<7ULPAKtF zoZ!7gdW7}HdSrM6XVi+`IW+H|MXY>|9l8#Ka+Zz<#){k4oD_UTWHNR;x=}ZG41C$= zvh|N-+h*JdXkzXu$aDSOu77xr4fWOl1#bs55wHNA?v6uRP{}#ur+Sri1?Qw~X5#=a zTz2(uY!z0pBTIBD&D=T~X+ym_RD~~?H)+KY4Ap`2$wwNwJn$ zkM`Y=m&gzPPL|!=>``i)QkpzoluQ1`lx_m6pA_3C$QbFaU+m@U;DZR9cVd{SBJ3ry zbk=n}ogP5JUIlNIW zC+?mgWA^pMMsKUJGP%^E6Xkm)Anj{cVI95=Nj9|@%>xJl1pf3Jq{yhxovi?qc6lKV z_jK4&qV{viZ|ezv9eXcCKCg2fK5R^*Yp?QL2S5lQ9M8jQW;Ni*_w_smqId+FNse60 z^Bn{Hd@h~ursR63fn`QQ*UVN+<26^KiUqEq5G`lCS~3Q`*ksezU8*+ToyQ=uKMZmB zZj||D+Tvp9$Lcf8y|D&{U?6>}dww43F0@5bW1tIA!*=qMQ&F_fl&CA-*X~wV>1(&* zhGJ5rxQdyDz84@??o{K=M|9n;wv%_CeCJz~;=^yli5SfmEjUo-EiE>kMla-^>mu*I zZD=W}1>K+AUkLDtOMVgygQ9cdT24UlKyR9}J9)!TC&1z{Z&`MhfB_hU)Q_&-SsqSR z03^keW^n^7UeHxIXG4uS!ZAF^;1VRo^?;jl!eSE!Ae!6%hY8AKeqsYuPVpN?|292d z)by@HyFgBGFT_rleL&6Cg^T7*in5oyoLzLno1|ssH%HfmKa;dH%a`w9&Ma}c;ZNR- zE~4+ipgT(ee@*i)04%e5;AxGHf#{RBqZEZqXzLg@CKKtF_6&YzH8-Z5> zRO`Wr)NF(uW%>2H{$s@pk+48~uz@MR_b_k^?rk%MU=T;T$VoA$BpxVgK~)+HRVK>l zw!nX2YYUF!GL(TaU7rb+#=uR2P-09Wvfo>AH_T3oWhVmGp%5pHeiA)(R~|1t+?^cK z>!m7ytSut*F!+hey~=UV4I=Cgpb$wPG6^^VPB)I1nJREXd|{Moyl;J41+JM3sPTuN z=9L|=h7ec4_OqFW2W7OOA1~6{Ouzt6(HLM_h-)iOBw`Mkz17xu6o}zQ1zFpqPeRGh zutRa^g`5k;j%yIXVvQy5NPz9Cw9HhCd@yT1oX=s8+^BonKeFmhYhypdrVeP$hQYGf znFVE#MkX-;-8&kb56g{$@sgiNic{|UBAUg;U=|7;-wHh6Aay^Ury4u9=l$FQuo&$% z@f#acMiyiL^kPW-o{Q-JX|9OTmtZ0R#Y%%gH{B-{(E#S#8ejfg=t-!-ia30C2!Dw* zdI*GW?aJ%|h`diZ4#p*4A|v;RJXF-s^+HIkc}s~JqsHuBOC%t>e;f871YJnif1Hobp+&Xxet%H2Xr3olV}VW)SF cxUNd#WZcq{>n_RwV?>a-snzj(W4D;U0r!A+VE_OC literal 5130 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 IJ$^RsZ!XDDv;Y7A diff --git a/src/lay/lay/doc/images/drc_extended4.png b/src/lay/lay/doc/images/drc_extended4.png index bfe992ca11963052a78dc584e45795127fafe6a3..6e24afc48df3cadd736ea4f8b966abec07d9b823 100644 GIT binary patch literal 5125 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 literal 5008 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 EU;Nk3kpKVy diff --git a/src/lay/lay/doc/images/drc_extent_refs1.png b/src/lay/lay/doc/images/drc_extent_refs1.png index 072bdc417fb66e246dec5532c1a51c600597b4b8..2ab2414637d78a1664d0bf265fd0abdee07821a5 100644 GIT binary patch literal 4652 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 literal 4529 zcmeHLdr*^C77t<-RGyFv^j2$Us2l{b}8QC3ll4nhb*gp>t@N&(cZ*d*O}snPT3lL=+H(;(4M{94@teiPE%cHV02Up4ki-krj}WiKw;Tc=+zEX^M1^3?fL6dU%r|na z*&4t|1$f=AXc;ZtrN72Z6urv;v6a7sJ^)AAc8EeT#JE~tKKIayqtOS^wVQhQqu08< zSS&|l^g(pK!+OBT*bq%6p^JjTVu>Bs^$d+=_pFzWs%K_O#|u~8OrdmV3t=fsj9G;~ zd>eL>WVYd zjogVDOtvcW5!$dPpPqm8uAqjj@pV$ZZCTwsVY~TlbW>C(47HW#ZdJiJ#;NwM`_WhB zj3@4-sZv@t$0~y}RM9v}0k3~fq^TTW3*%Mi=nC^#H=FIn(#T%CIxMWNcU%xwmknA* zBZtrINXy)nwt+Icoih8oR9_f9Smb&H7ciM&f=Lc&8 z#_vQxw>QkbBb}PoX!m9EP#Lp*-E-I5qwewUkY)>M{SRhI%(0)wnUuM75J5aeriFSP z80iXu_eeo->+{ue&iuR0%&L5N{~vW&lHzzNf{3@mn+pw=F#YPzski4CJDVd&!RaInYZo>Bso0b^{3F>`_@b8C0M=2&vQEb z{|lU6SSu0AIv+19E9bgImS8az$7?saAR^bwvBbcHqK@GFWeAtDM!G4Q3LZDUcUeH` zo%`I;_9G{##IBE*G`0dqq96X6v8Vevk};)HIrn|t#MNSA4H8*l`=yPTLV4``NO&Kf z?>q_@;rJP%C(_12^7>U@mr||wF!^@+=AuJP>vVp&?o7f2o%UsO%@hqnSgI)D?8lSscx%Rw! zlPkivsTHVz4zh;L!1ys;d)}q2cY`I{4H|7?pW2)JVQ!j5q##K^!;c6w2njo%eF;yg z&a=vETs!r$e}-kPPX0UGqa*nRWA``UFMWe9Iz0mkVezV--JN}QQagdnYU?eU|1x%mF^ybUKr=9xPe{e%Wp_{ z{)j;Z1E4p+t(3uQc+cHZp}D4Oyxa-sYge#?F($b|;B-w`>yQL!8BWd}0+PiJ0^i}E z1>b#3y~yw^la`Jh?P$h`VJJCw5Iq8FED8{TZ9uYf&c*P>6$6u)Gs3&9L_Z%hksA;8yB`CHgD|uiUe&huCDoGQwRl1iby%zRdIX>2)t*#;bx#X^xEJ``=^DJT?b9<8S$h@Vs=v( zaQOVm9@v`o;Ltd8(S0C6zB1Qz!7mFagFAWez8Td&x?f9r&l3Ae-Bbjz>wmE61^U2! zYV+2y$=Xg2x!SvnoF&N&6DK`R^1L3AsrO4~;}&TR68xWXX&(N+$;ID>WDmI?#}NvJ zn(UPVT83zfDpwrlVSJF)NMyN%ML*fGS&1j+)add80wd=8iO|m?HmVFyneKB%q|d+t z)^-9h8brPM5P1DwMb>tV<`qD>H3x`SWd(f8#~%`c-(Mp0AtCrbNGUBsNNvcu*rNNI zVI^VG?rh#NW7&-B%u+~RJ6IKH8@vTcnvk6R6z@-nU>$K2E}j%l$bEe@4Vt@5^K9A(i5Mr zraP=R`b(MKLIw0{)Mhe_E(s`ISm6(c?wzIn?ZIF^ANXx`ly(@7I`L||b0IBCkVmta aw{WC0E(c0uQoyGah`(RJwsPOdV}AwINdS%j diff --git a/src/lay/lay/doc/images/drc_extent_refs10.png b/src/lay/lay/doc/images/drc_extent_refs10.png index 517188045e70c81f4ec6640215cf2718ba718288..81a5603fe94fc5755b94324e3db74e5921854759 100644 GIT binary patch literal 4642 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 K!L-1=C;kczw_lk6 literal 4554 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 diff --git a/src/lay/lay/doc/images/drc_extent_refs11.png b/src/lay/lay/doc/images/drc_extent_refs11.png index 1fd5f3fed53099069520dd1d23e29b104d8886b5..9b3618059f0d53ded647db42790c60f14d65968c 100644 GIT binary patch literal 4600 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 BHCO-u diff --git a/src/lay/lay/doc/images/drc_extent_refs12.png b/src/lay/lay/doc/images/drc_extent_refs12.png index 18b60de9e8e3535ffa04d1f4d9bb23619507b76c..f84556d2447e7eea543eb0a6b192ce84311f65c0 100644 GIT binary patch literal 4920 zcmeHLYgkh07Dh6!sg0$ErDivsL`khQ@iJMaR!6JT(6&smyfj%D8RiX%DP<~+u_?_A z$??%Hl8|O%7oovR<%KL23yX{th13*@1cBLPcFvEP=Q%&l%z4h4^J70ee0%M0ul26? zTkBo>?6C-OQ2n1ph9JGEL1fuh!_A-EiD`qc?3&EcmiT=Uc4GawUy`itczlMi` z!V)16(|YZtbKc2xzIO3Q0B~eo%z*>0knN#c0uQ|P0vBg%7q`XiJpyrbc7r>+B0b@2 zzBVe)34=h)uLrMRyFK~RP|wz+MQhA6doPDNXTK)0m!XF(jBAVuUxNObh{GWtgH7>vZ_#EQ=>Ral_|&(4)H}?k+k=jlYroDi|`wJ?7>o3 z`n}@Ps+Y?)iw=2i=N|7+HV`T^M#;jxD*jIPU~1>l)@2_EG0R< z$3fOgm+nhTo*0_+jaCb+2hQ_q)dBam5hNMi(J>pnPuG2XR2QC}gLGrOS-T-! zso?uwCJ#&bDH(ksA7~`{v5eC}XrI&vB6_+eL!k1(l=~Hkp0W?8Wu346yN{o5;%>qO zM#V=^1&x2}%aCViw#n(50bJ#z2ziws}8lJt|0$iHcLzqcI`EfxBFr$_R0~ zuSTs(<43OMrkdw^?obl;bIpb)My>2x4%QJ(^!Zlgs}IjVA>q{HIF*nbzDW2+LM}-- zEl@v{ATrcSdNQUlRSo7-Bx|Qj=v?Vtq3?vc=I4p_5iH+(Qms-p2zZO-RFYJLRX&q(hZ>*naeULR))UL|F6-WWoE9sNETvn82!9u5}}#u#|dZ zLB%`RQT8o_5BDQXOJ{-^NO1!=r1_%+mdBB;%2f7VjIW4f-QKI}CpLUJ1k1*wb~9~S z|3$*R z4fEz$*B>l`2^?t$S z4+;YC-%xBUH$K!uJ*4@F=ZkeMH)b2s3ek!W7hA;J9l&~ooN-zo6-_Ty%8{`qcXOKE z;pgV9XqV@X4>Y?@KYn#)-s=}7MSy-13E# zHk;9Y4BHEW0tV)&i`qwX6`!2)j1h!xxLWHp3|z47uKmm}zcAw6KoPPTfOc zTh|ZGf|~=b`<-iL>)J`3Y2ipOq6Kt1e0vMPzV-tcGI4hY)M@-5kgdQ2*}JxiV4(AY zsNkW`KGl!2jS5z6@VOa+E@dhKWjbMjc?H1^E$rAIFBUkG7sJs|ugjd#) z{DQImLC*fj-v_M#=X=XK-IBtSjJ1|LY-Dl z#Rv8w7_fw~r(@?G0_(Gv|EivhO27-C<46YF+~nX!{SBQ>qmXF#!x zQ6>l#N+hqD9fcvP_kwA@3%cw$8CoR0@uTfOXd=4`Ul z-qDhB7rM518pceN0qxZQXMfw!tap|GO1fY&4S3m9EwltM0~~)RT~xxC-7Y46&Wk?& zFJy9ex*Covze~s4EXY@s9@eO8WlC&q1@pFhUuzY|I?ES+%O5SSF&gQm&B~Y_F_;zqlY>b3HN1|D=7ofxyI>30SA7x+@N-)X zXitDoy&Y6&ap+w3sjcyYYL(kmhc5oVYS3z--&PHOO7E+%TEPq8c@S}`OMPnPH9EjD zr43SR8hJ@&_fiy$7rft>TCo(f8;zxA>#K&-~Vc^ z0`JvYH}lrwN)D9qfd1SA-FwKhrEccs<5@)9eUjJBP5NHnbv0q7mGY96X)N#?21>YE zz8CGI82dOVxzn$wbFa8JcSUobXNtFNf(xW&jQeiB*TYsS?O!)gG;|{){cA) z5!@?dvN(VY+B_W!V#e(aSfcaB+V=?S5yeg_ktjp2%qf@|1U5-c_tjOgJyG-WvB;eG zI22l^o6dKKLk5mJTQDk$@WA)~G;!WlQ0|%&=;+_|T({lv4K3Wj>t4!Vfee z7FP4i^}t`kknl4n*z3omzz;gwxl-TOpA}OpTq1PCT)_^_%Yr}A`!b4Z5WW9~;c}Gc m4hLsOBROXkFPxR3@@tvBUovjdZv%eOf&>SItgrA#fB!4Io>M&l literal 4803 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 VuqxM(2=H{JC;@(S(R;ju^z`&bC;ff~{_218 z#bLCT7WnbXr+s4w*lcAm$qSLRH|o@>omxSD{`*f&I|GC3Rt5v3jwNYrv$3dhoHPxw8XP(t zfjRkT51n#K|9sR5#3MUbI{(gyGm-cy2yp^YWb+aEN+C#)<_=4PEtaZNUWFA8%!b5T zthclpHkJ&COotXy(p1^VdNZYcyhN2c*B?{H za_fgsmzZGzuZ^52sAdsgE>-s`PCwzqe|o_;r44iQapTrGQS&kjr;k(}WvhOgQgBBb z+3NTkT|6;eiko*&wUiBt$HFeRV-mm?IHi3R(yhECp{=jAw_RBn%HsXdjWcK4EKir< zJQI=t6-Y&K9SLPblw{EO5ZF@_6=EHbG6~wWSlIC+4dfao^Y_ ztAAOjyw{bvX^2<%||7hAO0ohFxfC}gzc1F6x8O3}mm1)>Lgt!!K>TTCmq z_Hv9Ppcr=t=YFVRSBDCA&FR^X?#gML3T1t?EWIJ0nA1=~p3T&`fAFDt`sNAgIK>bPw0Tt{-+eMc-otasZO(h<{r65WH7#o5N5S{1Xr0kfm z`!NDi1H~Z{Fl)K^$j$+?Y0Ij@3Y2#5ydg3FU!Bdk>aLBLkfqU}(A=(j(RmY%{jXljWLRv#1t6(n~U{r!vsVYykRGn9!}rXV+e|s2hx%n zP?AG&My}p;N{Q$6C}1fbv$wwete?ENM|Ku4x^QriJPl6-WpCq>rx|b7NsUA!_`8^H zz$EW9dlk20-=M@Wdz;vS^w6JnL0t9>MBeVkBvRH&NXjIql1zEUtJ+>BG6M$Lq$rTi9 zThLh4PT%x22;@W93>X{*`%Jj9$jh}YYj#pgEzaBz0KZ%H0vXK(S{#nN>{e12=gRWDRE=ILkQ#`J(8-8Zx9U*c=xK;az?xm8TFnOXqX$-p z*9&oe(d|ed785xD>S3VPM=ce8Ly+rWiDTv_0eBdR4rSe>q8b1J9^ah)3DQ}U1i~HE z_?MeRv%KI|tkBdXfO`^=T9Nh;Fxq`L1|fpB;k`aYBSc)lOTT6}GTa(d!Xv!v?15tc zO8!~AR{<6>bYvUSHaW}dS}ml|bwA+F6KEk7tAXAru+KQREgHZwZA&SS_W8tiK(SyF zB>1e$acja&0OYqSP;tnfqCQQEtxh76^S`4GxDM1%R(vAhn>X~ZddE@gzy7rYxwb@>4?Ew^{Qs~alPG9Xd;{qu?egZLCB&yON`)6;+(D=ujY#ogp z>ly%`ZdIdZGewfb-|xXQRCmc+aB#^3afDPL#L2K9u|k9CdO*?Bbb<^adF zg41v-BZEWj9%t62mvewRfrP|!$zOQUd*Yr_O91TD7$71rn+>5=+_} z;G{83@4e^$6x_Lu;v5I>Xp2dW#GqM@SvT6_;U><2g+`Da*`-h&Dmtu?jR0uST$v3k1BY8a0I_Yheev9#d za9QWfOp0Vm(3jY4+r20-b7KrgN z3x6`k>-`xp zI^IuU{fArCimdK`B^HZCw|`t{CSar)QS8df;%N0Q3aKk_6jYyF z1Cjo*9qXD61!)d!FBtZ>1~|~_-=(|Jl+?HV{C(-2z_B*}F-Q<^ ze7&eR3lhwFpD0T>@=?xIP9turvHbq2jw7`2jDGU*rS#sj;e9nmIJHNXAGTv74*vUg z85Kz{=D(pQq>OzLj|TZFX;O>4IZ3JT8vlL_3bgun>2BRQ&m zj|gY!j>au zk{7|}0-ECVaf!#Ow)`+{?4H!|%7wky*x0C6C zVsPulN+J1_K58Qxc%xXkvF$giKsJq?35>wl586~m=4U$m`huar>AU>fuN`l$iAW}S mI}}+mnFe(^qfjiUb#tCv;C6m(aSV9e(en24^=#M^dEp;Dz?`-K literal 4563 zcmdT|X;f3!7LI@w1wyqxC`d@FQlVw2j55XnRE#ny5XulzMU=4^5{OJvHQ1_P6#+#^ zahAjoYatLMv8EasBvuTugb*o{5JMn=KnNu7U~HeO{n6#?TJJ4?+;!JId!2Lk@a?_7 zeZL6`*kZKAdwpzwVO2SJ>0&qf@6y-T7xV@`2cL_-+8Tj{ zK%hU*KMT%&23;|~nC^#4-xQaWv=*`}Flb9szXw=+e||9}Zg)Dw+Ro9|Zms7!TX&l! z+GCo13T)_)1U0~}>X)SplMIPbdL>nu1+8O-;*W%#5z#oa zyBpbzq{aDh`%rfsz1SXG-#qqvQc+P6RBD#CjZe>!RiNGTR)MI9rod?v=RrdG9Q!$PaGa_8)FHHWxEa@RYL5I#Qb zL-NTYpQDW&K}M!bk2z7r=IY!te1wY1ADZ3<0XV%)Qer7S9eJFVLJ& z&k$>NS*XXGle#QA*TY%eM3U=5^qfLJ(1cN`yuNdr?8I)>H_VB(Bu$HutNL;>es#o< z3|BxnK%U%Fuacc(kYubLi3TU0kl6K}8B)%|z4P{aHxN!tr_I)mI%V~%w%D@O%o{c;3 zbX<{0u4t^wbE+49sGe2I72X-FIpmP$@{oa0)iUJP5ZQ>hwCFR<^v^M~FZqGvzkU6( za<=cQDFL0wYI<87Z2`cw2ncK$Q%&5tz)7;A?Ot_ zParBWxOL34z1bF?_}SSs&zlG@+xFk_Y0#CX)A;kx#b>Q;z}d1o9_ z-*ywol3ug_(XrEOReG@mI2_JDELVC>ZEsPfHAMA@L^Tc`79x)yMmYk3LeJWUEhX^! z@O!=4UCF2^Mp^c)*-|0ms1(Vg^}8G}I&S^Jim>X$?LMFLX@wohg}X;#o#Xr`lk(~n zUu1mA9>K$EopO+6L(KI)pJo*J6%QMUi~G#a7`M6DUfi<}B`B3$!5WFz2^Dw!%{x<; zeV2-;VX(1W+OgBuFhYX?@xUle|8zB`IkDf|B)ARJTrgzbnZ}UhKf>Jb^qMj}ZrwpY zLKrpZzjPo2<$JD&7T``@tGpYEp&VvztGPYoDby#mHPLirZy@MHh9{8eK`RoGjAaJEyto{ zy$wX%g_NvVENTSG1s1kU*kLMFI?C(aFq7b`Zj_yc+87->U4=Aj$?9om! zsE-tCD%&k{?Swvg!EV-W^YM+m=QXuZ77X;exIGnh&4OQ+9Sa;_wTa!uEOw~SIym47 z4S(iXwu-=mRb~b`y`r!F$qeQoF9!5Ue^r%{FW)duOresxRHvva% z2yw9`oCM(b*4OtC5t%YynmpeSKrxXTI z$tsY|Fm2(tz8Qfs_Gx1-2wu8Cx11f4kvR%1yqdaL-fjAD3rLn@j!l?~15vwW`2ZNj zhDM315N0|6-eC6Y+_vDrM5>eV_41l4OsWRtxKfg=!kU$l)N@m;Cqr@@jx-YFyS=4J zNgV?Jehz5>z}P%2d5~u9$F5Fpxl;~+7GX+bjBGA*l9r*z>2w;qEXuLZ?G+r3b7J;)hcBHyJTv@ylggaLMF1;<02DP3)t zfAN!zDJc@hAT5EP%-P5X_G$&ez{YZS%5R_)@oq-*Ey5%W3F-ydp%uKgF|=E<@a41d z5e~g#;5_<_gm2u2aG@BAgC^@MI^oO(f4V4)c?EN@{Hd}XGGDxX^dL&d3JR) z9rj-!fo@9M%^|}@_>#oj9d&5L=bEQ9N6IFE)-Up=-}{T}DF&!$+^Vv_xlQB!|3St- zb;dtSi`u#RD0`_?$~T1-rotkodQ!d8>`Pmf5=oy#GOJJw4>`JuIxEy!F#xH^^Z5_{ zTtQoYCY~L6)yFA)ZHz;Wyb4En`phJOXLK`hzJ9(%S5_+I)!JVEt~5?id)MqoHTwJZ zBv>YdMZZIAr5)6xb)(Y?H?_jORUsZ|9Uz&95k>TBj-+j7OqB<#l;v(v54_nc{}Smr z>F~>5{u7DZ6nFRl_AR?IofNL^O$xuF-5(r}gbTAT@YiuB9y-l^jw)o-0K{atwKsOhU=3ErBywsQ7sbPvViV<`o$z zeTY!+oq|121XM=JXdvES3P|ym0R~SG6oh%UaW;M*N=Utg2b|!V$n@c&!IYX~E`Ss4 zMQb?$Mav0NsFASYB!`11G!aAhK|Q{rhmoLT3K6Ic}WeM1gYXju(n{a|%faH3Hl6i#6#5<{J3f0`d0? K@TG2y{rcZ&AViV? diff --git a/src/lay/lay/doc/images/drc_extent_refs20.png b/src/lay/lay/doc/images/drc_extent_refs20.png index a96e78264e97847bc99ad9a8b7fd4e7d26100cd3..170aa1b526b8299f94c3bd5f795b5ef6e08ac164 100644 GIT binary patch literal 4748 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 literal 4624 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 CF3gYs literal 4656 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 V0zvuUT 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 W_U8~2q3+PeAkaU=uf;d+%fAA;??g%f diff --git a/src/lay/lay/doc/images/drc_extent_refs23.png b/src/lay/lay/doc/images/drc_extent_refs23.png index 13dfdf121f6d0ebae2435850ebcae319f05e7461..f3ad4bdca1cd5fe65f8c6a99faaf6c35a28fd424 100644 GIT binary patch literal 4748 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 diff --git a/src/lay/lay/doc/images/drc_extent_refs24.png b/src/lay/lay/doc/images/drc_extent_refs24.png index e6432eee9e7dcefb15b75b918a4996a11e38eef3..673df6948cb2a479b5f437306224a345450328ce 100644 GIT binary patch literal 4684 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 E0YSAZr2qf` diff --git a/src/lay/lay/doc/images/drc_extent_refs25.png b/src/lay/lay/doc/images/drc_extent_refs25.png index e5222b8f11fa35bed5c3355b928354996e78abc0..f3a0db1a2f670e3066bcde4369dd23ea0ca0c952 100644 GIT binary patch literal 4718 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 literal 4624 zcmeHLc~p~E77x-Y2m#SH9hO3|MO2oQMfSx(7>g)Wg%HbTWY}a4AtDfnT1m9BI4VnJ zNfD4jfJ7O|5K2P(IidszGK3%@iO3QpvIY`j2x%hPo-;E&)0s1!Gv~B_yz`y!-FNTX ze)o6pyO%%pKM3AxuoVOXfqg&mJ_Z7*T~#%WP0Ai!ZdIA`qmJ_O4b;%k;EV-4RsL$G zd~yN>0_ogWHMJrO9Ya-Tnh!kfKvY744Ja_+(}M{UF3Qers?K9kk!hgaR<@Q_Hm**V z&U>~J^G|?4dKY}Xe;;_Ze0DS}mGe+%^QU`?a`(83`fgQ7J*Icn+L-0q8p_qnMIZZQ zM`{Ifyoa@;{p(IymoTP}gJ{pYrgwmb{eVryi;;tn`jMf=5f>uS8VrwxmspvSwZU3& zTnxM-FeC=es#Vhh3-6k}Ra}KoV=QPBub&n+HdF0SRw2S#FLv76Tb|UfM4*o)R^GK#msak#fF0lP;3hNc$k%)q%^9Qw)jO)Hq39N1arrQ_6&*}n87S(N+x&b8wv zb&oD2@M~sW0#=Wg_4Q;uJq#B9RlrqL@>jbva%kBwk7ZGgGhS9gp%So|ac=lUXpcxV zJC0eiTDM-5Vt6=-R3H#YF*G?5ItGl-y1sBbPvMEiD4v$`p*`+vHLiToSa6Qi68fFo z1eJ9S>hbu>bp>z0J&TEtSy^bAcV=R(WqnXu1?$T3OmPTB@DZWI{Aeq7b?wNUt}zbE zn`okP#<4uWb4`pFv?*@Tz5#@y(TqdTL-W$lUvdkj&$!`=r(!7gN}+VfoGYp%(Io`J z^w{N&bylV%I9*V`eYIacX7Ubk?KyJItqe2Zo}60K??{sn_;>pUDtK+xPZYQ;THd_A z1D@3{Fp-RjH?KD(7m{20XL~{_jxF0�c6%`ca%BZ2I$7x+&kImQJ9EOdhc+5&K$D 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 literal 4617 zcmd^Ddr(tX9tPBkLO`ryc?k7^s00xMVt|Ae#gt;fB0?xeh!z2Xq!42afkd_tvo4KEa7FU;ij`|ww{{y5%d}c zzFe2PjGMIDlsyo;Z7A+x8gkjo6qQMWjut8cUAs$Va^Itj>&WD`j+S{XF*fZC_0omz z1$46dP5i9|oq-r)M6El(i&~Kw8V*i(1x9anJ2RO(An0&(w(SOvK12^q4@2ks1%(j> z#oBrh$z7|ZSw&dwrU`v!#z_f_&2tDT!eY2dA0Y}03)l9-{(cpQr%dDvsV~T=m58}( zQob{7=rbhc@%bMg25o?iC&CMu~G#8`HX!QfahV?=a{ckH=TgrmcDqy*0q2_s@(VNa|VKNVa!`EW;wcO;oO! z3@k{ha~qo3oKCxLZB5ow7yQJORLjdF2Az(PE!>Lj#wQf6h6NoN9VjY=FSjT4O%%Ha_bLR_uCd6z z0wBX}I{agOQN05Pin3L&bL|Y2HJ0&H zVv<8$-$Z@(({>J=MMtWMmbmfJV7b`Hz?hd$W*%ykUlc#xjwq{AV)yXtW%wLoei&2O z{0LG1=quUaWnS=PHaDrNKfNMpdE3-1KW?N${-#1K$Z!oTX*fC}l)27I&zvgYCQZFU zq)gwFaHTFwm2do$k0MfGx7W)q=kcf7sDvX1ua^ePrLi}A($&yDIZqu7|B0=`p5 zmd<}k3X&-heJ$1jb#KPEsGkw+;?#Q&Mvsebju}!ZPPuA% zqGVbwmbnp*ecacF_ZeAEMBHGA^hr&Sb#j6a(~0KmFm|Vvc74jr9x!ZRbFFtv>ljDA zw(XB;z@1HrXV5(=@Q%RFy6@dKNBcx|r^DguH!zOA+KuI1cIO^%wBu|to%mw4PE$MQ zY^Y+`#6MX~ficpL*QKRfW*?FRz~A3hd^48l8=WsWoc$iufz_0?3Qeakg95N$^K*tS z@Vrm-55Smm+BrLd+(S%EjXC;l9Ou$Mzq@L8QB#rH=#Jsx;VHW_6pDnfrFd~aY=6=k z34@V*>wMezMdTw!)QbMA3u#kK4Y!rRN^AF$LQMGVE=gToozw%2142Tr;p2VIE>$V! z^OX-}wgvrR$Y(L|8wFVDZWao207+BH0tM4?O2zD~V)nt&@-B%02L0k%8MdLTW!$Xu zPFMu`dnXPS!hbRVA<(?`JSow8@P$aN-ZoB66(P%cEfVhzP8kL@sNc7`mCXN;1~0sU zz1%ZFC+1FcXB4(7ZFg=s5snsSPYMVS5Jf02Jxx1tt1si-%6Ud}CG^8m=j~wy^y#fv z%X6xLjgS2xUIoaML(SNRO|c8}LkQ^6{R0J9qhqsKUzN@4keNN}jW^JpSWOOHIn`J; zXrR;YCu|EwbZN4)yx=BQy2XfmpS+cTu9RfKe1Nz$jRDOfa9$bR%BK+6HpCe)s?_8c z!GS}Gn_}BIy7uv2djtuI)rZFnF02B~Izz8T9_ZcK1se7O-8EOs3nD>S6fW`U;GE7l zSKaM;70&7*Hs#*NB32IC42^;F4g*(ixAm_fpeN5A(EzK(Pv%)XqslOJ(g!tGjM18p zdbg8OJkIq)B)eK1x8QRk(MdT)*y!NKfHp_40Hul65$GzcIvi03U|%@0F`<=N#qcs@UEQ(BYBbbqj%X*CyH=>l~>Am9v)5cY(I z0N12nTmfCMy!T^j1*5paQ&H;ZeN;8WL-Zit4=6jmJ`?s^f)zhc7NpiA!0ow0B%f~$ zw%0_V)HKUA!Qgfda0N90?ocpOJH&auIBUYT-%qw|(qFSFeLOllf^AO*j)2ScA(8XG zHF1jpaP|Gt2by>FX7S^VI*Tf3-QS@pbPS{+ZLQD}YC;O?Oc zTJNwX>6LNloNg~#a@S6o-uYFg{y0EJZ@)s%6lUbDC!kF(^3DnlJN-~Xb|RpYIPI0G z*GPmE4_$~&#phEvQ{xQ|te*WXRS^r#z|5-}dvn_>ngI3>wuk^r@z@Uf8{&N80W`Ll z`^SP=9UWpv8rYCTvCvchG#HnLqbqZPPublTXi*Qb1v|(NN=t5SF@I~=xE5jqzP;hF za0&PZ_Clk5*AA|DYq)tGJ9xstrt%~ugh=ReOv$Xm!Hu246^n)oe&8OPu~q@mhAi9| zZ=pQu+=ovXyfs|@hMt)RXAOWICuqTRE%X}t6}V#20QG&!iG`(P9s$9DS1Gv$G-4{u z_44!JZw+t1@k$l{?0T1@%GsKjp2?uQN;!9q%NCy#$9_ti)%kZ{JtcZ*3~^J=fAYoT zF86mLVL(CyG39^nQ{QfH0Zotp@p%>n*QTv6r^ff~!Ohvepe6|8gSuiK$H0r-;Y^BSmBhfiBHlB#)X)q6(mU$9nh1&HMtW*k&)I~i9l&%siF`E!f;ZU0 zASYHN9TKgp4;s{PT{RYSt5Tx}AQx7_99UAXxzR;Fo!AVCbUI&OQ5djDPk$VVfnbv1 zz!GiVSiajZbOBO^BGBpXbKm@eynZy#a^1Kn0(Peq_Hl7OE)zM~%?9brL=KGn{eEz{}$Dq6o+Xe4RGR^nYVa zm@RvAH2}aMn|9tfSaVDxG!8jJ$#QdV`xLA6`b81Yf-N<>Ore81A?SzFF};C1u^|6{ z(97BJ?8xy+dL?KuG3}fwj-LiK#(+xav^gnWy(B@+2%VpvTstL|Ep*Neq{54Ke{=AT zUr?=n6#5>kIbM-?#rmc4<@R;=)RP9rA_E%2js zehY%Rzi4$D54dZUlz7omYvBx6P1aRj8RTY+mgSY=;LGx$H?i+7GWb@nfA5_|?Jfss sh>4m^Kiogtt3NFM={vEwPQASJLb>nVrWSMXibl)R!+RgwJ>+ly05K#;0RR91 diff --git a/src/lay/lay/doc/images/drc_extent_refs30.png b/src/lay/lay/doc/images/drc_extent_refs30.png index 2890ce143378f6dc05c3af8d9b059b3035c65c15..c8ac61634e7797a1e976369f06485553e3fe7623 100644 GIT binary patch literal 4759 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 literal 4623 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 W=_Y$JJ_aso^aA~Z{ph}N-~9#OluJbb diff --git a/src/lay/lay/doc/images/drc_extent_refs31.png b/src/lay/lay/doc/images/drc_extent_refs31.png index e3c48d87796c9dd59fad7863b9906f20fb8887d5..755dd2922891b345807430bdc838dfd19635bdf9 100644 GIT binary patch literal 4731 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 literal 4661 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 Pqu_G#?1?JJiy8j_P=JET diff --git a/src/lay/lay/doc/images/drc_extents2.png b/src/lay/lay/doc/images/drc_extents2.png index e42d9e5d3c4b83378a3f10c3be9d6327ef0f118e..bb14947ce4b2b1ba542fb7b96a60002323a745f6 100644 GIT binary patch literal 5708 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 literal 5612 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 diff --git a/src/lay/lay/doc/images/drc_hulls.png b/src/lay/lay/doc/images/drc_hulls.png index cb2e7d72634cd2e6098473a992c62c4b5389d86b..65ef909306b833f60632a0349f51e664760e38f9 100644 GIT binary patch literal 4684 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 literal 4646 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 Y1Wg`k!Z4Hz-fv)T&K|ppor0784j&;g?f?J) diff --git a/src/lay/lay/doc/images/drc_in.png b/src/lay/lay/doc/images/drc_in.png index 9581662279fea077c08305c059c75d1a6c35fdaa..75ba7043b445a5393a6584d54f5a3ad10aab6253 100644 GIT binary patch literal 4797 zcmc&&X;4$?wv8Z-KtmJ-Y{8(ks7xZ-h|E_UkU>y}5QqeV40aeI1Qi1WjY9+!L?!_v za%B(_NCcTACPKg{5afywWeRheNyacGz&k;Fefw42uIhUC*8P!6opbj2zO~n0dwsi3 z^jSMgS?L|pAP`8_>huW*5NN{#(QlI&a0lF#l>z*TV=SzkHf`F}(QDrWTuNO!?TP_` zsp;S<`njLyz?AZ*?Xz&RTb{WsQ_5@=FeLgw?^cvpBf3SNR5)uzxwJ+qJ=Ww+iO*{1EOjD;O5 zC@i5(f4p(~PUIJPv5vFU>w&)^CGyLfrt57a6?e?}*lY?oUM*IZMNr6YH)_z*-3hz+ zIaOyjRTfzI4g~t(kBedz$s7(RjuH4+m)2CZ>P?)lYSOxqg`K0y5tuXP!Y?%N*Y_W~ zi!!l99ye+}vzEc-XrU4B!(-1DvUa1t(mKK-#LZX3jTGy%f@bK^CM)s|OPwWe!w+0- z;2&o#Ru9a<y_XZzdJQEvgVb*hdVEL>c^9coy9fbHbmeLDAcikQdzdRnHwH++P#~ClGr)-cZ$J* zDFgE>k(aKj^%{kh=SOtBp|isc1WE`$3b$o+nVvddZ4;T#>3?8wwOi_Iw+ph5NA>ES z=yblleFa_vHrcKwiPwOs!Wq7=QRs8bTdS&Vi*4=xU?DMN^CV7{Mnjp(UBmEnSQbor zfYgn^{jfJjR$7<^mm&ghbNWBO=;y^ZXe=M-raePjjWrjR;{(*`O3vQ0joA56Jqem8HVJ60{+nfHj$$O{ZUnT zOgl7ah2E_RIO|$7t>Qs6ea?0^``{ zT3FW9q|2S|Ij-SDYnK=o?sX|4C`1LOwM6#{-!?O)r+YJ99@dc}#f%x*A(42c%Aq@N zN$$Ji^0qP;?*lG4;24Fn+Dw^~8WTRO$8$Q9!l0zW zl9`5blZCU^KT)n6GiJPR9YfZ6z=uM;jxzLSsrbK=6MMK8U;?n<#ZQ@T^0nW<{ed~K zS(3vVOmv8TIBbfOVo2QHg#OW#yi0ZEn!4*c1Dt(f3I0JB*YbW?pQw8F*S^*R7kLJi z>84~>!j@o+k=|qOcEJD5_<1QC*9q4SW1orkD{VJ2W<)gH1m`5JQJ-<14S@g7~b zG~lxd1K4XLazh93t}>}i@(4lUS^H&m-Q)kcZ3IRy+wAgM7GtGZ66hXgW;v~9$@q$p z*dLPayE|a?zj2oTOJn~33<#n_w3$6RIy#nmkkxzX(Xu>V#mzsjWmtIfc0Z?osu#Z} zbYUh1@RKZ7olM&-AAIxxZ{6fmHJd5UY{bG*=O=q~5%Dahu|CPkB&VTJFv_7AaF-%Y zRs_?WsYjYCg87M=V?-TfU9O;u5XUqI|6Ii~6wD7&7>E_Nl5SqR3Tv?_j{A(rMMreI zItSD*F0Yz?9R5`F*p9-x={*$P1eN=X8e-(dXo$E6w-7z#VT1d3Q?Z|3ja2G#&^zQgOl$OQ`bX)hq()?p%L_uOlZO>o^DSz5ZzM?< zr4ICX_)A|oe-jK0nGS*80}d`v#;+%6pDv^tl4lD7B6XjnovYtQ>14VU0APy<&JDn; z%Vhc*p3BYF|74ax^OqqQ?^P5%g6DrgWUu9Ru0aKgbuObTY0V}>@8)^SX}yjyCFd+z zFG2N0OTZ(~X?6Tfl*ZH6x2?3B$4x~zi*=IC-s_~vf?q6YJh`JC{ zWiY7*kT>NJ?>0pJNGj&PhGkJ+T9~L~V8hO1NS#)fkL58h07AJVv2O1H6M__`F?W1W zfj-J5DD;Pj>wZS>*rLn->;qudgmYv4e3K5vomq0-`SRhK z^G$WkD<_uwf=PuO^dUl>OXu$eIYdZCBo|K9Nk`@=^l1R6I>ig@pHF{CcfKcD0_yPz z;IeQ2B4ABnL)4mIOv&3*mBXrWEqBB6SqDUzzbqk44nIrMKvV)%1d4PXOiEeXJ+iP3 z{qe&R{kZ>ls1cFz{8GenZE#%X&*kP^1DuH>Hptu)2iY;05@ci5WcO34#P*^x$KUlGlBo??%f@@@sxy0x= z9`M~&nsBG8IU_rGY91H1{~M|75!L18=?{UEnW+p*RzIl~zh30Sgv&EsTc&2Vwq-2% zaDO>~n^*W@Y%?!NN+~T7AnK}nP)|?#Ww@i)lIuir6FjmXBLjs~x!!Ulf-Gc6fQ|Gz z_3H^Cc68g9a_mg|sfmrcQwms^4L{>lEuV@?(+4Xwm%ma5lc2G%LT+|u>oGu8qLY;o zkRY}M?q)EhJ>|4)TbMDy<>ZZ@v@x&^fWFI{#Ut*$qqhPLAi4xvR6hsJ_mcB3 z_+1uWKnjgWiGu`%++k#0MdzDpeW0&E0Ox^|2f3Wf@fyXM>tHnJs0SL6b+vx3f8fDj z4cVHqgIuMayRKzojn0x>*q-n`u{A|nb4Th_+MG!IjM+l^a{zhWY+(`5nBS3C-ni+% z&RRzgl1>?gIC`6}g8{nA{Sh-J`op)@_-<1{Ycw4^1J-)mRV;tDWG$2AZVT|Fo|<4i zv1CLYq%Dcw8f!?-|0iDPJqHJCZr9=OxZ46wEv@s(m zsLP+XkF4;O@(m`rMIFWk55P3tsn zL@)b-@T-7rMBqD2yedd3e|%ZG4fVlHYKXck?6l>|E5p%0Se#hLVbF37+%vCypRGA zl_L#Aef<_yVpr`p{)MHYsO^`4FZE3x-Y$w&kZzkr$!~U{ZtwNf-SMoHTjF8yvSpYv zmI}&ne2Vli_ho>t`z=3S7F(*q-7zBCwIC#$-HQ$53>b4qY>MZ#D72jEz4ORw>_o#H zYcQ-)W~15e-V|!;%$4HOxgpRabxezU^bK!ZcBgozL9mT8DM|FHBZAYP6G12NyEh!P zDbwk_3Lz)$ft|0(6=b}cK`y@%3Wq}-N<4oB5>=H$)eXr0OrfPsryM4EZs4XC5+oiF zEHyv7G#Qd5oZ)`g26Mz^WCcbMJXIyyVru#m0_qBpxzrT;{Jq2HPcI=*{Z_2(biHv+ z5xmCL9#(eiV1j7AlvbqPzqxldFQA;5tw96ky;~M;vGzoERR{ThzMuTHnQJN& n0=?buuSJ8f;&z%x38MrKec%tqxEA2E63FVL-H9R#PyGJ?1KFeu literal 4806 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 diff --git a/src/lay/lay/doc/images/drc_inside_part.png b/src/lay/lay/doc/images/drc_inside_part.png index dcd45b3bc769556842ec1d7b90fd09810ae8aad9..eb827a8b1656b879bc0ba5d3ff736a6878de3fba 100644 GIT binary patch literal 6054 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 LnV&8?~Szqhm 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 diff --git a/src/lay/lay/doc/images/drc_interacting.png b/src/lay/lay/doc/images/drc_interacting.png index 78e8bc476923faca3790a10832fda7c4e62c2d2d..96de49249fa81545e06a016d48b54d93f66e9385 100644 GIT binary patch literal 5422 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 Tl6nKmW5OJ4oovdF`X>GdCGnhx literal 5369 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 Tem3R433yzb+#Jac=dS-97sxbw literal 5088 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 diff --git a/src/lay/lay/doc/images/drc_join2.png b/src/lay/lay/doc/images/drc_join2.png index 6f25d45dc93e8e423d842e1e807bbaf12202c333..c6c751efee4b40ea590e2b01172b7e5067c54b10 100644 GIT binary patch literal 6813 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 ZVRTV7&Lyd>5x6!2Sy|Ygt}^$I{U5AEm|6e; literal 6723 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 FzX7!&O$z`3 diff --git a/src/lay/lay/doc/images/drc_merged1.png b/src/lay/lay/doc/images/drc_merged1.png index 1005e3d307c13b922ca3dab7dbb3fbba3b692fc1..2f02b29305d671b8cfdf207a63787a81120dcd15 100644 GIT binary patch literal 4726 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 Nu+Po;k&}PIKLKI(DZT&z literal 4725 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 a%d2dk&aZoUZ9@eJc)X7IdOSH4nei`s9>C%N delta 2827 zcmd5;d03M97REK#a9qn0%B9H>x72b2vNWwm&74qkLB`B6uP9n$D1uo@q2izw>qHxzUaq53r{B#kEv2rn2>%?E5D=9CYgNVjdAkH`oc5}eN?v54^PxTD zE-+exS&kjt)#6^eB>4?~Y0kzI9}JF>xhw-z)hq--kyJiyBN_LJ`e(+lZ`Fa9RFAqjp`0VT#wC=`NaGhef0wxEuIMDWZHQTPf^K|#{dau>Z) zCd(6lJ7XbeMw07Uus&WmFCYu;meGOJl0Za($QBGD`81P7_ae}=aiKAR*NcUlZMkED z{1eR;yc(BWi<6xr$sUKN4r@P0O3fK0d(oPN{iSdYD*x_9q<@g8=Lpj009R9Ing1oX~DI&=j6PU&BILIr3K4%?5I(1;(6GtUhF_ zYKqdsy5!W0G#vna%p&pQIUV#&ES+qXO>t58b|wAAoWC9^Ra{M(EzV8xibQ!vD|BNZ z(_D&p12MLYzJSi+%&Amku5wWstC&#rer*kf zs@6*J_Xv&27#RzeCkj9GLfAO3ixK#PO7F-Be|3P~ zG+a97dfyR!EirTrPKzC+JL4J%V`eC!!Og`XbN=_YaxY3bglORVDPm`0&S}@&yc^{c zgBl+x`5I1kL}*EN8wdOh*1LlA-+7?7fpzox$mE%7PERB6h~(f8p&{&)#||}jxep}H zhvF#jw>VirN|aaV4+_fpe*irlbE!|>Ch^(0yM$fNG#hMV=&ivZ+#tb}0@rchJJ|Jl zaTXKHU2zMWVx$O|K?prlmJuTY);IkNGaixmc6-UG{!a_Gl$+YHJ#_N@EI4hNcNV`w z--lbTfGvl+rLp%yHFRfggxeWUod1sPOg%#3XXv+jqLIut z2x}SF;F%Fx7MdBrTC1z@z!rh8L z@rNo%lZ*fFNk>%lPcEgW9gr;m&vL-sX#Q(;an%{9ag5PdrzPJJ8@vCyRD4B06|z3RTB; zFK43xFmAv`U%lt?e(XkGeeW=(6!umn+v|Hg44cLrII@;Jp^oVFybx!kw!{wNPt0zUTM|+-4vOo zn{_TTc%$!M5g__$0%j^FP;wAxGXK3U%FRE*DVLXEPn(8-krqnXwLTLEkFh;F!ou$TS)Fd<_n>-kd$@o7iO& zJ6JX9CM?uCk_dHViAE)+jybfgh1Kg4x+O$-!`@27RvZ)i7RaX#l6 z7ZtO5+TNlr|HFR-v(E@^Fp&8%%~z#DBStCbm{-It$cBM!NsXc+YmR-N|CCPe!{-an zTC^2PLrM%cRflh4(@lKqCz^fmbB=ybi|>ndB|s?BlC331+OL)*qXH(E@XasEzpQ>b zefgK1y8`9W(Y05t&NPAK6;6U1B)wBa{`>1+*Qg#o3|KaC zQA>9-vMi#(GY7CP$R>rBh?>sVP572d%pb2a_bf^)5tK7}ZKO?-&*Ma(Q&;-wDE7Gw zl)Z&5b&z{DZ`%hzAAdG9S?68B6&tMBLXqzB9ZV#yR`L$s_LU-R-eM$((EqD1o z8ho5rhI#2Vj?i!VSkU)bNvk_CG#8!t=Cjhne;Z+i7IkE^2vbLe6BhgEW7~d)k~Blu z0^cKI&=xP?ubLI%VM8l4g=Ufp;{ypD3VXhC0C=*Hz(7ukh9 zcDU-|xmX!XXGTB;y)7++YNoNn-`xULNZzfh=JTH`!IPp&sb^ZYM*IKiG>?XA7UR?u z3zbu6-rW#D8ML~8c~2Iu3_rCML~)cuN;Kn#%a}18SCyG>LA-(G^&#b44kjM5t0YKF z|M5V6N$al$AMPm8ruGBJED~7!~GPH;yLOQ L;Qi=OboRdhLr%Wy diff --git a/src/lay/lay/doc/images/drc_merged3.png b/src/lay/lay/doc/images/drc_merged3.png index 5e2590ecbf0f832696a72470289ebae29bc00a9e..2f7ead9ddd13895376fdb9cab7f90a470eb1808c 100644 GIT binary patch literal 5573 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 literal 5551 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 diff --git a/src/lay/lay/doc/images/drc_merged4.png b/src/lay/lay/doc/images/drc_merged4.png index 8a0207a0ca56c42a8f3074f4a2899e1a2699c7ea..0dc6f5580c38e780d5de9a3e42b58177859893ba 100644 GIT binary patch delta 3349 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 Rf$u(GUi*C9X|AE?e*ife<{JP2 literal 4386 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 Q_}>L2IAE_o7ZdaG&(6lk4gdfE diff --git a/src/lay/lay/doc/images/drc_moved1.png b/src/lay/lay/doc/images/drc_moved1.png index 7536a90889c60326a7617badffa49dc434883aba..649de520ae716cebe4f04f98e5edf82b3c56bd78 100644 GIT binary patch literal 5207 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 H|I@z#d{HOu literal 5182 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 diff --git a/src/lay/lay/doc/images/drc_not2.png b/src/lay/lay/doc/images/drc_not2.png index ae43ae1a5dcfefe8432533c287a6c9ede4991fd1..c501c3ada09f4ad79f687375d80e4ce6fa5da827 100644 GIT binary patch literal 6764 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 literal 6702 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 x{tFHj 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 GTmJ%MyPnYi literal 6141 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 X0=4IZ0{;jwmIpc5x!6`&`(OSK2YWPJ diff --git a/src/lay/lay/doc/images/drc_not_in.png b/src/lay/lay/doc/images/drc_not_in.png index d1829a7be284ab80d6e32e22bb48663cd8658420..c3e7986b34bac631aec00980d5aab55db79d0dcf 100644 GIT binary patch delta 3577 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 Y1Ae>L^}Mi|)=)pLE}qWyj-h}3C(QIhWB>pF delta 3364 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 P9%5}_Xa2;@{q}zVnr|np literal 6067 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 O19mo!hn`t^U;lR_o!K`4 diff --git a/src/lay/lay/doc/images/drc_not_outside.png b/src/lay/lay/doc/images/drc_not_outside.png index d465551088f98b5b91b01d2a6905c0fd65062632..e6ede552aab7f6086017b500767f7c96e51ddec2 100644 GIT binary patch literal 5111 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 B#&rMy literal 5067 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 VO_K0a=#ULCGqE~aVst+2KL94uxMTnT diff --git a/src/lay/lay/doc/images/drc_not_overlapping.png b/src/lay/lay/doc/images/drc_not_overlapping.png index 95b70cf0546a26737fbceaf54724dcb59947ff6c..89f571221b6eda57c1e728f0f5927c7fa7193cf3 100644 GIT binary patch literal 6210 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 literal 6146 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 R3Y^UYNXz3tKRe`l^B<*&Irjhn diff --git a/src/lay/lay/doc/images/drc_or1.png b/src/lay/lay/doc/images/drc_or1.png index 4a3f4fe30079e19fa66f08ed7bc7344b3e1543e7..78386d1fff4c87515fd0feb1bf9eb09eaa149698 100644 GIT binary patch literal 5233 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 R1D*n*gZo_f7CQ!}{s+~3J)Hmm literal 5232 zcmds5c~nzblYeXi0TPB)0ioM&RD=L3h(R`4v=I;l4S@h5tq2{Or3uKQEV89rRN9Sw zi?S0SLdO6~Sn{E*K^B3~f*KZC0|G(_BqYoW&gq^$Gjq;&X8xM*k9S^j@4Izx)vtb4 zb?Xg6db>^cLxBmUqz3MI5+}(Ps|5j5_nt3^D;6rqvNh);9uGB@4WB; z0R4yP5qqEy)f5dzI-nx$0)G7QFmT@0?evcy&A~xM(V%<4#Yo^F{D=Yk@QLFF2t7#6 zEiV92o^Z53c|N9KvEW?9xP5Z;XwPnt(P=0AgS24Lp%w)ac^i}Gv#vVPnUg}X}c7Il71rUN+w}T z{KeXh$FNf4YJtoE-yq=nuHEY1w!rRP5H&zvLK~_0e_jxTBwJZoc?&A*tXF4(b*;{Q zOp%bcKMG?%uJTxmTzj3&ICtQWUyl){o}VmuiqtpDOo34U+=u&=O-KzCyoH)CeU zmDn(yMAEpj<$1OE*bh2Z=k(uMK$*3zp$8%5-5tP;vUTl%vYsTw=2thEQ}c`1Pan)J z??jXUO5;Y>679yzEIOnU-a}%v^a0`u#)iM80><(x2EgugBke3YMj=_U?#6aCrqHX4H*L4BVxFo@r?EM__4TZH^**Vys41duYVx~K z>aEXlZLCjR!2tpjgTZi%NebmBP~lHm7#-E*{wTAY9n&=P^)GmwVUkFKs2}3hm&uUE z7!-BXr8=5jY6K@{5*(alOwXN=eqa&UW!I71P&uT6W5zC%lfyF_e-~B{-9KU~2h*3a zAa#-~NtC)Vv#9tF~ZcROYl%QH(kwj3H)J9@+=!anNuLtcHwa$Mo zP=!g!y?TiBsPvlY*im*LzXs{?YR~`#AJmktg^Uf7C0gNTO2&IU%-zWC;uLSY*KyD< zzM+N8DG~=GMGPtp3$3yEE!9n#f_Hm~M_Q;D9L(@`Azm(&-q}B6q2Aj?&!Z8vN<00K zJbniNUS(lQ`U%%L&VmL86m5|wxHUM5h3aci3TmikqEQ82q|vA(E7^2zN(=E`O{DJ3VGdbsFrv;GJm^9g z%;&k;<(z>k1wLAvofUp^k^3>cEv)O@sQNnhhl8l%%Bg*#b@AB5V)`Kc?yKgzpb^vO z^o$9rH@tg>7(c9=xn~j(q##hD-`SamYKiMqS(;Sv8wMhx1&&(@OzgclkA+uG`Q(BJ zeaq5rx*67OT;ZX)PPJgd$CF2vUXCZQZajKow6HYbMz%V~a1gEIcM7ctRRrA!cwKy+ zKw-ecAF8jiW5R{7Qf(L>)elN+E$DH83m3waeP}*8Zxb`V<+i$dykA6@1|+^We#`n{ z5{vK&0}*>Ga-n6RH&Jo>!?0mmY&xQFB)s!bW<7y&YF=y5EqZd|%$2dp694#z$lyvZ z;A#$?XN{v=p3R%e@+4`d^kXA<^VpZ0E_)-*U~;b}N0q7zQ_d7M0wWV>^8VI5+t=d9 zpAXW#-D>m#a9L=-$D#6m%w2dCV0ZDolHnIpi2cK+gJ&;dFt82+?rvIk>2(A{pLwf; zG2#!E^AEa)w%wtcnhpAz9JACDWH9hz$2CmLod5nQ3Ee40!S{vF=q2qIK{TX+Q)>s^ z)~UMuKFKRIwyWiEjF)CNR!sgD=;&9VhhlrggEB-;hl7~PjqMgWcy0Ops=t3K^0u82 zCZ#AL#a0%D1@S*X>>P*g-!)~x>rrOAjDk}T21&$~5ZR#}{sJK@BI50Wl?PW z+oz91Wz|8h(+ewr@Bgx|v!y{*o_oXP<|$S7^Ra*sV}g{i2@OshK~#Q3$d$nT+G4Vm zk!lR;y~8u4sZ=S-Ve^yqSNlH?>%4u|nkIxfE5^2o*M&ezwG=v(5aQR7xy;Ps(_|W z_lGj%Iu=eFm1Gl=A0&BaJsR%Y+fKi63eM;cp6vihB?$@)h@2+>D+-(mTUSVJxQ5Qo z_@a0dscqUQu@FQ4z+zQoXU_>biX#WYxcpM?m8dtECGO@vs~%Y%gR#{cOZr+MfHct- zzH!f4OQz(~<62od$b0EL6BjDqw=_?37Jrb}<>AE5r$@y0NTmMsE-o`w zG~7cQ^2Sv7ma-lkfue)U z;ZdfMrWjdPHN0FKiGszDq&N14ema3i9UjA`b!s6)eEY)Yi69cYw2_kCSiST2>Ug}^ zZzc;KPGVy_MDwr1I(yACs|XagH&pXJZZrz*nUT218m!}PRnt@xnAd965~s;MV<3#i z1WI#RTpZFu1RDlCII(8)%my+9Oq-o??H4WEm%{O^T>1?$n7+z18OKge@PNhZq#7@i z_xVGehogV7;>U{T!L}}GnN*Ef(~o`C&icM1NEL^TI+q!-aX2?Wh%Lr zzPcx2^$NUrsls(2@+r%-#t{||b+}f5k8I2818bhYJfQ{K(XdWtf)%2j=jwyy+L2Bz z=CO`|T2)k} z+AA`tI%v{a98HOK0qtx_B5N0f|@o`<3hat7HQKPF6_n@c9d}n zvCv?=6K9PSQw|=S_LsrGpU0+gl3v6mvBsxqU@Z>bu6JxMB`DYCS;=6>unz57S+=Hg z)%C?@M|wouRTp9M&rm-Q%9b~*T>@+Bd~|h1VAoO6!9m3|TJq{s!-mv6VEQC!3#P;t z)Qnq*Anjfz+k)JDVmNEY>EoW10q+Om(`1!uN6&b{vpYYX?N_iQwY@d_mEJJG=!(_} zs%)dtdeZKK3%`(}cPg&cu;S_GVTP>!EiQNC$0AoP+)(K~TBI}h$`F1&vW>UGmbGET zh7AwA%w0?72!;L)*t@Z#{V(1qpl$0Pr!%G^p1wC6H!v&tb!xUNQvVqw>nl;h%lec) zrkGdktx8XcL`ES^QGTrWz#{7P{*(svGZb{bEtZAh5GWp>-QJ#%61~am5 zz>q!DE(mL|is{A@%?5Mn$+Ux)5OIg!LmCV{(6)bRr=AB zRIdXD-nL2hyMuxMXoC3|6BE0_7r$jUgqB4u8XGhK0VRKS$d;pJQ^GTjvKtIdl58Yy z%Kh0;0RuXCvu-qG+e*lov^VuBiMJcOkpX{@Vc^yOzgaN;XIo-Ak6nz}hINmnm$WE_ SMSz_^z|rBXeVwg;^1lPOUJTR# diff --git a/src/lay/lay/doc/images/drc_or2.png b/src/lay/lay/doc/images/drc_or2.png index 58d0456dcdf953430019021f825a280ae7dff101..ae2974fa09040268c0e50479d4eec30ec21c707e 100644 GIT binary patch literal 6790 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 aY6Yd&M7a%W`+)l)kd?*7(`0kc*na^dk8bAx literal 6719 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 diff --git a/src/lay/lay/doc/images/drc_outside.png b/src/lay/lay/doc/images/drc_outside.png index 15aa2a81e557cb04cefd42f31d2e91a6e8aa1cae..190b2537c50fbadc0a62ee38a23a8979b37ce951 100644 GIT binary patch delta 3186 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 w!w?Ue$T;c(!MJS7(O3bAa%B?% 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 literal 6350 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 Bo+1DM diff --git a/src/lay/lay/doc/images/drc_overlap1.png b/src/lay/lay/doc/images/drc_overlap1.png index dcb26b5aea3cc12a1c541b6cfa6e94d9ffa5ce23..75d18813d630d848abc17692d300f478f32883e1 100644 GIT binary patch literal 6331 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 AdjJ3c literal 6285 zcmeHMcTkhr`i>N(ECfZ0sKl#_EDM4tO-f=xTtSMU5Q-#Gu^}ZZ9TJKHivn3)0R<_t zQiMPvD-sb%AWBwHiZrE!5~)#02r&@aJpp&!yT9GJ^P9Q<+?o4FhWWnv&NYkm~{q{P4*Xy5$|@JIa0!J{Xnq@;QV?FYc4wEuUm zS0E7i=c3=56m9vF9MP0P@YQJvzJe%}jLm zX~`5Pxk4Z+%SSB_oCvx1@t*fBmWlk@@#Lp2#r8%;KP7!S+YJkP`u2h6lLHD8d(NDx z%Wzimu@)YyE40&6Z8PBGr6HW1)G#Up5>>2#gzWx`8s>8|*XMQa>%FW!x>7Vt@kCko zgAmoVVzQ99XtmT0ts{4_n^YvwxohfUcl`tMm3XuyguY+SCgB3_6(vztYDENQ0%ijK{9R9U#rk4QpKnE4a%6aKa@S<>l>X=vzALaK@}(yA z(-39c%%?xAnvGZ*+@I0wTXBQB+s#(9n<94EGsoLX*QwlYUx>#-T-xNd>elR9tWd~K zOAqQi;=&vmA$Z&M)w-Ju3ki`S?|FvVc3Ypn&u)%2A*=bd{7_aesNC zzfN4~a`NoN%>oiD6Ig-IcQi;JUt zk$Q%fKh}mK2uaV^4otnVlo$NgUUQsr!z9iewi z^(=SP!j<~^u~OP4r?jP}SmU~xAp%vOr{b<$NI7I(8Q!{38Bir)RxM5hU2l#YRZ8yn zd)AROYmSO|m`u{H@2IaEqPn0@ML2&d2wQZ+T7_n|sC7^^zAAfw=#xoUZmQTcoR~Om zdf#w?yB8>BS^aP1!*P+*u48SHCB-w$N4R{(pw!~Xnziv? z^*&jf(y#|0JJrx0Z#Rh1cCQpfJNfnxM$L(hlx+}2x!t;#rPrWUrF1|=TtZq~W}L70 z@=%CMSgWe?f(0NB!0S4`-ycM}HEF zJ8NN&);fOd@$2F>1mj6CU^-zE-^ralfUBU%xYHfs>}EkDC6SF5jo30pzgZ)AaE z=Mi=r#-pEAR_8b*^xZ;WOofWsB%IFm@stax!U9k??E?fWaX*uEeyf%`?Mmn@pi^oX zUa@)4x$e^iytjxKQYbBUWYgbr_eLNONXq2%@U_Zl}t5Zio zaMu%_gc=TT>n)=5Ea9zv&8F&z!YO4WfYWf^!Yx~#B~(vSO5MOP^EX$Id;#KnHG>)C z!otODq@B)hB?OOTC_ae`{MHNi7{0ZhZ=tKLqft6l4>-&M!F{u{d!!?Zu~`5>%~=K` z*d>cHy5yi!Teq~Oqvq62>R6h*D&59xq3U_{Eo9~mD_&I-&z!WJPwMR@jE9^Gd>Z+) zf0cOfNI2=M{XgiWESXaKqw^xG`EHoSHm~-YS3J|^3KMwV%&7g`yV-v8Wxd6$^Hqlt zw!@(wqjTDe?)Un81nI?HfqBg&re2PC{+kC~C;8Nw`CuW8nTx8qw4AcEXzUa2)OGU8 z7`^+avKkxetLCiJuK9^xu2WD>{z7wwMt?YMXrZ%aw`o_$F<7cvS1?O{;im;=2y@p9 zi>p&(Y+i^%MFVat(zMH+L@Rsz*6BWS$gQXLrI0_rnHw(Gc&>UU1(oXc3p^!g!Z{W- zI+yB|+Rg9uE>?XM$A5mV;W1B{ZTM)hOlO=7=ijPu*7T{{SRR*G<&;r|S1!l$cHJ)z zv-L-1lh}d9y;C2z94^fkw+FinYb#}Mc1N#Vhj+|;z*BhO3sS9+9Hz%ef0sTsYw@8S8#8NOa?7LdI$URz<*VzZYMoC44{;CS#V+v9I-V9tlt%#cLhx1n7bNdn2`Ko*2Qo4%Pk<94@a*NFRs5(*J0=HMi3u~>j5mXMIQMbR z te(HfTOS0mooVpoz`0JUL6&I+P-{R?Db2W~CDvFz6+i)}chrf6Fbgr`n6GUE7SxT{mR1X8I;ciJC%%@Dtp2a~`9*poys%Rj zbD^?s{;Tl$xBBndU;RtYb%o*7m~zvV6e+FC&}wVSC{oh{KHJsXkH`w{) zLL1XnO0;cfFb8BmLk?fkM;J{wWY4C+b^0ULrQXkUGqZ;|f4qSpJ#vV@H0Z=)C#j{X zTfMPlOkwWhAAC$BZ7;c1Z3<@n6XX0Dg7igam-I1uj56?9GtLagw(V>Iv%PMG?)AWZ z7s}}I&Ejl4R3*6l3ZglK$9g$c@D1jmtUSWH{0P)jZ07 zme;(Q0uQ-D8l+8SqGb6yZL`%-e!zEv-dNVcB%I6A47W26o;v!jtL$e#JJKSCghdG{ z3NtH`pHsg$A9W5+`sG4$c(%+UzVNl6c(*PN+4Qt#bMOF9DfMBXgBhy7CuqWU7sz{) z*3NEpgOu>J&4sU>(uENRi5)3!v(;6)3adufb8OQAR2Nz2thE#B9?F})6H8U;e8C;c z0!?E9Y<*G$vpLsj@?7gFO|uDJ@m^mXK5)XCKi9D-*l!dG(_^o06~QBd8jTM%@|Q-9 zn@KmroMchY0}hypcBZMw+QH_w_!Jndp`gBNb9COdOoQWq|HGW}4`ZMG*aC+%Wibm5 z7T|A(3&}asBHIGcAEv|3S=MTcavr$vP)KCW592XGp#3?`T#lh<7eKWU@Z0uDBxBICm|e^r7^hz! z@P5~7ta(|EeWC#i}QPkyIm z85|9BHh}rYD#;1SmpH62vBrHf7@s96yaP;^T-Qmy-F9}U9}HUyb`sFATCeSt4AJ`h zy}JFoX97-)`aSe&O-|w{qT`KeN*O4mdY{3En0@hZqS!(UyjMnBZ3fdZz~D=WX6as7 zzmNm>K*yF~TH{Y{WB<%Q)EX~on*-I}gj5;Gi=Zeu8;sGz%)O?VblEWfnAN@JsbEk{ z`?ms8t%xm%8{Q%$%Ww|O`)d;~w8Wph3hPotHrCF@Kr+X@`we{8(8;{OCqSn5X56>McwtaIHch$)*@OIkx`@sq7bTrobxoO zV^x7@?pQ4?eS9#ze4W<7*5P~C6UKP7GXKbO{FY=-95VcfQ7l|Xu)=Y*kbF$ic~9un zprnP#{qR#q6@}#9dH?7R@5r~_z2IYpP1LlDkz>GSemBA7QC0DcSSX#DOn)o14uVXarwbU?oc}c5;=nb!Gs*|M^E>QPuxvDru7lwAewTO$P|D_5EwS*6!hty+c zF{?s(LU>LX2asx1k~p)Tb`#TxMS;77v*-DT1jZjU;@}6$aaA7@Ulx=iW}i>$J2Pt> zL7`0qitjBIo54JVRk)yIg#%MZ3ls98jnyJ$TD_%NpPSUL$^rRN+(*8Z6#kXo7+AD0 z-R?1VPC)J@*Z>;t?@a$UYsj2zOE3Zr?j$2GZup*qqOGVRfbS%cqf=h>o(VYsa-;b@ zT4S?7)w2a~;9!_}0i3di@gAU1qzzjEI)RAgZRFo=XFvK6d0D|TPX8XEYp64NE&alZ z@PRK}llvm(o8sEsg@dub!P5K`mGLu)RH`ST zHhtbTj4E-#sxS(^l&XL>SsGsy%lSt|Pl><=^5c7#DHRCBKLu4Ye=FZ_W4$R(16-*k z%07F4MHo@FuQmJ#6L!THk~k1*Ly1`U__9o=&7f~tn-c>W*lWJ7^QZ8!8N3pNqt)b% ze0j|6X}0LzZT5DU8>$GSv@97_6T;k3^XSR;I}jaK71jWn!{SuJj^eh`3|c?Y3fvFA z#wwvb>iGt~CSj7w5L)Apwh-3P(=mBS6Q@7k>)IdguBTh6X&X5s6)gr(h1BEoWTt$w z{gR_5dcXLcTz5Hbwbn~=0QfG|K%2MTu`f~;a&|m6gnYg#G``-Vr{5cN3%jYSjWQ^u tS_bh&|9<1mskru^x-b0med+SL)cr#g?;dzI_%{LM=wUm{(u3%je*%_Ni4gz* diff --git a/src/lay/lay/doc/images/drc_overlap2.png b/src/lay/lay/doc/images/drc_overlap2.png index 337826a7e867e5e74bd31aba927637a7ee1dcc3c..06d17e418e3357aba5654a6a8562cff3dd2ae870 100644 GIT binary patch literal 6339 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 literal 6293 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 WHI7^6UI9NBKpgkD?9Sim6Z1E1VShmY diff --git a/src/lay/lay/doc/images/drc_overlapping.png b/src/lay/lay/doc/images/drc_overlapping.png index c645a190ffe59588e00700db13bde828d72edbe8..2afb3ba857f30291d5d40fdbd3ac135333d480d0 100644 GIT binary patch literal 5158 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 literal 6064 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 diff --git a/src/lay/lay/doc/images/drc_raw2.png b/src/lay/lay/doc/images/drc_raw2.png index d0730e934e5dbc185f047b8656e58ada29a0e541..6bc582de5924efd5a7b52a1f9ac79bcb6ab8f361 100644 GIT binary patch delta 3528 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 Vdh=rkjtR)WQy!&#UV9s{8A&zh8I% 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 C;orLe diff --git a/src/lay/lay/doc/images/drc_raw3.png b/src/lay/lay/doc/images/drc_raw3.png index ba85651f49f3e7c12188afd5d9febbeeafe18ff7..0288c17846c9a2fbcec8be7338e11b91aa1685ec 100644 GIT binary patch literal 6218 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 diff --git a/src/lay/lay/doc/images/drc_rotated1.png b/src/lay/lay/doc/images/drc_rotated1.png index ab74db467e670e22089149432de8c96dafe73f03..02011ed60b7bbeed97413b525850e08f87be8769 100644 GIT binary patch literal 6991 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 i*UK|x-XBn literal 5610 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 YWwgHdX(*OVf literal 5159 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 WW=D#bg@{YbB;oFP{eZW z$Tqc{b#rSjxovF8M(&gBVrTmNet-P_`MrO=&*y!=&-eL0pYQuV8P>g4w^L7edLME- zl~Oc)?_#ZBzm|un+Ttj^_C$dG?1x2xiCKdQr`B7wu=T(`>gAaPBO9+!f)lpv&RL81 ze7PoI&V<>5002hKVETZgEUOyhlZ_99D9ym#lqKjqxhUChb_R!vLw;p40&u~Xu4w0 zOdC>qzN86*xnLkKz*HZy^* zj|>OSKK9EwBIcMrb^^$(=RV4@r9@h|GxxAecza3w&@H@tK9U{9jg>bI$JlP+Gt$(C zDy&2)?D@%XQgtGAA~jgPg?N%oNRJ**&7E~(telSy%n3_<6v(Sz_?`Xy;a&x+KN(f5 zfs_0OC4J}Y{yda9#F!Q3iuhG&(pb;h5p?3gc3PM^?g;i_l&wokCK^xF5!&|k?_3a> z)&p^WE@HBmx*Z)21NK)*X)gD6@$g@V$jxVfFJs=y1WPJU_oT5ir}Tu)I@l&J7(09# zF<&3o1DRm+{HLkqV?^BIlB<;LpyaQkdJcvK#%&LyFTP_jagUBval#{Rb)>J<*)Ugk zk5MOL*PlWx3nH9}^hNQ3DYYg=k@>;U-+hLP$8nX}<3U&?)T4uY&iriQth9}DpL=iV z!NM~@tcuf=q5C6wn(qoa=*zA4-hUZ>7+w0KFc9yRV=naSKY zWCc`P$^ZOoV{14;BjfxilN5ER(P>lR^DY(Ljn-B_tyhVl^g{J?eLW|wAl3)gVnb^S zz+DXqr3(mE+OwVLlifchsfY&Ro>ey$LpKOIreHOk`AAevEQns%@e0tDnTQvjN{oQB zRD~I*{7rjQ{y^m~Vbbg2!ir)7uN6ZFn-8UT=-a{j<3qYaut_KYJjHBB`vpizq;mTS znxE#su5XV8%)N2%+|cgUt#~QJn}3<)5h`?*XRDhkNwh#EYSi$E(&U~!78zPz{)z7J zlAPG+QF5aieCZS(MON6$DOC02;PULN(JJXTeU%BrDf8-ZN4kwgV=$nw1oGaM8G}mE zZ#5FKY`SWU^c&TS^QOT^5e06;ej6(VXW#5Eu4_BC4v*51K(pHdK%+p4w??9d!hT_v zXG(dkVM#2CYp89Xh{aI2=w3bXVL4GDU0%B8SYb zf6v~FsDi5swf;F-gT?#ChaGb`frt>D2Ejo`3fav#qJU`+{_DqWVc*N*%r6O0T|jFZ?cBgIU_6ndAqP7ly-PH*_&M^b$zro#*o7 zVVIF;HDgghp)D+POBjY?uIa3uq&WR#4wDG3MD@;LT-dpk5O9FcaNyPX%lW)_)O=;!@CCQHnr<+yZ z&k!cgyOh{XriD)0fz0tJLE=4lAG1?HN92?z?69T8flpfeUzXabzzv8%Hto9qM#MzI zSIUj`DSF^vy^}}{dQ^I zu1rj{O@EtxO{kihuBz`cS_+JZwIh;I24M%c6pY9_IO(qOJ}Q^JNyOVpXaduwaPifal?tD!%we|e|%KJ^zn4VLP!9~y%%G{F6vvK%eu zw%v_(Zl9RL&`X}G9L99#JLGEOQRi@&NfzHrvjbM7-P>_oMf@;EEn8i8G$=t7c8R2J zhE+O9M0x;uuPLF8-m%f+N3v`ap4^XO6LJoJ4)Wa8( z7Cx`hfg)77aSc5k$4?|iT3g(OIr+G)X}J5R9>7$b41l2TYk{sr{=#Cf{Ny-uqAAmO+iTBhu%0XO`u+%%_Qr-mt;cCE zQE>f3#{NGFSN2Kph6C|H=(_@clni^L7K?%LkvAs&Z$}_SzdaUrSKxWE4%o6<`;z1y_(mTy z$caQdRIq90@){$LsQS z3!l&B<9(a@%X0`z9mV}OH)d$&k+YV+@Xid+E=L6sRtLs10VTKIWH-!5I&l3|08fET zmYGeQo=fLz6U+L`N2ffKQGN;_AbdMwJ@Zot`Y7O?Y+MeA956aQ(n8?Al{;kE4s^7} zld}qln2lR4F~)7jNQGz>KsuNUw6@B#8d2E_o0rlKy(x(1>p~q|AE>DD3`Z~@1bh< Hh%5gB4dpcL diff --git a/src/lay/lay/doc/images/drc_sized1.png b/src/lay/lay/doc/images/drc_sized1.png index ec34fef660a5c24ce20d4ff34467263f388178dd..c4a9d56a2b604fbf5406d74c01f6f4098f97a522 100644 GIT binary patch literal 4399 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 QABmW=gPVPkE&jqk0qN??0ssI2 diff --git a/src/lay/lay/doc/images/drc_sized3.png b/src/lay/lay/doc/images/drc_sized3.png index 61a4b8ca7c990c472ebf45920ddb05f30cd06572..d5a1f1ad682f0c85c8ace28c645b5cc5923a2652 100644 GIT binary patch literal 4678 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 literal 4632 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 diff --git a/src/lay/lay/doc/images/drc_sized4.png b/src/lay/lay/doc/images/drc_sized4.png index e96e99747913c7e1cfa294829a62f358d12aa6e2..d178ed2369d5c495a90251e227be3c59b28a61f9 100644 GIT binary patch literal 4649 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 literal 4581 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 literal 4549 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 literal 4654 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 agdSZvQKE7t9lXa8LhL)VH`l`b(tiN5)-<>P diff --git a/src/lay/lay/doc/images/drc_space1.png b/src/lay/lay/doc/images/drc_space1.png index 8f91261fbc28fa14c96d33f59516154bd3d05c3e..81b377a1a13d54449234b98844f46588e6bfab0b 100644 GIT binary patch delta 3382 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 VXq~7qY=&^xr3+Wj7n?Xm{2O_-oFD)I delta 3333 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%0D;#hi!xup@qGUyIH zYi_G~Cm76HPjq27$ff3qoJR9@n^8-eWgi{tZ5_}9Dy6px%HM~HBWz5J9VmwXhNcJq;`m&46g|7hx}V7%0_}=PCTLK&2A~AHr!}`a!j&hZx`;-%>85#V6Os!0M?sS_ zVYr86j@9$5*PmnO1r%HYr}3Y)K(-h`&Dineeml5l`Iqq^7;nE_Ks%_eL~Gs81DR)M zOK!&-Cp1C&owd&5^S`7X6Q>et#cWiRN##x+dZ_J|6vYZKn8^X_;y>t=fabpMNKCD9 zx&ud-HXz%2Md`^(kf=MH;)PEjfPN4IIOa;?iV?iRFoOT3TwuaT@o~#xk1c3HdrDy! z_bmVVE-Z>M{3PwS=;YvKOcv_N{nF>IU~V}14uwiES%;qbx;w~v8kXnK=si@<@ehTfpoGCrjO>y?s)Mq+XalIr}W?>;+n{(|Ah09 zoTxRZ6tf|iPjTR))yf4L9h5GvyhbwMhT_^gPS|j(TIOd9)Dp3kV6&;19vmW6mG8G( z6S`Ix|FaFu$LM+TNAWc^Vzvjp5=-E0d;idY7H^Dny$HQ#^*G-VeyzIEB(IM!UKFAz z|JXVqE%S8`p1TcgC%wHa2xsz-6EG$rWxQM*hV_4N$RME}I(kJs8Sg&ZuPjIV1 z4~y_Zaxd)AxLyxp#V@uiTq5Bcb;}?eMVwW32w2|rO8c^&Jj0?z!3E;%%-V<*=LL9w z6d}P)G6(wurJfk!#cTIk%}`v4jjk6B>pHNEdmuY{;cM23+66BdsFt{4c+K2m7^Luh zC|)?8#f&p_CU8diCWyzBRh+j+OV^7NAH;n7!FrGcZTa--QPNkQApX(Rw7*r#KtaIF z#}ETD|CM~;cp5@@A=@Bd8MKRpWv`1lG9Fw;pDR?G&=G-{`WRHDL7j98=kk`5v7(6o z2i)*)KmTj|tUF3$MQ=_uCpVe&9Pv!~nnWm_p<{BpY(3SeV;;>qkuz^MPpUEJT5ShH z@F_ZnWgmz-VRa0YoA542(AHOiy%)$HID+qUN4D6>Xh(zgBDQR|rxWDfjMazw2 zu8D^R@GH{~Us2#B`!?`X>Fv)Z;CR|{XqeIaXG-jki}P(4&&7T-YFGI=d)K}SP!A3l z!SD}Mln3H&ROh_Iep_!HJPl#24lP}yp(yj5ChB@^$t^hv1jtsK`iHAyPQ|>%=4sHU*T%^#i(66{Fj zcI;qRJrX3MgeI+iXL!4aB79S7C+Yst?`%D1Lsdkrqs{L~P7ts1;jQDHRg$?Qo-S62 zOVE#S7k3D2i*V(Sz~Kn&cm5+wtg<>wgBtaXbj`%0%bHL#{j1`Z6lAgAZ}5#7JxH{K zDEC!TSN`;t+VNK$Yot3x=fD0&y5r|jL}jpT6P2Y`ZaU(gTXgTE6Eje}%8bRUv(YLu zcIX@Md)J6OhF$ry;xkZ{9jIk);u`4&lWDo%NY~NRJ3o`Viqo$ZnlElBLCkvc5dOYw zO+*moyme$%lk1o|f*AY1Tf7Qkyn0Dk#@sE2@6P4fh-A$;013|1i<%e!h&i#m83TlO zn{?j1yHQ*DW$SoEoUZD(aJDpo8-J^n66a{aIQTOQ_l1E)87Y(o3b&=nXf3xSRCxWsXJBvS5C3 zX1?(ufGw<)wZs&2lzSA0mC#2#%=T?Y0FQ3o1A{tM)}8muzV_c73Zzgy5fO8? z**UV#-rXU1gCbiqH>lALCJFCXEKvOkY#3S|>#83k+}D*t%8iK*3B-pIvWK|1gH_pE z4TFAcO0#V{1L=7B+iAgjhA#2Lu2R-xhlKZdgq)0CiuQTmwL!zadOLXH O2OQYzXjg{yiu((3Z@sPn literal 5145 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 i(U)lvPCa9hTjI+|&t-FsSPQvItW&j*vqhwX8Cg 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 NVs^sZxYWoY`X71@9r*wN diff --git a/src/lay/lay/doc/images/drc_start_segments1.png b/src/lay/lay/doc/images/drc_start_segments1.png index 3644f360d7eb507ff7ba244c74833cf04e4f5f82..a6b45ecabf2e9fe2e281be2fb60b5edde559eb33 100644 GIT binary patch literal 5154 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 literal 5039 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 YBUgs5>5M!NF47>bd)%FWam1hh8#SS60ssI2 diff --git a/src/lay/lay/doc/images/drc_start_segments2.png b/src/lay/lay/doc/images/drc_start_segments2.png index 800ec51dc82f30dcffda4b7bd94856aa89ad7e6b..af8dfa514515870396f414731984e2add46ace90 100644 GIT binary patch literal 5317 zcmdUzdpMNa+s6mlWCo=ja;}|H$SGwoIi#H^ij0RQnIuKY7{_tyWSH7$?{esX*xTO8 zV9ItThez2zVU&zwBBpT~nqq_*hj%?x@4nu{^}g5duix*Fxm=!kX03aD@9(|t&swy@ zPWxqLRAf*nl<03Y76(t{-{#x}eigXX>}-xk+?%-P5yr8X+jk{0nAnn9>hH_Vd}MWWTj#x|jfVYEV^?DF3O4qiFjtQR z7AmJS!<5yipr22$&?uCd3{?_Eob~P6Hm?h&^g(PuVk z?+CeQC(#t2wg%OBktk-ZYzDjJdS=la2_q=lcZq2Iji{?Re-M*6uRjI8Z1U8n56&M7 zc~X-ou!L2p1GCqe&yp7VF5oT{5BF3#-!e%?M=Cdy=6+Ufe&pzo((gz3xX3cZyv**^ z;a|W~YCrMqEJ)U8;cJa=ri-5}>i4xi%NLE;Z4rtFlh&EOkmHB@3fJ+cC4%M(V`4rt z{bo-5_~ryN_`n6y^x`ogD<)ZQ=v_P}mBt0zY9~vI zi--Ke9+9)VW?}*sM3H8T1i#A9i#tROBHc^ckIB$6D~L*DOk4_AWbyDOeN54(X_0|h zbz@58o=})$;FT2hM~B($g+rd>B(MmBDxl7~t{&A56zOgXb zJwAPDqAf0XLer`DQC_urUGE#wVe94MEh5dpB(O=DW zy*rpzPLpK+4b*_JUy63Vw}j1~W_$`d6_8DcaLJy#eW=xDts#AG$?9hx`H*Ot@;U4W z4}8EgmujDnGYqc_IRzRK8Cu_O5_rJz^COo0U|i88{T;q2OG&sF__eVg7GE(kRnrez zU-U-=B;QRS$IMr$?uzRgj;Ax)uc@*rW*R?2>-HQ~%^F)fU;BI@cT z6Fu#Jx+bd)7oSo#9!7iGR!Ejf-tmSy#4OPvNC>AQHK@ejTOA5dF&zn8NzZL^MaD(M zS{-{(lP%(g+;|kuf4HW8Y#ua#obCkFX(9@JR9w4 z(14Q9o}zbi4Y9B%ZY00nQeJg&y;pyP*Trf`y{fv`XF+f!(D#WGRvi}KhLL^VrNPVN zL#YL!*T$67G`fb&>qc)CwqGG!ft3EtoVDdb5H`bvv(_3fE{0T$R`_+-q96=Aj|m z^=>q>8Fx}}VXg*!673-v^lu-%q2~siQPpFw-kOK<+Pb=}ogYruJ7EIce(p$TIO%#!-k}etLS7XP-1zzUs z743I*Qc9+kWz@}X(OLNbZZ(@ zi8;d^MtV0cWAy|d%&B?%OEogEdV^uzSg`cgW42bIVibc+8T4<4yXiwdDLLVU=c(4vt{M4i74vR7H@<0P4?L=+@%SaFRO&Q0w zy&g}whPd7)2GFSXOY_g8XoXi$aa znm3d~9}EWHzE;6c9aXwN^D-X@K}Kd(rtC*%wN%EF8Ot&Q8&kZuQoH{A?2;d;Q&52< zBoin+mf= z^wY;dEzZ>r%YX4p+d!X1w3p9xlyd^2VuT5O=p287M=l?n$uf|HU6%dHDi!G!`Y(k` zw-QGW`)j&2)ih4JDyhAiDQsby%ZC1EP22Z3_L>(WrdkO^^x#63+p1erWj~>9=kEl* zlj(L9aFUtByt>h8ft8ie|Jlh;5th_Crg7AXDqcwi0ew6jen0TT;;J&8pQ?=F6o(jE zI(ct}o24e|*KfgvCbnAJ8`4XfCh3{6_<hZ^_ndWvA$>>1+uW(sNm%+RP_MMR79Uz@ z6*Yb&Ai<3hHa$h%FhSC$fe{R=DgGu7x5$#Af8?_y*6j`_3^9V6^`&U-;L!~kjPCAM zqRnTI^&Z%UNaSW;Io)t}Fc<|4kzfCBImGC9Lw9&1-L8I-qXxcn!ep=qSiaxL z3&lEEMT=#?mydcwl|(tT%OxV0ilx7Y&U+6kxQqXv%5eEaZt^iXg-q3WEIkjWegsu? zk;whAB#RbG1#H?iSI}R>qTj!DcDe(+Eiu|Nq{$UmowW^W5nSTZNv@fx9CenPMsyYyd;9q z7+p?sy88mr{_u$a=YL5G%i3_tEHsIrD%6D!y-w?%3&GkD%ydK%&N`ivbv_Pm}K2U%-lwC07E;+Ras-` z#m?LCWgTzmER>%mr?WKLN|ek)7S}}T8q3dX-=LUioxAQ=yt6(izvUIB5lxY5QO2JP z!xR`Lq+UVnxUM;~omg0R5lerE5W+f>yRc^*u_^F2=a%pDV z$_Vr>s+5btnb6Z0AOFJTiN;)EW9HsLUhu8h*>Pa#H}wn!P!p#lU3Q08uzCHm zEEJO+46hf*zlQCameuvVECYVoFgz?%Ws{r!*PArs&Zi~`k{jw7c#mm%P?_nmT_7JC z9K5!caI~s5xUH3_&6(kRniUEuF-Ha{*WB1p)7xt)%{~!(nuo~|d;Iv0;W3Kc^W?1Q zDmD4-^qV`YZ(r;bo@#61(E@nyRMx@%ax1@*T6_iQ@%|G!SK&eh1svNM+aa-VBKy@Yw`v|KuO+dso+97UV+Wjif?gPKH z`?Z$JtVu_~$ln8}lt$_-Z(Rw?i21`90F%oAF`bJg*nj~;R;wdN-epSD4gnms3UHL$ z7mivBII8l^3P;&3bL@*>5qXzMqV%EtNY_vfu!4HIS}Z2O(JtkIE7%^2FlbyY$jT6- zLmTh|ZG~P_I{;s<1=72J;Y&M&FHf&f*_wtX#-4TVr^5w_Gq=5N|OLesgeMh7!;(sR=R;|xUMT(s< zCa>FsI|CgGHaNue*!;nnz2NTPO4LmKQU8TSVBWaLh|IFiEXJL?wF$8{NN&{OI~zL3 zOtVrCtSD}=o6d?d(9d@FlXt%kSU2(hjc|GphXKX{fDVV;Ke=zy@<0-c)oI*)zSph?Nh&N>fQR-5rIg{S^S6vOMP#OR{z8)EnT5!S?oSn$~CV>^TOYN297D@}{rVQF{WuBXz&Dj~n z`)xq#cEkRQpEF+ZUntHJhE2b^GA)*!=k|}t-7A6CGzPmV+4C&$T>s1&q%$D3dl$Fm zVX>#%AXyib9Rg;}8aF%3+1qgi*h|S6L9Wcah+nsKd|@hO)b`KW{w2D*H=J!1M^C?T zuYn@gV~HFW4Y>FD*|qTDO#{9GNt^h^8|w;{4qx`q<`9+3EDJoh-#1t-8_@H9Ov&}* zpzlG)UX|vx%*(vZcR3kv!!~HYnW82ZMDCdwh@_#F=FULJPV8Bne3Itjy>T{Eg}s&N z`1-oL#oV6Xc4G^fP3;Ye^)|5{2G(ozo~goyK^G;%XHy?b#hQ|e*xP-xil3@4=Bl}W zKiIhMvuor$CV(f7qW{HG=-WnTY(@=lwhYOhYu~>_saxdn&`j~5L!}zCocn1`1k*%E z_CeBfqA!FB%0A}@p-_?ce-lr1Y{%*){OxY6()2tbXsY^7mehkEUt#GMojC{7#8*8X z#}ue^wW}mL5?1GyUB$0g)Zch7o-=6CpI{lvK_51zvyq@QIJ%4z4-S;)ub$yr5_xirCJMx&V zg_O90I0QjbmWR#kAZX3+@Shk0yg`1NEt& zHd>k)pS+$tl6=Oy?`PDZjNH@lj~?w%zjf_F(2jq+-*$MMLQXr8`;(t0FZ6e>sEEKW zhdray6_Y5aXIm9*Ed2_Zt}nolN{Vh~Z84k=3}6L%iJoI3teUX*Dj^dkH&3aT+8tTEcSpJkWXaj@@} zmSjkz=&us0Do_}Oi3rj5ipVxAx$#Qgc_Sn%g_5^2fy7vJW`IFjmXq7CyOpF(HQVij zh2B0}d)zy8}7e+0gL!rwTM|CQE9xY7Cj&{m6 zr$mjG7Dc%(Uw(RsP*6E`pnZ8{vop3=!ZLo5p18Cx$;tO+l)T>Oir3@hs%z9@pTmJ& zh6c%JuW1%?0_`2U=lRQHid2YttuhV7Op{v^rywC9U; zQAN@T_foXHJ9sa2M`vSi-6)>ujGI&zen~^RE6W?+sr3v#Wf|z?v#i58P(i76sVD79 zy&hb2+h;lKd0KGIg}%A)oAxYMl-cWVY;r8f6mT=aXQ(b2b*$Spy*4)Vrs3=BC8 z<%|u_T5La`wXI91C+e#H&UI`C?+IpO=0|GD#02)s27}#Ig$z#3R3CZkWu(;1FL#n% zJW>vCyYOjxGA_PgBHBXl@xvoA?XK>#pQGd#W)eGpneLqCG<-{VT&;B^+P39g;Mi~I z+RVl2ZpFclQZ3KfoOeT4uN<7{tAIwEXontJzkE8?ww%iwq!|x(ADwsF(w%WbY5xXt zH>Zn{XXxY+oPNYGrI=jk&u+~)Y`0*=#n?IGnc=$MCyupwwon z&14N8X$3Y<@5EUK7?(pZiMZW)>GT~{fnOt zI1WmJAIaj~w+0+cQIr$w-9>Nm;R?$gHb%?Md8II$vmB&s&~glxUjs01;%-wT10vmT zke2vU8%Y~D7nOl*SqFACC1|2Escq{tuz9UaTSR{TVQ%(Z1}#XBh1j_u+?M#O(ot8c zh{-c?4gMB=iilkkHQc~)JDs0{6M9b#AM;Al0gF7}#(%73gwB2pCe;b$&*INT`(WHB@h`@wWGXxlhvl)^;pJSg1uO(o#simSuh=;gnKIpv|>zKw%TI!Y*r zA7|tX3$A6?C!r&O3&U;J;a(X>m zuvhcB@{qFFXXK^NXMzvTHCjYJXhhUDx@vL!^!T3SO?Zy8cbT)1Ar1Jia$kto-uGJe zc>$K+2M6q;C{DNFFIo^#1oadNUwzG$fO%804;%c)by85$CBiAZMfUL|ZqyUI1`Xd! zAd`oCe+Eh@p^{BtGg6p|A}6L3>#VY5@c}3EDJg4ln=4~ur}H02SkEem;zs?16=W-K z|5-xSPYB;#2wU)6B(?%f2U#)_uV;4TK641LrwC-M@WGORDJVJlPqD@DNNeV_S7n#T`o5bdr8OD&ExR%;-asRW%1b6v zei}HS@vnpY|7f4;4Jn+!rKS}*=Ic2IRy4ZP$YVnSF$f&1yi7{PEp$(0qwsDZ6GJTh zY5m%qjwM9|39oJH>uuwHDL8fd`7SSB0K< z6Ek((`AELlj>gVr`LG$xS>}eqhunDsbTm8oJ#Q$O%pbk|@)Nm=v(!~POxje~7*r-# zzMJ}{-eO^$NAVtoR|`&DR%rTtTi(s#+d}s7EiEc8q9!H;MOB>3<(9|dgQP%nu{gQ| zbLQ1Itil=G^t?fI=gb$ckJ|Li;KCju8~%m`&l1KNDX@w#3NIfigFmw8aaV(A7?r6I z+Nr9q)y8F6nU^SR1Pv%f_UdfiCvemdGJW2A9!N(@gqjfgBMdYSi%?=V&(ZImC=h+6 zTdGCEmyv3#%?5vrC~pwPT>%T(t}MhS_D^Z9l}!P2R!2flqVQ!INOe7Mt_AtbH&bIe zOSjngf;p=r5_ZP$RP^vEeLi(fAv@^?VKyM3n>0cdR?Py0MIFUA(+X>=bWQT5J zF!g`tpEwy949DHP2+5PBMo2YL!OtDgaug8-5Z!mftgQu-;H>UT>a>51tTiQ^TK)O# z7_qn#aT-{JUrYfV*-V)(^H_0{enQDLn%5mSj5gymX%QGU7S2Ndy-@UAoW4ckk1u_P-^( zl!lkTTfCi~7!WMS+$ct~sk>%Z>7G)z70?H4+?#8f^zvZ&Cy`5=6+v%6sOd|kU|Sk} z)a&bhp^9up;V*rVrj5!jv4>cpJHQinIMsj0GLKIb$##&s?fHvy$zqEgXozNnOxdib zX%1gNuMkG4?{TNJ!li=3N4AU6%+WY$IOb|oDO1GBG$S<53zk!4!X$VyMav0?GOg;K zBX3nvMc%2jqWE{q(FjLH=NQ53oFt zq2 zHeAEz-CY=4_BO;qc_jT-i);UF=G6)80|$9H6{&CP$X%HWio_$D^N;1$8i@usGgIXNY zulKIw6IJ`B7s<21 zDJ4M{GpP&Mbo&&hU8aN73XCwGI|r%y0yzr{P{*PL^cFD~btIYr*DIK!a{#!6Qkf10X3>SRf-*}H#@YYTls{?uPHu7~rGwgZPOr(0Lr``$x9tQxp6$U`QK2w#;GKp&f;R5;sgr=V16CtuSJ}#_q zN`#vQ(^e?xc)ISAq;!CDVoC`2SroS1may}9fvCR>{_G)>qBi6q!8ty&j)qx}%>+Pd z=CuLO9r6pY25h+-fEs+346$nLP2hqC^mle-mHvbQ{asn5zx6f<-YnJgW%Wvotl-mG zhTWJJ#EZ6Ap5?BYyhNCt9qzB#Or z$%adv_Jt+RI3Sd7S(rVfck2bOuVT^W(k@z7bIuXIxx-FZx$;nfy_-R9I!p~=s0_6w z)Q9E<9&x$Qyb_fLq5LQ(>)QF&)2vpQqSybV7O=_E9qG4M;;bsr;>POCSKJ--> z2a3S?lub3Q{Q|{(mBZI_6a+^9=KynvWgYVA(ao?r2PmywE8GX{6#M&{0B0NA4K5XA zyDc6QG;(Sh(@pyCoaZy$cC(e{jDYsK5&5$}Jo+bXAJF)B`fCkZMNPAk@2FXT{>^~a z#pnn3oBC=7)9h#&=e$6Kv;pstH$#nS@zEB>YoCRcGToNi;#2|RA9c|Bz*VdMwZgsk?B-qAk9rhJSI(gg zGt->l<*K(uinc{P`Uyh3s5hRX z#5Wz)a!lL1X+(_fr5JMR^nCYH`mnk7#o(z5bwF=smAffi^xGt;$LbZ&(0h8t_?Z=d5q<4^5a8Oob|_7 zBJx$#2RA|tjLh>rFUtT~~U=!mu63s+N%44;RK` U-8NnapZy@qL$+pxCWO%c0Q^;^CjbBd diff --git a/src/lay/lay/doc/images/drc_transformed1.png b/src/lay/lay/doc/images/drc_transformed1.png index ee33932d0c0cc18f88c9ca30846b1afa5641653b..d232cbd6ecf9e4d700a54c4467065c29c64163f7 100644 GIT binary patch literal 5884 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 F3ivf;{4n|_Wrpv`C4qbMvTBc+ zXE@FzXq2e12xi5W>2KMnnxQFbvW{|2vVOxSfR``)*%1AC@$LsgtioK3|B{_^we8 zkb)TLw9jx&%U)z)3Q?;`dS-4S+oKrHX$Piw!f z$r_CfxG{UUy+Qh`QD)FbuVVXOA88ozOoJ0lve+M{V2Gcf=>~>W^@Kc@V5uS^Y);qg zr@13Q7p+EZyF((UfeqOu^e~cyka~aLMc*LTc70lj-x+{&)(QH|FVAQ%$$nX`Q(-L` zuCwSp`-5DW162Qw$`1uZgB=Yo<2Ph`#{mP3ue@>X_?A^%aCZ)b6ej=Y3D0d&`VGsffH%f4@4B`2$cZ353Hx&sJv zUXlwHNI>6lf1jss(oSn=7f@6Hu~Xx%7>$f@_>4>;`L%cfd1tHbE;nGDfcs~SjbR&^4 zeDmwqUio8oC<&mrdqUrWTH!|iUe}1YfcAjQbt?DpCzex8wG7B#kXIn3_+RT6hxwrq z$R0(cv5H6E(}pb@oAX0n^F!k@%PQZ{jT^TU!#O|=_hlDDN!g9Xf?n1+qMP>v zs?9lyB4>dmP5vSUgJc?t-yKx3-+^3jRY^s)y?agUfO?>ouYoQM%Mqq2bFx_N{b=vw zsBgiMfu&#@MF8&`!HK4|3(01z5;x4!CK$WB+u&d{TG#Zy_5kQQr>Y1ilx8{{r~S&Eo#Q0rL4QNWv5_gqrjVLeRwTvC4-ZpvhzeQ#{tFs#sjOou<%K`1d@N!f)}k zi{!r=%abhsR-wSNi#V8DY*EU_AbY$>2HIMJ$~GRcZA>1RvZ8L80mIkzk?Q4NrJ~P7 z^qu~pAVb?LPW!JB#Y&8H=Kp*~u}DhH9O9=ZafWnKu@~1CV+@dP!n7L^&cIX}bozvy K^)oBfjsF1GP>sd_ literal 5809 zcmbtYdpy(o|DS6vjnqNSU3EHT5^`rk(#Z+Obtvq(SC_&)F@6m9vdvzVCJ@E7~fz@vD?Y4>OlNa_v$BT%RzrNG~e zv4+Q3`Go1Dm_}n~wgzF`!>Gb)cHsCWcU>!xHFxcMwQ!|F0)4oD&|* zjfUJB>fD`!`0~9~)HMKKH}AfWxx-h<-QbMl*pa2w*V>unySF6R4M$AM&33*WS%_b- z0!4g~UJwFhxC+Zh5IJP==O|UOV;-E2 z=41 zr`=U@Ah%pCs&cxEyl(%=e313jgX*^${E^>;fLOEO;JHl|0^Vi{>NbA zu>7~Lc-|{?$K1?xS{id8PM>4ry%g5i>siwreVTj-`pCTHwdcdc$r~_bud*^`t7%0? zcDPYSS^5x9zNd=G^Cl#mR)07|+CJf3MB@Qh;bm3+H;bE6SzXk`xYHdA z3x>(a<@ogK4|qWh?d(GF7b~r~e)`GvS69--Jy+Ac_aFJ!O+L`C4Cfa9wgqYMS>Kvu z)>;L+T8lmFxmHDG3ul}q_H;)zc_#RKdLNFDMJ}-;ASR5JAP#84B z>g}c0{-9JfqjKv_yEkrgSMH&4_MV}TL&5K!aa;s-?q0lEZTiq_b>Y#kY~>y z7*GMN-E7vPUc7Qa^x4gMjGI6A!BlOPGP64|HKi+(Gv55$=BwCwG^sHO$?Qm^Fw#`= zismd_YgRe!1N6q8)}{Dz`Dn7*9ATE)9Z$@WFbrpu`nLT1mnd3Uf3eRxPe*I%)G~M2 z&@lBiyPX~M(QU8((V>pl)Y&4m{e9(cQ5}Pf@qQDV6_#rJ&tcv-I-==`KWDhgRF@(N zI+HOU1eFdu6VH^?KI7DJ-;HEwe}qukN2a-UOyP>9uythS3f@NhKPjcX=YM4&RV*kb z8-ltSJVU`#Bn6(qU@u*hQiP{cE6y7ckqPUh_ z$M8%SE)jYxNRCuIu|rXaeDJ;)^vTy)0k`|hN{XDKaas7lnD@kGiDk{lkpYppA~6&* ztmrUB9h-r)7Q>8(|L72hK5-0_Ry=@pwK?8VfzS?rmPo$32kr^T9zh5wNy@^J43O~& z6}jHp;A9^zHq<#ey-5DZNYf=YLLhKl8J-;$AOk-^QWvH!HYG8H>&U;#Nv7q`WX-vC5 zP7GS&De&)0C|Th=EVM%$Ga!>684Rb~4;qX5Domx8%o@f6N-afD48shmUcfQT zkn&v^RN-%T)l%Vilcttn*5^L|Wn#Mw{L>yaEQ&Coa0r{VA1k$*NT3r4gtj5a7`@lOChB2bM-jRi;)~rar7d zxcq(y2Z|I%3F$~02ECLYuN`9qW#LKm{bVK?sl^v~#VO`#jDd=Ym zJ5WX|zJxX8N28mZB2r44+uuwr$IqTjH&yoTVfxOknlOmRFucBFL5eM-i{~an#m)M1 z3y1rbXILp|N{WP-6eV@+tV7fLv)?w1@3{~3=K7aASG9a*o|)d5R>$F~MKGvStPXmD zc_z3=*&H`XtSq$)7&!2w^-T{{o^Pv$fsU=T9#myY7rnxqezO+EUdwJRvIe6cj1;|P zzAq_n*Ty|ZxSUjRy~svf-M+Y^^kBX|(%@qMbRb6EHo>i&>&tzbsrmR27aLV3ZL65+ zUtY6TaR=63mS19LpS^!ue0GU6SyT_RyAvA5Mht%UU_LsEbLH@6kD6BuG0M%9r7P|v zDQrew`t!-yop^msw6iC}8j#Jf0M`1kXH;?ZeYyVG5La10K-BT)>R81a?#(yd zlb$11RdIg`uky{m1VJh2*jhd4kxhj|KJ88_mDVueV&BNX<6b;^U-g$4pM)U)=0r)3 zi%3zSf*H6{47vjl?uU9v2!_il+Z%P8q{Ut6kym-tmCU`XcXGw_WI{Tfodi+;3n?3E z@q=juYMSZ%bjj>WL}N2z-7Sorc5-nJ#bm^DH;Sv5XdOMUv3)9y_Z1wgbv-TZ*@*E| zDkwuivQ#X3WSV{4uvD5X)et9y2DLN;?egYrI~^1%vB z-cj`QKqns)r8FQ_5LY8VRF2^zjqHb_BuZ(Hi%crKxi9x1vaOD|;e0VR38MHrv5u(R z3j&J&Iim1HKv3CM@{Rxym<)2T_Avrf?8mVkh>I2hhs789SP|EQ8f;7DVvl1Fvi}LQ z2=hYE;)kL({n%OTj^hB}0D3)m!+mIySZ4u7O8~h24}9HlKa-ULVA0VMOa>P{RqJM6 zgF(UD1*4D(|0)JG8L=OCEiZ4E(Sw@I3V;Fcf&7a5q4WXrb0Ah`0e(Leb@|t#@I&2F z{Ts7Z0YO)m_%;juTU?i&ng^zWB2I$IQpqQT0FVOt6)bw1zXhXz4XWefqV77kftxU6 zw5c+3DnN4sPhVh+p1(|TLN2xHj&oAFA8Ns1p+990Pn}oLbBZO?mYUbA=_dDwNN(0I z=AS6jJ?so`SMBQ4?;w%dRT&KVO%kIvHtd1ICYPJE$%%UOGJ**D`(^Y&hY%$VWoafh7)`f^>eQUh9OgJ|NeVnAB z4GR+*{Jk>LxM)19EoztMeY_5NW~E`fUXGDV28|!Rm~g4l*0GHn*{O$#3e^c|?ncs8 z`nxgXC1oRgz9|h%ZX46pfMio%ZnN5@_o^g{hm?eJdD)v~r$`549pjcB8&UMGWygcZ zIea^S3azjU_?=j(KIFA9si&2Y&)TqPXQ=~))mQgU1BXX?D-=D=g`lKyI|1NZbNR4E zo(0a0AB^Xp`(;QOyG*&(p^7`I-;{KR2)vje*`hvl@jbMLK|2+|XC5Lndy*J+69%wn zq3>(Tl_dx`8w~u?cxH4nLl9ha7vJHA6!tgJ&2%H(0fT>W)qK zkXj)cS)_$n^!N{6R7laeZQMWyDIS`lA&>6pFE69T08+LbClIUv)my2Tdglf8@LJv-FQG9m^(}d#b|?(8y15swJ~WyC*bX~_YbTA zehXBfef?E@+Pf6n_$8tBY4Dua45cT=;I;AacQZNw-iB_VoBK6Zhb)pQBDTd2vY zQLR(Dc@Wnq3@+c0dEW#`slZ?_pZWy-fX?6=&?m}J2SvAd?;y!|c#H3$s@YrBAb4r3 z3ict2!-S3KYyj#SM%2Mm50<+4aL5SVx`f)h&{oOix0ln7NC90WoXOq>93afi;SdfF zb2C35VD0~Pv+{B#OQm}ykfSwtH(%ZYEV;{-2_q{54Jju2@Lx7Y>ox1#rSz;H^3^ck3Ka}#8TE`C;T0i!9pz&pT$KG(N#~{K#=?O|sm-+*gu~7;PJ64Q$P*l0t z>XMv7#Ti9SfDm40LF5+mP!?=NY;Ic?%E8^L%4`P^dx`4kddy>K+g(8Tga2Af=s~~z zq#5!_Auhiy>t!H73a$jc0j=Evx>sNrjpqmeA2#G|1((-L{dc9pN7b+;2c4-7Aw8ME z%S#rZGz0+HNw7xqz3ufaOR%JoH5tOmIlmuUa@2#`n>(Nd7;vp7x(y)78Hr%{yV~wP zooxkbgus2kog6O)4HPfb>mQ2dk8nN%N+DdV@bAPk)f3z6Ck{kQJ0L7AYDtb^8c9Qv zArt7BC;BzoUPtlI+`tx zqX-u(pTP*ahOCOsZedh@u@>*TB=U|Vv_|r7Vsy_d3>LcS?3?02uQ*oY=EJ&77n2NQ zFq&%j%J0*P&vgN3`uirSi8MDlA@{)F$-wm?;lg_fhF(Xpl>@GKX{VAKtm9G=Tbr3r zfouRLdzL#8Ci^RL9|EM<;1XAH#oavidfe! zpSB-bpI<=l_~V=(eniPt4~PcJORb}(;Q#dO0nl)yd@*=!Ic&(*)awnfU4gq!pq_(6I4Vp(6?yVoMS;lbnxhpqR5lf#&$Jo+qtRmt4c7*CTBMjcNoY{KtMjozC6E57SZB~on1QN-oil?OCdEj%kA1TL@guH2p6X+ zY8#${eoWJROjDBcv}}_J18>h2I`Y-oYNKI?0IPJnJnhU{bOyn7F*RH7$t*#wYEE1ZRwNs4~%$&wg3PC diff --git a/src/lay/lay/doc/images/drc_width1.png b/src/lay/lay/doc/images/drc_width1.png index b14ce9ddf594d600ebdd940c39a2f47dea1e3f92..8fa847a504e8b823669d5aba4eb5362cf7b92267 100644 GIT binary patch literal 5046 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 literal 5000 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 diff --git a/src/lay/lay/doc/images/drc_width2.png b/src/lay/lay/doc/images/drc_width2.png index c9503e1823ddc187bc6cff0429a67aa29ab48d10..1448ababbdf713106f43b5b3220259c38baf35c5 100644 GIT binary patch literal 4858 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 diff --git a/src/lay/lay/doc/images/drc_width3.png b/src/lay/lay/doc/images/drc_width3.png index 23287c77da241b6ee4d24b615de12179f8a1fba6..2b4af24d90d91e96c89f25f4807a87a20ea70ee6 100644 GIT binary patch literal 5042 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 DYl7jL literal 4997 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 diff --git a/src/lay/lay/doc/images/drc_width4.png b/src/lay/lay/doc/images/drc_width4.png index 1e706274fec848b3842bb28edf1d40d2fdb66a84..727007a4b71c53f8f564bf514a1b511a65aa04c5 100644 GIT binary patch literal 5397 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 literal 5338 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

3#zQ~JHABAfO>DPiXq$SKCp*)5 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 diff --git a/src/lay/lay/doc/images/drc_with_angle3.png b/src/lay/lay/doc/images/drc_with_angle3.png index 26ed55013967b6107c2b6997bf2e43f8c04df99b..1aa664498244e38218ff0a309538c6f1acdfb5ed 100644 GIT binary patch literal 5595 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 literal 5563 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 edD&aCDNs1%Oo1dSCDBeO=dmXIsu#UOwlm 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 literal 5517 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 ODDqBCdBx;dLH9z`)x<_U>ks)jSk&d;2 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 psd, "G" => pgate, "W" => nwell, + "tS" => psd, "tD" => psd, "tG" => poly, "tW" => nwell }) + +# NMOS transistor device extraction +extract_devices(mos4("NMOS"), { "SD" => nsd, "G" => ngate, "W" => bulk, + "tS" => nsd, "tD" => nsd, "tG" => poly, "tW" => bulk }) + +# Define connectivity for netlist extraction + +# Inter-layer +connect(psd, contact) +connect(nsd, contact) +connect(poly, contact) +connect(ntie, contact) +connect(nwell, ntie) +connect(ptie, contact) +connect(contact, metal1) +connect(metal1, metal1_lbl) # attaches labels +connect(metal1, via1) +connect(via1, metal2) +connect(metal2, metal2_lbl) # attaches labels + +# Global +connect_global(bulk, "SUBSTRATE") +connect_global(ptie, "SUBSTRATE") + +# Extract, simplify + +netlist +join_symmetric_nets("*") +netlist.simplify + +# Compare section + +compare + diff --git a/testdata/lvs/nand2_split_gate.lvsdb b/testdata/lvs/nand2_split_gate.lvsdb new file mode 100644 index 000000000..b37d55d89 --- /dev/null +++ b/testdata/lvs/nand2_split_gate.lvsdb @@ -0,0 +1,407 @@ +#%lvsdb-klayout + +# Layout +layout( + top(NAND2_WITH_DIODES) + unit(0.001) + + # Layer section + # This section lists the mask layers (drawing or derived) and their connections. + + # Mask layers + layer(l3 'NWELL (1/0)') + layer(l4 'POLY (5/0)') + layer(l8 'CONTACT (6/0)') + layer(l11 'METAL1 (7/0)') + layer(l12 'METAL1_LABEL (7/1)') + layer(l13 'VIA1 (8/0)') + layer(l14 'METAL2 (9/0)') + layer(l15 'METAL2_LABEL (9/1)') + layer(l7) + layer(l2) + layer(l9) + layer(l6) + layer(l10) + + # Mask layer connectivity + connect(l3 l3 l9) + connect(l4 l4 l8) + connect(l8 l4 l8 l11 l2 l9 l6 l10) + connect(l11 l8 l11 l12 l13) + connect(l12 l11 l12) + connect(l13 l11 l13 l14) + connect(l14 l13 l14 l15) + connect(l15 l14 l15) + connect(l7 l7) + connect(l2 l8 l2) + connect(l9 l3 l8 l9) + connect(l6 l8 l6) + connect(l10 l8 l10) + + # Global nets and connectivity + global(l7 SUBSTRATE) + global(l10 SUBSTRATE) + + # Device class section + class(PMOS MOS4) + class(NMOS MOS4) + + # Device abstracts section + # Device abstracts list the pin shapes of the devices. + device(D$PMOS PMOS + terminal(S + rect(l2 (-575 -750) (450 1500)) + ) + terminal(G + rect(l4 (-125 -750) (250 1500)) + ) + terminal(D + rect(l2 (125 -750) (500 1500)) + ) + terminal(B + rect(l3 (-125 -750) (250 1500)) + ) + ) + device(D$PMOS$1 PMOS + terminal(S + rect(l2 (-625 -750) (500 1500)) + ) + terminal(G + rect(l4 (-125 -750) (250 1500)) + ) + terminal(D + rect(l2 (125 -750) (450 1500)) + ) + terminal(B + rect(l3 (-125 -750) (250 1500)) + ) + ) + device(D$NMOS NMOS + terminal(S + rect(l6 (-575 -450) (450 900)) + ) + terminal(G + rect(l4 (-125 -450) (250 900)) + ) + terminal(D + rect(l6 (125 -450) (500 900)) + ) + terminal(B + rect(l7 (-125 -450) (250 900)) + ) + ) + device(D$NMOS$1 NMOS + terminal(S + rect(l6 (-625 -450) (500 900)) + ) + terminal(G + rect(l4 (-125 -450) (250 900)) + ) + terminal(D + rect(l6 (125 -450) (450 900)) + ) + terminal(B + rect(l7 (-125 -450) (250 900)) + ) + ) + + # Circuit section + # Circuits are the hierarchical building blocks of the netlist. + circuit(NAND2_WITH_DIODES + + # Circuit boundary + rect((0 0) (3750 6150)) + + # Nets with their geometries + net(1 name(B) + rect(l4 (350 2750) (550 400)) + rect(l4 (0 -2050) (250 3100)) + rect(l4 (-250 0) (250 1650)) + rect(l4 (-250 -5800) (250 1050)) + rect(l4 (-250 300) (250 1050)) + rect(l8 (-700 400) (200 200)) + rect(l11 (-300 -300) (400 400)) + rect(l12 (-201 -201) (2 2)) + ) + net(2 name(A) + rect(l4 (1900 3400) (550 400)) + rect(l4 (-800 -2700) (250 3100)) + rect(l4 (-250 0) (250 1650)) + rect(l4 (-250 -5800) (250 1050)) + rect(l4 (-250 300) (250 1050)) + rect(l8 (250 1050) (200 200)) + rect(l11 (-300 -300) (400 400)) + rect(l12 (-201 -201) (2 2)) + ) + net(3 + rect(l8 (1300 300) (200 200)) + rect(l8 (-200 -200) (200 200)) + rect(l8 (-200 300) (200 200)) + rect(l8 (-200 -200) (200 200)) + rect(l8 (-200 650) (200 200)) + rect(l8 (-200 -200) (200 200)) + rect(l8 (-200 300) (200 200)) + rect(l8 (-200 -200) (200 200)) + rect(l11 (-250 -2150) (300 900)) + rect(l11 (-300 -900) (300 850)) + rect(l11 (-300 500) (300 900)) + rect(l11 (-300 -900) (300 850)) + rect(l6 (-400 -2200) (500 900)) + rect(l6 (-500 450) (500 900)) + ) + net(4 name(OUT) + rect(l8 (2050 300) (200 200)) + rect(l8 (-200 300) (200 200)) + rect(l8 (-200 650) (200 200)) + rect(l8 (-200 300) (200 200)) + rect(l8 (-950 2000) (200 200)) + rect(l8 (-200 -200) (200 200)) + rect(l8 (-200 300) (200 200)) + rect(l8 (-200 -200) (200 200)) + rect(l8 (-200 300) (200 200)) + rect(l8 (-200 -200) (200 200)) + rect(l11 (500 -5350) (300 850)) + rect(l11 (-300 -50) (300 1950)) + rect(l11 (-300 -1400) (300 850)) + rect(l11 (-300 300) (450 400)) + rect(l11 (-1200 -300) (1050 300)) + rect(l11 (-1050 1150) (300 1400)) + rect(l11 (-300 -2700) (300 1950)) + rect(l12 (699 -2001) (2 2)) + rect(l2 (-1101 1299) (500 1500)) + rect(l6 (250 -5500) (450 900)) + rect(l6 (-450 450) (450 900)) + ) + net(5 name(VDD) + rect(l3 (0 2950) (3750 3200)) + rect(l8 (-3200 -1800) (200 200)) + rect(l8 (-200 300) (200 200)) + rect(l8 (-200 300) (200 200)) + rect(l8 (1300 -1200) (200 200)) + rect(l8 (-200 300) (200 200)) + rect(l8 (-200 300) (200 200)) + rect(l8 (700 -800) (200 200)) + rect(l8 (-200 300) (200 200)) + rect(l11 (-2650 -1200) (300 1600)) + rect(l11 (1200 -1600) (300 1600)) + rect(l11 (600 -1200) (300 1200)) + rect(l13 (-2650 -800) (200 200)) + rect(l13 (-200 300) (200 200)) + rect(l13 (1300 -700) (200 200)) + rect(l13 (-200 300) (200 200)) + rect(l13 (700 -700) (200 200)) + rect(l13 (-200 300) (200 200)) + rect(l14 (-3150 -850) (3750 1000)) + rect(l15 (-101 -851) (2 2)) + rect(l2 (-3201 -851) (450 1500)) + rect(l2 (1000 -1500) (450 1500)) + rect(l9 (400 -1200) (600 1200)) + ) + net(6 name(VSS) + rect(l8 (550 1650) (200 200)) + rect(l8 (-200 300) (200 200)) + rect(l8 (-200 -2050) (200 200)) + rect(l8 (-200 300) (200 200)) + rect(l8 (2200 -550) (200 200)) + rect(l8 (-200 300) (200 200)) + rect(l11 (-2650 -50) (300 1350)) + rect(l11 (-300 -2400) (300 1050)) + rect(l11 (2100 -1050) (300 1200)) + rect(l13 (-2650 -1100) (200 200)) + rect(l13 (-200 300) (200 200)) + rect(l13 (2200 -700) (200 200)) + rect(l13 (-200 300) (200 200)) + rect(l14 (-3150 -850) (3750 1000)) + rect(l15 (-101 -851) (2 2)) + rect(l6 (-3201 1399) (450 900)) + rect(l6 (-450 -2250) (450 900)) + rect(l10 (1850 -900) (600 1200)) + ) + + # Outgoing pins and their connections to nets + pin(1 name(B)) + pin(2 name(A)) + pin(4 name(OUT)) + pin(5 name(VDD)) + pin(6 name(VSS)) + + # Devices and their connections + device(1 D$PMOS + location(1025 4950) + param(L 0.25) + param(W 1.5) + param(AS 0.675) + param(AD 0.375) + param(PS 3.9) + param(PD 2) + terminal(S 5) + terminal(G 1) + terminal(D 4) + terminal(B 5) + ) + device(2 D$PMOS$1 + location(1775 4950) + param(L 0.25) + param(W 1.5) + param(AS 0.375) + param(AD 0.675) + param(PS 2) + param(PD 3.9) + terminal(S 4) + terminal(G 2) + terminal(D 5) + terminal(B 5) + ) + device(3 D$NMOS + device(D$NMOS location(0 -1350)) + connect(0 S S) + connect(1 S S) + connect(0 G G) + connect(1 G G) + connect(0 D D) + connect(1 D D) + connect(0 B B) + connect(1 B B) + location(1025 2000) + param(L 0.25) + param(W 1.8) + param(AS 0.81) + param(AD 0.45) + param(PS 5.4) + param(PD 2.8) + terminal(S 6) + terminal(G 1) + terminal(D 3) + terminal(B 6) + ) + device(4 D$NMOS$1 + device(D$NMOS$1 location(0 -1350)) + connect(0 S S) + connect(1 S S) + connect(0 G G) + connect(1 G G) + connect(0 D D) + connect(1 D D) + connect(0 B B) + connect(1 B B) + location(1775 2000) + param(L 0.25) + param(W 1.8) + param(AS 0.45) + param(AD 0.81) + param(PS 2.8) + param(PD 5.4) + terminal(S 3) + terminal(G 2) + terminal(D 4) + terminal(B 6) + ) + + ) +) + +# Reference netlist +reference( + + # Device class section + class(PMOS MOS4) + class(NMOS MOS4) + + # Circuit section + # Circuits are the hierarchical building blocks of the netlist. + circuit(NAND2_WITH_DIODES + + # Nets + net(1 name(A)) + net(2 name(B)) + net(3 name(OUT)) + net(4 name(VSS)) + net(5 name(VDD)) + net(6 name($1)) + + # Outgoing pins and their connections to nets + pin(1 name(A)) + pin(2 name(B)) + pin(3 name(OUT)) + pin(4 name(VSS)) + pin(5 name(VDD)) + + # Devices and their connections + device(1 PMOS + name('1') + param(L 0.25) + param(W 1.5) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 5) + terminal(G 2) + terminal(D 3) + terminal(B 5) + ) + device(2 PMOS + name('2') + param(L 0.25) + param(W 1.5) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 5) + terminal(G 1) + terminal(D 3) + terminal(B 5) + ) + device(3 NMOS + name('3') + param(L 0.25) + param(W 1.8) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 4) + terminal(G 2) + terminal(D 6) + terminal(B 4) + ) + device(4 NMOS + name('4') + param(L 0.25) + param(W 1.8) + param(AS 0) + param(AD 0) + param(PS 0) + param(PD 0) + terminal(S 6) + terminal(G 1) + terminal(D 3) + terminal(B 4) + ) + + ) +) + +# Cross reference +xref( + circuit(NAND2_WITH_DIODES NAND2_WITH_DIODES match + xref( + net(3 6 match) + net(2 1 match) + net(1 2 match) + net(4 3 match) + net(5 5 match) + net(6 4 match) + pin(1 0 match) + pin(0 1 match) + pin(2 2 match) + pin(3 4 match) + pin(4 3 match) + device(3 3 match) + device(4 4 match) + device(1 1 match) + device(2 2 match) + ) + ) +) diff --git a/testdata/lvs/nand2_split_gate.oas b/testdata/lvs/nand2_split_gate.oas new file mode 100644 index 0000000000000000000000000000000000000000..f0163a8d48986a0cac9459b80b0d753db7c1df0a GIT binary patch literal 1150 zcmd^8ziS#%9DncLop;{TCVDTV5kn{;rA<{5rxr@-=^e?zc}njz>2yOf1WI?M3K<+y zaBwIg4N@F}I5=d;=ukok85}~V3<-qN!KsvzL5h^VJB=06|DX@vwdbzi`c4JA%ntyNpm(u!)LyA%f#97<;`4$2(LnI>Hn1#`w4O+XL<-(QG5 za?;XrDq<)-hB24P=vfmX$322H!(~}F;}&8zlh$7&j*=sU`DEI#Xg2atdc44%lxoTP zGUBN)hB2GdtgI1WZ1f#P<5IFeRr6lCqDFeN1idp56Bw`8nfFo zl^7{8zlAbi=Bo%ZyD&2y%#g?>K9@20&P|fy1$*f2FH#Y79t24N)jd7&=pbP zJZG>YT(A(*Q`{g@`8EScrJsZlx^=BdE?5D8;}>6>kkl%%GVfN$A6Y`ReiA|2RV(u+ z5xVDl7$POU#eDX4`J)5|mw1vqIu-W Date: Thu, 27 Feb 2020 13:46:52 +0100 Subject: [PATCH 08/10] Added one more test case. --- src/db/unit_tests/dbNetlistCompareTests.cc | 40 ++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/src/db/unit_tests/dbNetlistCompareTests.cc b/src/db/unit_tests/dbNetlistCompareTests.cc index 0b06a7a04..fe6749094 100644 --- a/src/db/unit_tests/dbNetlistCompareTests.cc +++ b/src/db/unit_tests/dbNetlistCompareTests.cc @@ -3736,6 +3736,46 @@ TEST(25_JoinSymmetricNets) ) } +TEST(25b_JoinSymmetricNetsMultiple) +{ + const char *nls = + "circuit NAND2 (A=A,B=B,OUT=OUT,VSS=VSS,VDD=VDD);\n" + " device PMOS $1 (S=OUT,G=A,D=VDD) (L=0.25,W=1);\n" + " device PMOS $2 (S=VDD,G=B,D=OUT) (L=0.25,W=1);\n" + " device PMOS $3 (S=VDD,G=C,D=OUT) (L=0.25,W=1);\n" + // NOTE: $1 and $2 are separate nets, but can be joined due to symmetry + " device NMOS $4 (S=$1,G=A,D=OUT) (L=0.25,W=1);\n" + " device NMOS $5 (S=$2,G=A,D=OUT) (L=0.25,W=1);\n" + " device NMOS $6 (S=$3,G=A,D=OUT) (L=0.25,W=1);\n" + " device NMOS $7 (S=$1,G=B,D=$4) (L=0.25,W=1);\n" + " device NMOS $8 (S=$2,G=B,D=$5) (L=0.25,W=1);\n" + " device NMOS $9 (S=$3,G=B,D=$6) (L=0.25,W=1);\n" + " device NMOS $10 (S=$4,G=C,D=VSS) (L=0.25,W=1);\n" + " device NMOS $11 (S=$5,G=C,D=VSS) (L=0.25,W=1);\n" + " device NMOS $12 (S=$6,G=C,D=VSS) (L=0.25,W=1);\n" + "end;\n"; + + db::Netlist nl; + prep_nl (nl, nls); + + db::NetlistComparer comp; + comp.join_symmetric_nets (nl.circuit_by_name ("NAND2")); + + nl.combine_devices (); + + // NOTE $1 and $2 are joined because they are symmetric + EXPECT_EQ (nl.to_string (), + "circuit NAND2 (A=A,B=B,OUT=OUT,VSS=VSS,VDD=VDD);\n" + " device PMOS $1 (S=OUT,G=A,D=VDD) (L=0.25,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device PMOS $2 (S=VDD,G=B,D=OUT) (L=0.25,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device PMOS $3 (S=VDD,G=C,D=OUT) (L=0.25,W=1,AS=0,AD=0,PS=0,PD=0);\n" + " device NMOS $4 (S=$1,G=A,D=OUT) (L=0.25,W=3,AS=0,AD=0,PS=0,PD=0);\n" + " device NMOS $7 (S=$1,G=B,D=$4) (L=0.25,W=3,AS=0,AD=0,PS=0,PD=0);\n" + " device NMOS $10 (S=$4,G=C,D=VSS) (L=0.25,W=3,AS=0,AD=0,PS=0,PD=0);\n" + "end;\n" + ) +} + TEST(26_JoinSymmetricNets) { const char *nls = From 4cfe6ba2b9ffb58b06cd07b5069c2e843e21a8da Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Thu, 27 Feb 2020 14:34:16 +0100 Subject: [PATCH 09/10] Implemented #482: updated documentation. --- src/lay/lay/doc/manual/lvs_symm_nodes.png | Bin 0 -> 9220 bytes src/lay/lay/doc/manual/lvs_tweaks.xml | 46 ++++++++++++++++++++++ src/lay/lay/layHelpResources.qrc | 1 + 3 files changed, 47 insertions(+) create mode 100644 src/lay/lay/doc/manual/lvs_symm_nodes.png diff --git a/src/lay/lay/doc/manual/lvs_symm_nodes.png b/src/lay/lay/doc/manual/lvs_symm_nodes.png new file mode 100644 index 0000000000000000000000000000000000000000..faf82bdf312fb982b7a48ba23ced553451ebd21a GIT binary patch literal 9220 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%0A84h(!F;yOC+_&y@F_|UYPpfzc}`t&e;AKA_;Y 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 sets a flag () which prevents purging of abstract circuits.

+

Joining of symmetric nodes

+ +

+ Sometimes it is possible to omit connections in the layout because these + will not carry any current. This might simplify the layout and allow denser + packing, but finally there is a mismatch between schematic and layout. + In general, connections can be omitted if they would connect symmetric + nodes. When symmetric nodes are swapped, the circuit will not change. + Hence they will always carry the same potential (at least in theory) + and a connection between them will not carry any current. So it can + be omitted. +

+ +

+ The following picture describes such a situation known as "split gate configuration". + In this case, the N1 and N2 are identical: swapping them will not change the circuit's + topology. Hence, they will carry the same potential and the red connection is not required physically. + But without such a connection, the parallel transistors (top pair and bottom pair) will not be recognized + as parallel and the pairs will not be joined into one each: +

+ +

+ +

+ +

+ KLayout provides a feature which will add such connections after extraction + of the netlist: +

+ +
join_symmetric_nets("NAND2")
+ +

+ This function will analyze the circuit "NAND2" in the extracted netlist and connect all symmetric + nodes within it. If this function is called before "combine_devices" (e.g. through + "netlist.simplify"), this connection is already present then and parallel devices + will be recognized and combined. +

+ +

+ The argument to "join_symmetric_nets" is a glob-style pattern. "*" will analyze and + modify all circuits, but at the price of potentially introducing unwanted connections. + Hence the recommendation is to use this feature on circuits which are known to + need it. +

+

Purging (elimination of redundancy)

diff --git a/src/lay/lay/layHelpResources.qrc b/src/lay/lay/layHelpResources.qrc index 34dbc7efd..d6ba81d93 100644 --- a/src/lay/lay/layHelpResources.qrc +++ b/src/lay/lay/layHelpResources.qrc @@ -181,6 +181,7 @@ doc/manual/lvs_io.xml doc/manual/lvs_compare.xml doc/manual/lvs_tweaks.xml + doc/manual/lvs_symm_nodes.png doc/manual/lvs_connect.xml doc/manual/inv.png doc/manual/inv_no_transistors.png From d315f84cab705d52906739ee80a224654734a898 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Thu, 27 Feb 2020 15:46:34 +0100 Subject: [PATCH 10/10] Attempt to fix Windows build error. --- src/tl/tl/tlEnv.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tl/tl/tlEnv.cc b/src/tl/tl/tlEnv.cc index 9b3e03e89..1c76b99c6 100644 --- a/src/tl/tl/tlEnv.cc +++ b/src/tl/tl/tlEnv.cc @@ -44,7 +44,7 @@ std::string get_env (const std::string &name, const std::string &def_value) std::wstring wname = tl::to_wstring (name); wchar_t *env = _wgetenv (wname.c_str ()); if (env) { - return tl::to_string (QString ((const QChar *) env)); + return tl::to_string (std::wstring (env)); } else { return def_value; }