From 2c73cfe76c0ed61fd2fc46be517200f7ed085e2d Mon Sep 17 00:00:00 2001 From: Jean-Paul Chaput Date: Mon, 28 Oct 2019 18:09:14 +0100 Subject: [PATCH] Migrating the initialisation system to be completely Python-like. * New: In bootstrap/coriolisEnv.py, add the "etc" directory to the PYTHONPATH as initialization are now Python modules. * New: In Hurricane/analogic, first groundwork for the integration of PIP/MIM/MOM multi-capacitors. Add C++ and Python interface for the allocation matrix and the list of capacities values. * Change: In Hurricane::RegularLayer, add a layer parameter to the constructor so the association between the RegularLayer and it's BasicLayer can readily be done. * Change: In Hurricane::Layer, add a new getCut() accessor to get the cut layer in ViaLayer. * Change: In Hurricane::DataBase::get(), the Python wrapper should no longer consider an error if the data-base has not been created yet. Just return None. * Bug: In Isobar::PyLayer::getEnclosure() wrapper, if the overall enclosure is requested, pass the right parameter to the C++ function. * Change: In AllianceFramework, make public _bindLibraries() and export it to the Python interface. * Change: In AllianceFramework::create(), do not longer call bindLibraries(). This now must be done explicitely and afterwards. * Change: In AllianceFramework::createLibrary() and Environement::addSYSTEM_LIBRARY(), minor bug corrections that I don't recall. * Change: In SearchPath::prepend(), set the selected index to zero and return it. * Change: In CRL::System CTOR, add "etc" to the PYTHONPATH as the configuration files are now organized as Python modules. * New: In PyCRL, export the CRL::System singleton, it's creation is no longer triggered by the one of AllianceFramework. * New: In CRL/etc/, convert most of the configuration files into the Python module format. For now, keep the old ".conf", but that are no longer used. For the real technologies, we cannot keep the directory name as "180" or "45" as it not allowed by Python syntax, so we create "node180" or "node45" instead. Most of the helpers and coriolisInit.py are no longer used now. To be removed in future commits after being sure that everything works... * Bug: In AutoSegment::makeDogleg(AutoContact*), the layer of the contacts where badly computed when one end of the original segment was attached to a non-preferred direction segment (mostly on terminal contacts). Now use the new AutoContact::updateLayer() method. * Bug: In Dijkstra::load(), limit symetric search area only if the net is a symmetric one ! * Change: In Katana/python/katanaInit.py, comply with the new initialisation scheme. * Change: In Unicorn/cgt.py, comply to the new inititalization scheme. * Change: In cumulus various Python scripts remove the call to helpers.staticInitialization() as they are not needed now (we run in only *one* interpreter, so we correctly share all init). In plugins/__init__.py, read the new NDA directory variable. * Bug: In cumulus/plugins/Chip.doCoronafloorplan(), self.railsNb was not correctly managed when there was no clock. * Change: In cumulus/plugins/Configuration.coronaContactArray(), compute the viaPitch from the technology instead of the hard-coded 4.0 lambdas. In Configuration.loadConfiguration(), read the "ioring.py" from the new user's settings module. * Bug: In stratus.dpgen_ADSB2F, gives coordinates translated into DbU to the XY functions. In st_model.Save(), use the VstUseConcat flag to get correct VST files. In st_net.hur_net(), when a net is POWER/GROUND or CLOCK also make it global. * Change: In Oroshi/python/WIP_Transistor.py, encapsulate the generator inside a try/except block to get prettier error (and stop at the first). --- anabatic/src/AutoContact.cpp | 13 + anabatic/src/AutoSegment.cpp | 10 +- anabatic/src/Dijkstra.cpp | 4 +- anabatic/src/anabatic/AutoContact.h | 1 + bootstrap/coriolisEnv.py | 1 + .../doc/crlcore/html/AcmSigda_8h_source.html | 2 +- .../html/AllianceFramework_8h_source.html | 4 +- .../html/AllianceLibrary_8h_source.html | 2 +- .../doc/crlcore/html/Banner_8h_source.html | 2 +- .../doc/crlcore/html/Catalog_8h_source.html | 90 +- .../crlcore/html/Environment_8h_source.html | 7 +- .../html/GraphicToolEngine_8h_source.html | 2 +- .../crlcore/html/RoutingGauge_8h_source.html | 10 +- .../html/RoutingLayerGauge_8h_source.html | 2 +- .../crlcore/html/SearchPath_8h_source.html | 18 +- .../crlcore/html/ToolEngine_8h_source.html | 2 +- .../crlcore/html/ToolEngines_8h_source.html | 2 +- crlcore/doc/crlcore/html/annotated.html | 2 +- .../html/classCRL_1_1AcmSigda-members.html | 2 +- .../crlcore/html/classCRL_1_1AcmSigda.html | 2 +- ...classCRL_1_1AllianceFramework-members.html | 2 +- .../html/classCRL_1_1AllianceFramework.html | 2 +- .../classCRL_1_1AllianceLibrary-members.html | 2 +- .../html/classCRL_1_1AllianceLibrary.html | 2 +- .../html/classCRL_1_1Banner-members.html | 2 +- .../doc/crlcore/html/classCRL_1_1Banner.html | 2 +- .../html/classCRL_1_1Catalog-members.html | 2 +- .../doc/crlcore/html/classCRL_1_1Catalog.html | 2 +- .../classCRL_1_1CatalogExtension-members.html | 2 +- .../html/classCRL_1_1CatalogExtension.html | 2 +- .../classCRL_1_1Catalog_1_1State-members.html | 2 +- .../html/classCRL_1_1Catalog_1_1State.html | 2 +- .../html/classCRL_1_1Environment-members.html | 4 +- .../crlcore/html/classCRL_1_1Environment.html | 12 +- .../html/classCRL_1_1GraphicTool-members.html | 2 +- .../crlcore/html/classCRL_1_1GraphicTool.html | 2 +- .../classCRL_1_1RoutingGauge-members.html | 2 +- .../html/classCRL_1_1RoutingGauge.html | 2 +- ...classCRL_1_1RoutingLayerGauge-members.html | 2 +- .../html/classCRL_1_1RoutingLayerGauge.html | 2 +- .../html/classCRL_1_1SearchPath-members.html | 2 +- .../crlcore/html/classCRL_1_1SearchPath.html | 10 +- ...sCRL_1_1SearchPath_1_1Element-members.html | 2 +- .../classCRL_1_1SearchPath_1_1Element.html | 2 +- .../html/classCRL_1_1ToolEngine-members.html | 2 +- .../crlcore/html/classCRL_1_1ToolEngine.html | 2 +- crlcore/doc/crlcore/html/classes.html | 2 +- crlcore/doc/crlcore/html/crlcore.tag | 6 +- .../dir_1d3beb215ce2defdb52d6dee9d41bc7a.html | 2 +- .../dir_68267d1309a1af8e8297ef4c3efbcdba.html | 2 +- .../dir_d23e13494685c82fafa9ef5abb5746af.html | 2 +- crlcore/doc/crlcore/html/files.html | 2 +- crlcore/doc/crlcore/html/functions.html | 2 +- crlcore/doc/crlcore/html/functions_0x7e.html | 2 +- crlcore/doc/crlcore/html/functions_b.html | 2 +- crlcore/doc/crlcore/html/functions_c.html | 2 +- crlcore/doc/crlcore/html/functions_d.html | 2 +- crlcore/doc/crlcore/html/functions_e.html | 2 +- crlcore/doc/crlcore/html/functions_enum.html | 2 +- crlcore/doc/crlcore/html/functions_eval.html | 2 +- crlcore/doc/crlcore/html/functions_f.html | 2 +- crlcore/doc/crlcore/html/functions_func.html | 2 +- crlcore/doc/crlcore/html/functions_g.html | 2 +- crlcore/doc/crlcore/html/functions_h.html | 2 +- crlcore/doc/crlcore/html/functions_i.html | 2 +- crlcore/doc/crlcore/html/functions_l.html | 2 +- crlcore/doc/crlcore/html/functions_m.html | 2 +- crlcore/doc/crlcore/html/functions_o.html | 2 +- crlcore/doc/crlcore/html/functions_p.html | 2 +- crlcore/doc/crlcore/html/functions_r.html | 2 +- crlcore/doc/crlcore/html/functions_s.html | 2 +- crlcore/doc/crlcore/html/functions_v.html | 2 +- crlcore/doc/crlcore/html/hierarchy.html | 2 +- crlcore/doc/crlcore/html/index.html | 2 +- crlcore/doc/crlcore/html/namespaceCRL.html | 2 +- .../doc/crlcore/html/namespaceConstant.html | 2 +- .../doc/crlcore/html/namespacemembers.html | 2 +- .../crlcore/html/namespacemembers_enum.html | 2 +- .../crlcore/html/namespacemembers_eval.html | 2 +- .../crlcore/html/namespacemembers_type.html | 2 +- crlcore/doc/crlcore/html/namespaces.html | 2 +- .../crlcore/latex/classCRL_1_1Environment.tex | 8 +- .../crlcore/latex/classCRL_1_1SearchPath.tex | 12 +- crlcore/doc/crlcore/latex/refman.tex | 2 +- crlcore/etc/CMakeLists.txt | 1 + crlcore/etc/common/__init__.py | 59 ++ crlcore/etc/common/analog.py | 24 + crlcore/etc/common/colors.py | 75 ++ crlcore/etc/common/devices.py | 48 ++ crlcore/etc/common/display.py | 463 +++++++++++ crlcore/etc/common/etesian.py | 56 ++ crlcore/etc/common/kite.py | 40 + crlcore/etc/common/misc.py | 100 +++ crlcore/etc/common/patterns.py | 784 ++++++++++++++++++ crlcore/etc/common/stratus1.py | 23 + crlcore/etc/common/technology.py | 357 ++++++++ crlcore/etc/node180/__init__.py | 0 crlcore/etc/node180/scn6m_deep_09/__init__.py | 37 + crlcore/etc/node180/scn6m_deep_09/alliance.py | 49 ++ crlcore/etc/node180/scn6m_deep_09/analog.py | 16 + crlcore/etc/node180/scn6m_deep_09/devices.py | 130 +++ crlcore/etc/node180/scn6m_deep_09/display.py | 19 + .../scn6m_deep_09/dtr_scn6m_deep_09.py | 167 ++++ crlcore/etc/node180/scn6m_deep_09/etesian.py | 16 + crlcore/etc/node180/scn6m_deep_09/kite.py | 257 ++++++ crlcore/etc/node180/scn6m_deep_09/misc.py | 16 + crlcore/etc/node180/scn6m_deep_09/patterns.py | 16 + crlcore/etc/node180/scn6m_deep_09/plugins.py | 27 + crlcore/etc/node180/scn6m_deep_09/stratus1.py | 21 + .../etc/node180/scn6m_deep_09/technology.py | 228 +++++ crlcore/etc/symbolic/__init__.py | 0 crlcore/etc/symbolic/cmos/__init__.py | 35 + crlcore/etc/symbolic/cmos/alliance.py | 55 ++ crlcore/etc/symbolic/cmos/analog.py | 16 + crlcore/etc/symbolic/cmos/display.py | 19 + crlcore/etc/symbolic/cmos/etesian.py | 16 + crlcore/etc/symbolic/cmos/kite.py | 184 ++++ crlcore/etc/symbolic/cmos/misc.py | 16 + crlcore/etc/symbolic/cmos/patterns.py | 16 + crlcore/etc/symbolic/cmos/plugins.py | 27 + crlcore/etc/symbolic/cmos/stratus1.py | 24 + crlcore/etc/symbolic/cmos/technology.py | 59 ++ crlcore/etc/symbolic/cmos45/__init__.py | 35 + crlcore/etc/symbolic/cmos45/alliance.py | 49 ++ crlcore/etc/symbolic/cmos45/analog.py | 16 + crlcore/etc/symbolic/cmos45/display.py | 19 + crlcore/etc/symbolic/cmos45/etesian.py | 16 + crlcore/etc/symbolic/cmos45/kite.conf | 2 +- crlcore/etc/symbolic/cmos45/kite.py | 257 ++++++ crlcore/etc/symbolic/cmos45/misc.py | 16 + crlcore/etc/symbolic/cmos45/patterns.py | 16 + crlcore/etc/symbolic/cmos45/plugins.py | 27 + crlcore/etc/symbolic/cmos45/stratus1.py | 21 + crlcore/etc/symbolic/cmos45/technology.py | 228 +++++ crlcore/python/helpers/__init__.py | 76 +- crlcore/src/ccore/AllianceFramework.cpp | 92 +- crlcore/src/ccore/Environment.cpp | 36 +- crlcore/src/ccore/RoutingLayerGauge.cpp | 3 +- crlcore/src/ccore/SearchPath.cpp | 12 +- crlcore/src/ccore/Utilities.cpp | 7 +- crlcore/src/ccore/crlcore/AllianceFramework.h | 2 +- crlcore/src/ccore/crlcore/Environment.h | 3 +- crlcore/src/ccore/crlcore/SearchPath.h | 9 +- crlcore/src/pyCRL/CMakeLists.txt | 4 +- crlcore/src/pyCRL/PyAllianceFramework.cpp | 15 + crlcore/src/pyCRL/PyCRL.cpp | 5 + crlcore/src/pyCRL/PyRoutingGauge.cpp | 13 +- crlcore/src/pyCRL/PySystem.cpp | 113 +++ crlcore/src/pyCRL/crlcore/PySystem.h | 61 ++ cumulus/src/plugins/AboutWindow.py | 1 - cumulus/src/plugins/ChipPlace.py | 1 - cumulus/src/plugins/ChipRoute.py | 1 - cumulus/src/plugins/ClockTreePlugin.py | 1 - cumulus/src/plugins/CoreToChip_cmos.py | 1 - cumulus/src/plugins/CoreToChip_phlib80.py | 1 - cumulus/src/plugins/RSavePlugin.py | 7 +- cumulus/src/plugins/RSavePluginAll.py | 1 - cumulus/src/plugins/S2R.py | 1 - cumulus/src/plugins/__init__.py | 6 +- cumulus/src/plugins/chip/Chip.py | 14 +- cumulus/src/plugins/chip/Configuration.py | 37 +- cumulus/src/plugins/chip/PadsCorona.py | 8 +- documentation/PythonCpp/PythonCpp.pdf | Bin 174061 -> 214964 bytes .../PythonTutorial/PythonTutorial.pdf | Bin 298146 -> 359380 bytes documentation/RDS/RDS.pdf | Bin 116386 -> 133809 bytes documentation/Stratus/Stratus.pdf | Bin 563828 -> 797248 bytes documentation/UsersGuide/Configuration.rst | 413 +++------ documentation/UsersGuide/Installation.rst | 2 +- documentation/UsersGuide/Releases.rst | 17 + documentation/UsersGuide/ScriptsPlugins.rst | 32 +- documentation/UsersGuide/UsersGuide.pdf | Bin 761550 -> 825671 bytes documentation/UsersGuide/ViewerTools.rst | 68 +- .../_build/doctrees/Analog/Analog.doctree | Bin 64436 -> 64736 bytes .../Architecture.doctree | Bin 71524 -> 0 bytes .../ConfigurationTechnology/index.doctree | Bin 65166 -> 0 bytes .../ConfigurationTechnology/pdfHeader.doctree | Bin 65006 -> 0 bytes .../_build/doctrees/CrlCore/CrlCore.doctree | Bin 64398 -> 64688 bytes .../doctrees/Hurricane/Hurricane.doctree | Bin 64393 -> 64708 bytes .../doctrees/Katabatic/Katabatic.doctree | Bin 65136 -> 65446 bytes .../_build/doctrees/Kite/Kite.doctree | Bin 65132 -> 65442 bytes .../_build/doctrees/Oroshi/Oroshi.doctree | Bin 64340 -> 64665 bytes .../doctrees/PythonCpp/Configuration.doctree | Bin 70559 -> 70849 bytes .../doctrees/PythonCpp/DBoHierarchy.doctree | Bin 116812 -> 117112 bytes .../doctrees/PythonCpp/DBoStandalone.doctree | Bin 137544 -> 137844 bytes .../_build/doctrees/PythonCpp/DbU.doctree | Bin 70336 -> 70651 bytes .../doctrees/PythonCpp/Introduction.doctree | Bin 95995 -> 96326 bytes .../_build/doctrees/PythonCpp/Name.doctree | Bin 63790 -> 64090 bytes .../_build/doctrees/PythonCpp/NonDBo.doctree | Bin 84785 -> 85044 bytes .../_build/doctrees/PythonCpp/index.doctree | Bin 65191 -> 65486 bytes .../PythonTutorial/AdvancedTopics.doctree | Bin 90661 -> 90965 bytes .../PythonTutorial/CellNetComponent.doctree | Bin 140020 -> 140341 bytes .../doctrees/PythonTutorial/CgtScript.doctree | Bin 98871 -> 99195 bytes .../PythonTutorial/Collections.doctree | Bin 100748 -> 101043 bytes .../PythonTutorial/Environment.doctree | Bin 103674 -> 103969 bytes .../PythonTutorial/Introduction.doctree | Bin 113014 -> 113329 bytes .../doctrees/PythonTutorial/Netlist.doctree | Bin 143794 -> 144097 bytes .../PythonTutorial/RealDesigns.doctree | Bin 96437 -> 96739 bytes .../PythonTutorial/ToolEngines.doctree | Bin 109452 -> 109733 bytes .../doctrees/PythonTutorial/index.doctree | Bin 66706 -> 67019 bytes .../doctrees/PythonTutorial/pdfHeader.doctree | Bin 91648 -> 91931 bytes .../_build/doctrees/RDS/RDSpage.doctree | Bin 174703 -> 175008 bytes .../_build/doctrees/RDS/index.doctree | Bin 65391 -> 65661 bytes .../_build/doctrees/Stratus/index.doctree | Bin 65476 -> 65791 bytes .../_build/doctrees/Unicorn/Unicorn.doctree | Bin 64335 -> 64625 bytes .../doctrees/UsersGuide/Configuration.doctree | Bin 175622 -> 109471 bytes .../doctrees/UsersGuide/DesignFlow.doctree | Bin 68676 -> 68996 bytes .../doctrees/UsersGuide/Installation.doctree | Bin 148574 -> 148567 bytes .../UsersGuide/LicenseCredits.doctree | Bin 72096 -> 72391 bytes .../doctrees/UsersGuide/Releases.doctree | Bin 96954 -> 102623 bytes .../UsersGuide/ScriptsPlugins.doctree | Bin 139721 -> 140943 bytes .../doctrees/UsersGuide/ViewerTools.doctree | Bin 284038 -> 287862 bytes .../_build/doctrees/UsersGuide/index.doctree | Bin 65195 -> 65490 bytes .../_build/doctrees/Viewer/Viewer.doctree | Bin 64306 -> 64671 bytes .../_build/doctrees/defapi/defapi.doctree | Bin 64918 -> 65223 bytes .../_build/doctrees/environment.pickle | Bin 217926 -> 213583 bytes .../_build/doctrees/etc/definitions.doctree | Bin 62882 -> 63222 bytes documentation/_build/doctrees/index.doctree | Bin 6218 -> 6170 bytes .../_build/doctrees/lefapi/lefapi.doctree | Bin 73534 -> 73885 bytes .../_build/doctrees/lefdef/lefdef.doctree | Bin 64994 -> 65284 bytes documentation/_build/html/.buildinfo | 2 +- documentation/_build/html/Analog/Analog.html | 20 +- .../ConfigurationTechnology/Architecture.html | 645 -------------- .../html/ConfigurationTechnology/index.html | 599 ------------- .../ConfigurationTechnology/pdfHeader.html | 589 ------------- documentation/_build/html/Contents.html | 31 +- .../_build/html/CrlCore/CrlCore.html | 20 +- .../_build/html/Hurricane/Hurricane.html | 24 +- .../_build/html/Katabatic/Katabatic.html | 20 +- documentation/_build/html/Kite/Kite.html | 20 +- documentation/_build/html/Oroshi/Oroshi.html | 20 +- .../_build/html/PythonCpp/Configuration.html | 20 +- .../_build/html/PythonCpp/DBoHierarchy.html | 20 +- .../_build/html/PythonCpp/DBoStandalone.html | 20 +- documentation/_build/html/PythonCpp/DbU.html | 20 +- .../_build/html/PythonCpp/Introduction.html | 20 +- documentation/_build/html/PythonCpp/Name.html | 20 +- .../_build/html/PythonCpp/NonDBo.html | 20 +- .../_build/html/PythonCpp/index.html | 20 +- .../html/PythonTutorial/AdvancedTopics.html | 22 +- .../html/PythonTutorial/CellNetComponent.html | 20 +- .../_build/html/PythonTutorial/CgtScript.html | 24 +- .../html/PythonTutorial/Collections.html | 26 +- .../html/PythonTutorial/Environment.html | 20 +- .../html/PythonTutorial/Introduction.html | 22 +- .../_build/html/PythonTutorial/Netlist.html | 24 +- .../html/PythonTutorial/RealDesigns.html | 20 +- .../html/PythonTutorial/ToolEngines.html | 20 +- .../html/PythonTutorial/definitions.html | 20 +- .../_build/html/PythonTutorial/index.html | 22 +- .../_build/html/PythonTutorial/pdfHeader.html | 22 +- documentation/_build/html/RDS/RDSpage.html | 20 +- documentation/_build/html/RDS/index.html | 20 +- .../_build/html/Stratus/Developper.html | 20 +- documentation/_build/html/Stratus/DpGen.html | 24 +- .../_build/html/Stratus/Language.html | 20 +- .../_build/html/Stratus/Patterns.html | 20 +- documentation/_build/html/Stratus/index.html | 20 +- .../_build/html/Unicorn/Unicorn.html | 20 +- .../_build/html/UsersGuide/Configuration.html | 429 ++++------ .../_build/html/UsersGuide/DesignFlow.html | 20 +- .../_build/html/UsersGuide/Installation.html | 52 +- .../html/UsersGuide/LicenseCredits.html | 20 +- .../_build/html/UsersGuide/Releases.html | 51 +- .../html/UsersGuide/ScriptsPlugins.html | 99 +-- .../_build/html/UsersGuide/ViewerTools.html | 204 +++-- .../_build/html/UsersGuide/index.html | 27 +- documentation/_build/html/Viewer/Viewer.html | 20 +- .../ConfigurationTechnology/Architecture.txt | 69 -- .../ConfigurationTechnology/index.txt | 17 - .../ConfigurationTechnology/pdfHeader.txt | 15 - .../PythonTutorial/AdvancedTopics.txt | 2 +- .../_sources/PythonTutorial/CgtScript.txt | 4 +- .../_sources/PythonTutorial/Collections.txt | 6 +- .../_sources/PythonTutorial/Introduction.txt | 2 +- .../html/_sources/PythonTutorial/Netlist.txt | 4 +- .../html/_sources/PythonTutorial/index.txt | 2 +- .../_sources/PythonTutorial/pdfHeader.txt | 2 +- .../_sources/UsersGuide/Configuration.txt | 415 +++------ .../html/_sources/UsersGuide/Installation.txt | 32 +- .../html/_sources/UsersGuide/Releases.txt | 33 +- .../_sources/UsersGuide/ScriptsPlugins.txt | 82 +- .../html/_sources/UsersGuide/ViewerTools.txt | 182 ++-- .../_build/html/_sources/etc/definitions.txt | 1 + documentation/_build/html/_sources/index.txt | 1 - documentation/_build/html/defapi/defapi.html | 20 +- .../_build/html/etc/definitions.html | 20 +- documentation/_build/html/genindex.html | 20 +- documentation/_build/html/index.html | 22 +- documentation/_build/html/lefapi/lefapi.html | 20 +- documentation/_build/html/lefdef/lefdef.html | 20 +- documentation/_build/html/objects.inv | Bin 1724 -> 1646 bytes documentation/_build/html/search.html | 20 +- documentation/_build/html/searchindex.js | 2 +- documentation/conf.py | 2 +- documentation/etc/SoC-ReST.tex | 1 + documentation/etc/definitions.rst | 1 + hurricane/doc/analog/html/graph_legend.html | 2 +- hurricane/doc/analog/html/index.html | 2 +- hurricane/doc/analog/latex/refman.tex | 2 +- hurricane/doc/hurricane/Cell.dox | 12 + .../hurricane/html/BasicLayer_8h_source.html | 2 +- .../doc/hurricane/html/Box_8h_source.html | 2 +- .../doc/hurricane/html/Boxes_8h_source.html | 2 +- .../doc/hurricane/html/Cell_8h_source.html | 6 +- .../doc/hurricane/html/Cells_8h_source.html | 2 +- .../hurricane/html/Collection_8h_source.html | 2 +- .../doc/hurricane/html/Commons_8h_source.html | 2 +- .../hurricane/html/Component_8h_source.html | 2 +- .../hurricane/html/Components_8h_source.html | 2 +- .../html/ContactLayer_8h_source.html | 2 +- .../doc/hurricane/html/Contact_8h_source.html | 2 +- .../hurricane/html/Contacts_8h_source.html | 2 +- .../doc/hurricane/html/DBo_8h_source.html | 2 +- .../doc/hurricane/html/DBos_8h_source.html | 2 +- .../hurricane/html/DataBase_8h_source.html | 2 +- .../doc/hurricane/html/DbU_8h_source.html | 2 +- .../html/DebugSession_8h_source.html | 2 +- .../hurricane/html/Diagonal_8h_source.html | 2 +- .../html/DiffusionLayer_8h_source.html | 2 +- .../hurricane/html/Entities_8h_source.html | 2 +- .../doc/hurricane/html/Entity_8h_source.html | 2 +- .../doc/hurricane/html/Error_8h_source.html | 2 +- .../hurricane/html/Exception_8h_source.html | 2 +- .../doc/hurricane/html/Filter_8h_source.html | 2 +- .../doc/hurricane/html/Go_8h_source.html | 2 +- .../doc/hurricane/html/Gos_8h_source.html | 2 +- .../doc/hurricane/html/Hook_8h_source.html | 2 +- .../doc/hurricane/html/Hooks_8h_source.html | 2 +- .../hurricane/html/Horizontal_8h_source.html | 2 +- .../hurricane/html/Horizontals_8h_source.html | 2 +- .../hurricane/html/HyperNet_8h_source.html | 2 +- .../hurricane/html/Initializer_8h_source.html | 2 +- .../hurricane/html/Instance_8h_source.html | 2 +- .../hurricane/html/Instances_8h_source.html | 2 +- .../html/Interruption_8h_source.html | 2 +- .../hurricane/html/Interval_8h_source.html | 2 +- .../hurricane/html/Intervals_8h_source.html | 2 +- .../hurricane/html/JsonObject_8h_source.html | 2 +- .../hurricane/html/JsonReader_8h_source.html | 2 +- .../doc/hurricane/html/Layer_8h_source.html | 20 +- .../doc/hurricane/html/Layers_8h_source.html | 2 +- .../hurricane/html/Libraries_8h_source.html | 2 +- .../doc/hurricane/html/Library_8h_source.html | 2 +- .../html/ListCollection_8h_source.html | 2 +- .../doc/hurricane/html/Locator_8h_source.html | 2 +- .../html/MapCollection_8h_source.html | 2 +- .../doc/hurricane/html/Name_8h_source.html | 2 +- .../doc/hurricane/html/Names_8h_source.html | 2 +- .../doc/hurricane/html/Net_8h_source.html | 2 +- .../doc/hurricane/html/Nets_8h_source.html | 2 +- .../hurricane/html/Occurrence_8h_source.html | 2 +- .../hurricane/html/Occurrences_8h_source.html | 2 +- .../doc/hurricane/html/Pad_8h_source.html | 2 +- .../doc/hurricane/html/Pads_8h_source.html | 2 +- .../doc/hurricane/html/Path_8h_source.html | 2 +- .../doc/hurricane/html/Pathes_8h_source.html | 2 +- .../doc/hurricane/html/Pin_8h_source.html | 2 +- .../doc/hurricane/html/Pins_8h_source.html | 2 +- .../doc/hurricane/html/Plug_8h_source.html | 2 +- .../doc/hurricane/html/Plugs_8h_source.html | 2 +- .../doc/hurricane/html/Point_8h_source.html | 2 +- .../doc/hurricane/html/Points_8h_source.html | 2 +- .../doc/hurricane/html/Polygon_8h_source.html | 2 +- .../hurricane/html/Properties_8h_source.html | 2 +- .../hurricane/html/Property_8h_source.html | 2 +- .../hurricane/html/QuadTree_8h_source.html | 2 +- .../doc/hurricane/html/Quark_8h_source.html | 2 +- .../doc/hurricane/html/Quarks_8h_source.html | 2 +- .../doc/hurricane/html/Query_8h_source.html | 2 +- .../html/RegularLayer_8h_source.html | 8 +- .../hurricane/html/Relation_8h_source.html | 2 +- .../hurricane/html/RoutingPad_8h_source.html | 2 +- .../doc/hurricane/html/Rubber_8h_source.html | 2 +- .../doc/hurricane/html/Rubbers_8h_source.html | 2 +- .../doc/hurricane/html/Segment_8h_source.html | 2 +- .../hurricane/html/Segments_8h_source.html | 2 +- .../html/SetCollection_8h_source.html | 2 +- .../doc/hurricane/html/Slice_8h_source.html | 2 +- .../doc/hurricane/html/Slices_8h_source.html | 2 +- .../hurricane/html/Tabulation_8h_source.html | 2 +- .../hurricane/html/Technology_8h_source.html | 4 +- .../html/Transformation_8h_source.html | 2 +- .../html/TransistorLayer_8h_source.html | 2 +- .../html/UpdateSession_8h_source.html | 2 +- .../html/VectorCollection_8h_source.html | 2 +- .../hurricane/html/Vertical_8h_source.html | 2 +- .../hurricane/html/Verticals_8h_source.html | 2 +- .../hurricane/html/ViaLayer_8h_source.html | 4 +- .../doc/hurricane/html/Warning_8h_source.html | 2 +- hurricane/doc/hurricane/html/annotated.html | 2 +- .../html/classEntity_1_1CompareById.html | 2 +- .../classHurricane_1_1BasicLayer-members.html | 2 +- .../html/classHurricane_1_1BasicLayer.html | 2 +- ...ane_1_1BasicLayer_1_1Material-members.html | 2 +- ...ssHurricane_1_1BasicLayer_1_1Material.html | 2 +- .../html/classHurricane_1_1Box-members.html | 2 +- .../hurricane/html/classHurricane_1_1Box.html | 2 +- .../html/classHurricane_1_1Cell-members.html | 12 +- .../html/classHurricane_1_1Cell.html | 44 +- .../classHurricane_1_1Collection-members.html | 2 +- .../html/classHurricane_1_1Collection.html | 2 +- .../classHurricane_1_1Component-members.html | 2 +- .../html/classHurricane_1_1Component.html | 2 +- ...cane_1_1Component_1_1BodyHook-members.html | 2 +- ...assHurricane_1_1Component_1_1BodyHook.html | 2 +- .../classHurricane_1_1Contact-members.html | 2 +- .../html/classHurricane_1_1Contact.html | 2 +- ...lassHurricane_1_1ContactLayer-members.html | 2 +- .../html/classHurricane_1_1ContactLayer.html | 2 +- ...cane_1_1Contact_1_1AnchorHook-members.html | 2 +- ...assHurricane_1_1Contact_1_1AnchorHook.html | 2 +- .../html/classHurricane_1_1DBo-members.html | 2 +- .../hurricane/html/classHurricane_1_1DBo.html | 2 +- .../classHurricane_1_1DataBase-members.html | 2 +- .../html/classHurricane_1_1DataBase.html | 2 +- .../html/classHurricane_1_1DbU-members.html | 2 +- .../hurricane/html/classHurricane_1_1DbU.html | 2 +- ...lassHurricane_1_1DebugSession-members.html | 2 +- .../html/classHurricane_1_1DebugSession.html | 2 +- .../classHurricane_1_1Diagonal-members.html | 2 +- .../html/classHurricane_1_1Diagonal.html | 2 +- ...ssHurricane_1_1DiffusionLayer-members.html | 2 +- .../classHurricane_1_1DiffusionLayer.html | 2 +- .../classHurricane_1_1Entity-members.html | 2 +- .../html/classHurricane_1_1Entity.html | 2 +- .../html/classHurricane_1_1Error-members.html | 2 +- .../html/classHurricane_1_1Error.html | 2 +- .../classHurricane_1_1Exception-members.html | 2 +- .../html/classHurricane_1_1Exception.html | 2 +- .../classHurricane_1_1Filter-members.html | 2 +- .../html/classHurricane_1_1Filter.html | 2 +- ...urricane_1_1GenericCollection-members.html | 2 +- .../classHurricane_1_1GenericCollection.html | 2 +- ...assHurricane_1_1GenericFilter-members.html | 2 +- .../html/classHurricane_1_1GenericFilter.html | 2 +- ...ssHurricane_1_1GenericLocator-members.html | 2 +- .../classHurricane_1_1GenericLocator.html | 2 +- .../html/classHurricane_1_1Go-members.html | 2 +- .../hurricane/html/classHurricane_1_1Go.html | 2 +- .../html/classHurricane_1_1Hook-members.html | 2 +- .../html/classHurricane_1_1Hook.html | 2 +- .../classHurricane_1_1Horizontal-members.html | 2 +- .../html/classHurricane_1_1Horizontal.html | 2 +- .../classHurricane_1_1HyperNet-members.html | 2 +- .../html/classHurricane_1_1HyperNet.html | 2 +- ...classHurricane_1_1Initializer-members.html | 2 +- .../html/classHurricane_1_1Initializer.html | 2 +- .../classHurricane_1_1Instance-members.html | 2 +- .../html/classHurricane_1_1Instance.html | 2 +- ..._1Instance_1_1PlacementStatus-members.html | 2 +- ...ricane_1_1Instance_1_1PlacementStatus.html | 2 +- ...lassHurricane_1_1Interruption-members.html | 2 +- .../html/classHurricane_1_1Interruption.html | 2 +- .../classHurricane_1_1Interval-members.html | 2 +- .../html/classHurricane_1_1Interval.html | 2 +- .../classHurricane_1_1JsonObject-members.html | 2 +- .../html/classHurricane_1_1JsonObject.html | 2 +- .../classHurricane_1_1JsonStack-members.html | 2 +- .../html/classHurricane_1_1JsonStack.html | 2 +- .../html/classHurricane_1_1Layer-members.html | 2 +- .../html/classHurricane_1_1Layer.html | 2 +- .../classHurricane_1_1Library-members.html | 2 +- .../html/classHurricane_1_1Library.html | 2 +- ...ssHurricane_1_1ListCollection-members.html | 2 +- .../classHurricane_1_1ListCollection.html | 2 +- .../classHurricane_1_1Locator-members.html | 2 +- .../html/classHurricane_1_1Locator.html | 2 +- ...assHurricane_1_1MapCollection-members.html | 2 +- .../html/classHurricane_1_1MapCollection.html | 2 +- .../html/classHurricane_1_1Name-members.html | 2 +- .../html/classHurricane_1_1Name.html | 2 +- .../html/classHurricane_1_1Net-members.html | 2 +- .../hurricane/html/classHurricane_1_1Net.html | 2 +- ...Hurricane_1_1Net_1_1Direction-members.html | 2 +- .../classHurricane_1_1Net_1_1Direction.html | 2 +- ...classHurricane_1_1Net_1_1Type-members.html | 2 +- .../html/classHurricane_1_1Net_1_1Type.html | 2 +- .../classHurricane_1_1NotFilter-members.html | 2 +- .../html/classHurricane_1_1NotFilter.html | 2 +- .../classHurricane_1_1Occurrence-members.html | 2 +- .../html/classHurricane_1_1Occurrence.html | 2 +- .../html/classHurricane_1_1Pad-members.html | 2 +- .../hurricane/html/classHurricane_1_1Pad.html | 2 +- .../html/classHurricane_1_1Path-members.html | 2 +- .../html/classHurricane_1_1Path.html | 2 +- .../html/classHurricane_1_1Pin-members.html | 2 +- .../hurricane/html/classHurricane_1_1Pin.html | 2 +- .../html/classHurricane_1_1Plug-members.html | 2 +- .../html/classHurricane_1_1Plug.html | 2 +- .../html/classHurricane_1_1Point-members.html | 2 +- .../html/classHurricane_1_1Point.html | 2 +- .../classHurricane_1_1Polygon-members.html | 2 +- .../html/classHurricane_1_1Polygon.html | 2 +- ...sHurricane_1_1PrivateProperty-members.html | 2 +- .../classHurricane_1_1PrivateProperty.html | 2 +- .../classHurricane_1_1Property-members.html | 2 +- .../html/classHurricane_1_1Property.html | 2 +- .../classHurricane_1_1QuadTree-members.html | 2 +- .../html/classHurricane_1_1QuadTree.html | 2 +- .../html/classHurricane_1_1Quark-members.html | 2 +- .../html/classHurricane_1_1Quark.html | 2 +- .../html/classHurricane_1_1Query-members.html | 2 +- .../html/classHurricane_1_1Query.html | 2 +- ...lassHurricane_1_1RegularLayer-members.html | 4 +- .../html/classHurricane_1_1RegularLayer.html | 18 +- .../classHurricane_1_1Relation-members.html | 2 +- .../html/classHurricane_1_1Relation.html | 2 +- .../classHurricane_1_1RoutingPad-members.html | 2 +- .../html/classHurricane_1_1RoutingPad.html | 2 +- .../classHurricane_1_1Rubber-members.html | 2 +- .../html/classHurricane_1_1Rubber.html | 2 +- .../classHurricane_1_1Segment-members.html | 2 +- .../html/classHurricane_1_1Segment.html | 2 +- ...cane_1_1Segment_1_1SourceHook-members.html | 2 +- ...assHurricane_1_1Segment_1_1SourceHook.html | 2 +- ...cane_1_1Segment_1_1TargetHook-members.html | 2 +- ...assHurricane_1_1Segment_1_1TargetHook.html | 2 +- ...assHurricane_1_1SetCollection-members.html | 2 +- .../html/classHurricane_1_1SetCollection.html | 2 +- ...ssHurricane_1_1SharedProperty-members.html | 2 +- .../classHurricane_1_1SharedProperty.html | 2 +- .../html/classHurricane_1_1Slice-members.html | 2 +- .../html/classHurricane_1_1Slice.html | 2 +- ...ne_1_1StandardPrivateProperty-members.html | 2 +- ...sHurricane_1_1StandardPrivateProperty.html | 2 +- ...Hurricane_1_1StandardRelation-members.html | 2 +- .../classHurricane_1_1StandardRelation.html | 2 +- ...ane_1_1StandardSharedProperty-members.html | 2 +- ...ssHurricane_1_1StandardSharedProperty.html | 2 +- ...Hurricane_1_1SubSetCollection-members.html | 2 +- .../classHurricane_1_1SubSetCollection.html | 2 +- ...urricane_1_1SubTypeCollection-members.html | 2 +- .../classHurricane_1_1SubTypeCollection.html | 2 +- .../classHurricane_1_1Tabulation-members.html | 2 +- .../html/classHurricane_1_1Tabulation.html | 2 +- .../classHurricane_1_1Technology-members.html | 2 +- .../html/classHurricane_1_1Technology.html | 2 +- ...ssHurricane_1_1Transformation-members.html | 2 +- .../classHurricane_1_1Transformation.html | 2 +- ...Transformation_1_1Orientation-members.html | 2 +- ...cane_1_1Transformation_1_1Orientation.html | 2 +- ...sHurricane_1_1TransistorLayer-members.html | 2 +- .../classHurricane_1_1TransistorLayer.html | 2 +- ...assHurricane_1_1UpdateSession-members.html | 2 +- .../html/classHurricane_1_1UpdateSession.html | 2 +- ...Hurricane_1_1VectorCollection-members.html | 2 +- .../classHurricane_1_1VectorCollection.html | 2 +- .../classHurricane_1_1Vertical-members.html | 2 +- .../html/classHurricane_1_1Vertical.html | 2 +- .../classHurricane_1_1ViaLayer-members.html | 2 +- .../html/classHurricane_1_1ViaLayer.html | 2 +- .../classHurricane_1_1Warning-members.html | 2 +- .../html/classHurricane_1_1Warning.html | 2 +- hurricane/doc/hurricane/html/classes.html | 2 +- .../hurricane/html/clasststream-members.html | 2 +- .../doc/hurricane/html/clasststream.html | 2 +- .../dir_2450e9a649c497a3424377400b95054f.html | 2 +- .../dir_68267d1309a1af8e8297ef4c3efbcdba.html | 2 +- .../dir_84a91669594ac5e20f6d730a15331f7a.html | 2 +- hurricane/doc/hurricane/html/files.html | 2 +- hurricane/doc/hurricane/html/functions.html | 2 +- .../doc/hurricane/html/functions_0x7e.html | 2 +- hurricane/doc/hurricane/html/functions_b.html | 2 +- hurricane/doc/hurricane/html/functions_c.html | 4 +- hurricane/doc/hurricane/html/functions_d.html | 2 +- hurricane/doc/hurricane/html/functions_e.html | 2 +- .../doc/hurricane/html/functions_enum.html | 2 +- .../doc/hurricane/html/functions_eval.html | 2 +- hurricane/doc/hurricane/html/functions_f.html | 2 +- .../doc/hurricane/html/functions_func.html | 2 +- .../hurricane/html/functions_func_0x7e.html | 2 +- .../doc/hurricane/html/functions_func_b.html | 2 +- .../doc/hurricane/html/functions_func_c.html | 4 +- .../doc/hurricane/html/functions_func_d.html | 2 +- .../doc/hurricane/html/functions_func_e.html | 2 +- .../doc/hurricane/html/functions_func_f.html | 2 +- .../doc/hurricane/html/functions_func_g.html | 14 +- .../doc/hurricane/html/functions_func_h.html | 2 +- .../doc/hurricane/html/functions_func_i.html | 2 +- .../doc/hurricane/html/functions_func_j.html | 2 +- .../doc/hurricane/html/functions_func_l.html | 2 +- .../doc/hurricane/html/functions_func_m.html | 2 +- .../doc/hurricane/html/functions_func_n.html | 2 +- .../doc/hurricane/html/functions_func_o.html | 2 +- .../doc/hurricane/html/functions_func_p.html | 2 +- .../doc/hurricane/html/functions_func_q.html | 2 +- .../doc/hurricane/html/functions_func_r.html | 2 +- .../doc/hurricane/html/functions_func_s.html | 2 +- .../doc/hurricane/html/functions_func_t.html | 2 +- .../doc/hurricane/html/functions_func_u.html | 2 +- .../doc/hurricane/html/functions_func_v.html | 2 +- .../doc/hurricane/html/functions_func_w.html | 2 +- hurricane/doc/hurricane/html/functions_g.html | 12 +- hurricane/doc/hurricane/html/functions_h.html | 2 +- hurricane/doc/hurricane/html/functions_i.html | 2 +- hurricane/doc/hurricane/html/functions_j.html | 2 +- hurricane/doc/hurricane/html/functions_k.html | 2 +- hurricane/doc/hurricane/html/functions_l.html | 2 +- hurricane/doc/hurricane/html/functions_m.html | 2 +- hurricane/doc/hurricane/html/functions_n.html | 2 +- hurricane/doc/hurricane/html/functions_o.html | 2 +- hurricane/doc/hurricane/html/functions_p.html | 2 +- hurricane/doc/hurricane/html/functions_q.html | 2 +- hurricane/doc/hurricane/html/functions_r.html | 2 +- hurricane/doc/hurricane/html/functions_s.html | 2 +- hurricane/doc/hurricane/html/functions_t.html | 2 +- .../doc/hurricane/html/functions_type.html | 2 +- hurricane/doc/hurricane/html/functions_u.html | 2 +- hurricane/doc/hurricane/html/functions_v.html | 2 +- hurricane/doc/hurricane/html/functions_w.html | 2 +- .../doc/hurricane/html/graph_legend.html | 2 +- .../doc/hurricane/html/group__DbUGroup.html | 2 +- .../hurricane/html/group__Generalities.html | 2 +- .../hurricane/html/group__JsonSupport.html | 2 +- .../html/group__grpSynthHierarchy.html | 2 +- hurricane/doc/hurricane/html/hierarchy.html | 2 +- hurricane/doc/hurricane/html/hurricane.tag | 18 +- hurricane/doc/hurricane/html/index.html | 2 +- hurricane/doc/hurricane/html/modules.html | 2 +- .../hurricane/html/namespaceHurricane.html | 2 +- .../doc/hurricane/html/namespacemembers.html | 2 +- .../hurricane/html/namespacemembers_func.html | 2 +- .../hurricane/html/namespacemembers_type.html | 2 +- hurricane/doc/hurricane/html/namespaces.html | 2 +- .../latex/classHurricane_1_1Cell.tex | 18 +- .../latex/classHurricane_1_1RegularLayer.tex | 6 +- hurricane/doc/hurricane/latex/refman.tex | 2 +- .../doc/viewer/html/CellImage_8h_source.html | 2 +- .../viewer/html/CellPrinter_8h_source.html | 2 +- .../doc/viewer/html/CellViewer_8h_source.html | 2 +- .../doc/viewer/html/CellWidget_8h_source.html | 2 +- .../viewer/html/DisplayStyle_8h_source.html | 2 +- .../doc/viewer/html/Graphics_8h_source.html | 2 +- .../html/InspectorWidget_8h_source.html | 2 +- hurricane/doc/viewer/html/annotated.html | 2 +- .../classHurricane_1_1CellImage-members.html | 2 +- .../html/classHurricane_1_1CellImage.html | 2 +- ...classHurricane_1_1CellPrinter-members.html | 2 +- .../html/classHurricane_1_1CellPrinter.html | 2 +- .../classHurricane_1_1CellViewer-members.html | 2 +- .../html/classHurricane_1_1CellViewer.html | 2 +- .../classHurricane_1_1CellWidget-members.html | 2 +- .../html/classHurricane_1_1CellWidget.html | 2 +- ...lassHurricane_1_1DisplayStyle-members.html | 2 +- .../html/classHurricane_1_1DisplayStyle.html | 2 +- .../classHurricane_1_1Graphics-members.html | 2 +- .../html/classHurricane_1_1Graphics.html | 2 +- ...sHurricane_1_1InspectorWidget-members.html | 2 +- .../classHurricane_1_1InspectorWidget.html | 2 +- hurricane/doc/viewer/html/classes.html | 2 +- .../dir_0afc25342c548a63e1813d8fbde8101d.html | 2 +- .../dir_22af1943967c75aa4d199e6ffd8de9d2.html | 2 +- .../dir_53ec41d7bc61ef1f85d867f95df84d28.html | 2 +- .../dir_68267d1309a1af8e8297ef4c3efbcdba.html | 2 +- hurricane/doc/viewer/html/files.html | 2 +- hurricane/doc/viewer/html/functions.html | 2 +- hurricane/doc/viewer/html/functions_enum.html | 2 +- hurricane/doc/viewer/html/functions_eval.html | 2 +- hurricane/doc/viewer/html/functions_func.html | 2 +- hurricane/doc/viewer/html/graph_legend.html | 2 +- .../doc/viewer/html/group__graphicsGroup.html | 2 +- hurricane/doc/viewer/html/index.html | 2 +- hurricane/doc/viewer/html/modules.html | 2 +- hurricane/doc/viewer/latex/refman.tex | 2 +- hurricane/src/analog/CMakeLists.txt | 18 +- .../{MIMCapacitor.cpp => MultiCapacitor.cpp} | 32 +- hurricane/src/analog/PyAnalog.cpp | 12 +- .../src/analog/PyCapacitiesParameter.cpp | 123 +++ hurricane/src/analog/PyCapacitorFamily.cpp | 2 +- hurricane/src/analog/PyMIMCapacitor.cpp | 139 ---- hurricane/src/analog/PyMatrixParameter.cpp | 128 +++ hurricane/src/analog/PyMultiCapacitor.cpp | 142 ++++ .../hurricane/analog/CapacitiesParameter.h | 54 ++ .../analog/hurricane/analog/CapacitorFamily.h | 16 +- .../src/analog/hurricane/analog/Device.h | 40 +- .../src/analog/hurricane/analog/Matrix.h | 84 ++ .../analog/hurricane/analog/MatrixParameter.h | 51 ++ .../{MIMCapacitor.h => MultiCapacitor.h} | 47 +- .../hurricane/analog/PyCapacitiesParameter.h | 55 ++ .../hurricane/analog/PyMatrixParameter.h | 55 ++ .../{PyMIMCapacitor.h => PyMultiCapacitor.h} | 28 +- hurricane/src/hurricane/Layer.cpp | 4 + hurricane/src/hurricane/RegularLayer.cpp | 14 +- hurricane/src/hurricane/ViaLayer.cpp | 4 + hurricane/src/hurricane/hurricane/Layer.h | 1 + .../src/hurricane/hurricane/RegularLayer.h | 5 +- hurricane/src/hurricane/hurricane/ViaLayer.h | 1 + hurricane/src/isobar/PyDataBase.cpp | 3 +- hurricane/src/isobar/PyLayer.cpp | 5 +- hurricane/src/isobar/PyRegularLayer.cpp | 14 +- .../doc/html/AutoContactHTee_8h_source.html | 2 +- .../html/AutoContactTerminal_8h_source.html | 2 +- .../doc/html/AutoContactTurn_8h_source.html | 2 +- .../doc/html/AutoContactVTee_8h_source.html | 2 +- katabatic/doc/html/AutoContact_8h_source.html | 2 +- .../doc/html/AutoHorizontal_8h_source.html | 2 +- katabatic/doc/html/AutoSegment_8h_source.html | 2 +- .../doc/html/AutoSegments_8h_source.html | 2 +- .../doc/html/AutoVertical_8h_source.html | 2 +- katabatic/doc/html/ChipTools_8h_source.html | 2 +- katabatic/doc/html/Constants_8h_source.html | 2 +- katabatic/doc/html/GCellGrid_8h_source.html | 2 +- katabatic/doc/html/GCell_8h_source.html | 2 +- katabatic/doc/html/GCells_8h_source.html | 2 +- katabatic/doc/html/Grid_8h_source.html | 2 +- .../doc/html/KatabaticEngine_8h_source.html | 2 +- katabatic/doc/html/Observer_8h_source.html | 2 +- katabatic/doc/html/Session_8h_source.html | 2 +- katabatic/doc/html/annotated.html | 2 +- ...classKatabatic_1_1AutoContact-members.html | 2 +- .../html/classKatabatic_1_1AutoContact.html | 2 +- ...sKatabatic_1_1AutoContactHTee-members.html | 2 +- .../classKatabatic_1_1AutoContactHTee.html | 2 +- ...abatic_1_1AutoContactTerminal-members.html | 2 +- ...classKatabatic_1_1AutoContactTerminal.html | 2 +- ...sKatabatic_1_1AutoContactTurn-members.html | 2 +- .../classKatabatic_1_1AutoContactTurn.html | 2 +- ...sKatabatic_1_1AutoContactVTee-members.html | 2 +- .../classKatabatic_1_1AutoContactVTee.html | 2 +- ...ssKatabatic_1_1AutoHorizontal-members.html | 2 +- .../classKatabatic_1_1AutoHorizontal.html | 2 +- ...classKatabatic_1_1AutoSegment-members.html | 2 +- .../html/classKatabatic_1_1AutoSegment.html | 2 +- ...tic_1_1AutoSegments__Aligneds-members.html | 2 +- ...ssKatabatic_1_1AutoSegments__Aligneds.html | 2 +- ..._1AutoSegments__AnchorOnGCell-members.html | 2 +- ...abatic_1_1AutoSegments__AnchorOnGCell.html | 2 +- ..._1_1AutoSegments__InDirection-members.html | 2 +- ...atabatic_1_1AutoSegments__InDirection.html | 2 +- ..._1AutoSegments__IsAccountable-members.html | 2 +- ...abatic_1_1AutoSegments__IsAccountable.html | 2 +- ...ic_1_1AutoSegments__OnContact-members.html | 2 +- ...sKatabatic_1_1AutoSegments__OnContact.html | 2 +- ...1AutoSegments__Perpandiculars-members.html | 2 +- ...batic_1_1AutoSegments__Perpandiculars.html | 2 +- ...lassKatabatic_1_1AutoVertical-members.html | 2 +- .../html/classKatabatic_1_1AutoVertical.html | 2 +- .../classKatabatic_1_1BaseGrid-members.html | 2 +- .../doc/html/classKatabatic_1_1BaseGrid.html | 2 +- ...Katabatic_1_1BaseGrid_1_1Axis-members.html | 2 +- .../classKatabatic_1_1BaseGrid_1_1Axis.html | 2 +- ...lassKatabatic_1_1BaseObserver-members.html | 2 +- .../html/classKatabatic_1_1BaseObserver.html | 2 +- .../classKatabatic_1_1ChipTools-members.html | 2 +- .../doc/html/classKatabatic_1_1ChipTools.html | 2 +- .../html/classKatabatic_1_1GCell-members.html | 2 +- .../doc/html/classKatabatic_1_1GCell.html | 2 +- ...sKatabatic_1_1GCellDensitySet-members.html | 2 +- .../classKatabatic_1_1GCellDensitySet.html | 2 +- .../classKatabatic_1_1GCellGrid-members.html | 2 +- .../doc/html/classKatabatic_1_1GCellGrid.html | 2 +- ..._1_1GCell_1_1CompareByDensity-members.html | 2 +- ...atabatic_1_1GCell_1_1CompareByDensity.html | 2 +- ...ic_1_1GCell_1_1CompareByIndex-members.html | 2 +- ...sKatabatic_1_1GCell_1_1CompareByIndex.html | 2 +- ...lassKatabatic_1_1GCell_1_1Key-members.html | 2 +- .../html/classKatabatic_1_1GCell_1_1Key.html | 2 +- .../html/classKatabatic_1_1Grid-members.html | 2 +- .../doc/html/classKatabatic_1_1Grid.html | 2 +- ...sKatabatic_1_1KatabaticEngine-members.html | 2 +- .../classKatabatic_1_1KatabaticEngine.html | 2 +- ...assKatabatic_1_1LocatorHelper-members.html | 2 +- .../html/classKatabatic_1_1LocatorHelper.html | 2 +- .../classKatabatic_1_1Observable-members.html | 2 +- .../html/classKatabatic_1_1Observable.html | 2 +- .../classKatabatic_1_1Observer-members.html | 2 +- .../doc/html/classKatabatic_1_1Observer.html | 2 +- .../classKatabatic_1_1Session-members.html | 2 +- .../doc/html/classKatabatic_1_1Session.html | 2 +- ...yNet_8cpp_03_1_1GCellTopology-members.html | 2 +- ...2LoadGrByNet_8cpp_03_1_1GCellTopology.html | 2 +- katabatic/doc/html/classes.html | 2 +- .../dir_46a5d811a0c60e95b7acaa92d73c003a.html | 2 +- .../dir_68267d1309a1af8e8297ef4c3efbcdba.html | 2 +- katabatic/doc/html/files.html | 2 +- katabatic/doc/html/functions.html | 2 +- katabatic/doc/html/functions_0x7e.html | 2 +- katabatic/doc/html/functions_a.html | 2 +- katabatic/doc/html/functions_b.html | 2 +- katabatic/doc/html/functions_c.html | 2 +- katabatic/doc/html/functions_d.html | 2 +- katabatic/doc/html/functions_e.html | 2 +- katabatic/doc/html/functions_enum.html | 2 +- katabatic/doc/html/functions_eval.html | 2 +- katabatic/doc/html/functions_f.html | 2 +- katabatic/doc/html/functions_func.html | 2 +- katabatic/doc/html/functions_func_0x7e.html | 2 +- katabatic/doc/html/functions_func_a.html | 2 +- katabatic/doc/html/functions_func_b.html | 2 +- katabatic/doc/html/functions_func_c.html | 2 +- katabatic/doc/html/functions_func_d.html | 2 +- katabatic/doc/html/functions_func_e.html | 2 +- katabatic/doc/html/functions_func_f.html | 2 +- katabatic/doc/html/functions_func_g.html | 2 +- katabatic/doc/html/functions_func_h.html | 2 +- katabatic/doc/html/functions_func_i.html | 2 +- katabatic/doc/html/functions_func_k.html | 2 +- katabatic/doc/html/functions_func_l.html | 2 +- katabatic/doc/html/functions_func_m.html | 2 +- katabatic/doc/html/functions_func_n.html | 2 +- katabatic/doc/html/functions_func_o.html | 2 +- katabatic/doc/html/functions_func_p.html | 2 +- katabatic/doc/html/functions_func_r.html | 2 +- katabatic/doc/html/functions_func_s.html | 2 +- katabatic/doc/html/functions_func_t.html | 2 +- katabatic/doc/html/functions_func_u.html | 2 +- katabatic/doc/html/functions_func_x.html | 2 +- katabatic/doc/html/functions_g.html | 2 +- katabatic/doc/html/functions_h.html | 2 +- katabatic/doc/html/functions_i.html | 2 +- katabatic/doc/html/functions_k.html | 2 +- katabatic/doc/html/functions_l.html | 2 +- katabatic/doc/html/functions_m.html | 2 +- katabatic/doc/html/functions_n.html | 2 +- katabatic/doc/html/functions_o.html | 2 +- katabatic/doc/html/functions_p.html | 2 +- katabatic/doc/html/functions_r.html | 2 +- katabatic/doc/html/functions_s.html | 2 +- katabatic/doc/html/functions_t.html | 2 +- katabatic/doc/html/functions_type.html | 2 +- katabatic/doc/html/functions_u.html | 2 +- katabatic/doc/html/functions_x.html | 2 +- katabatic/doc/html/graph_legend.html | 2 +- .../doc/html/group__LoadGlobalRouting.html | 4 +- .../doc/html/group__grpSynthHierarchy.html | 2 +- katabatic/doc/html/hierarchy.html | 2 +- katabatic/doc/html/index.html | 2 +- katabatic/doc/html/modules.html | 2 +- katabatic/doc/html/namespaceKatabatic.html | 2 +- ...mous__namespace_02AutoSegment_8cpp_03.html | 2 +- ...nymous__namespace_02ChipTools_8cpp_03.html | 2 +- ...eanonymous__namespace_02GCell_8cpp_03.html | 2 +- ...__namespace_02KatabaticEngine_8cpp_03.html | 2 +- ...mous__namespace_02LoadGrByNet_8cpp_03.html | 2 +- ...nonymous__namespace_02Session_8cpp_03.html | 2 +- katabatic/doc/html/namespacemembers.html | 2 +- katabatic/doc/html/namespacemembers_enum.html | 2 +- katabatic/doc/html/namespacemembers_eval.html | 2 +- katabatic/doc/html/namespacemembers_func.html | 2 +- katabatic/doc/html/namespacemembers_type.html | 2 +- katabatic/doc/html/namespaces.html | 2 +- .../doc/latex/group__LoadGlobalRouting.tex | 2 +- katabatic/doc/latex/refman.tex | 2 +- katana/python/katanaInit.py | 34 +- kite/doc/html/Constants_8h_source.html | 2 +- kite/doc/html/DataNegociate_8h_source.html | 2 +- kite/doc/html/HorizontalTrack_8h_source.html | 2 +- kite/doc/html/KiteEngine_8h_source.html | 2 +- kite/doc/html/Manipulator_8h_source.html | 2 +- kite/doc/html/NegociateWindow_8h_source.html | 2 +- .../html/RoutingEventHistory_8h_source.html | 2 +- kite/doc/html/RoutingEventLoop_8h_source.html | 2 +- .../doc/html/RoutingEventQueue_8h_source.html | 2 +- kite/doc/html/RoutingEvent_8h_source.html | 2 +- kite/doc/html/RoutingPlane_8h_source.html | 2 +- kite/doc/html/SegmentFsm_8h_source.html | 2 +- kite/doc/html/Session_8h_source.html | 2 +- kite/doc/html/TrackElement_8h_source.html | 2 +- .../doc/html/TrackFixedSegment_8h_source.html | 2 +- kite/doc/html/TrackMarker_8h_source.html | 2 +- kite/doc/html/TrackSegment_8h_source.html | 2 +- kite/doc/html/Track_8h_source.html | 2 +- kite/doc/html/VerticalTrack_8h_source.html | 2 +- kite/doc/html/annotated.html | 2 +- .../classKite_1_1DataNegociate-members.html | 2 +- kite/doc/html/classKite_1_1DataNegociate.html | 2 +- .../classKite_1_1HorizontalTrack-members.html | 2 +- .../html/classKite_1_1HorizontalTrack.html | 2 +- .../html/classKite_1_1KiteEngine-members.html | 2 +- kite/doc/html/classKite_1_1KiteEngine.html | 2 +- .../classKite_1_1Manipulator-members.html | 2 +- kite/doc/html/classKite_1_1Manipulator.html | 2 +- .../classKite_1_1NegociateWindow-members.html | 2 +- .../html/classKite_1_1NegociateWindow.html | 2 +- .../classKite_1_1RoutingEvent-members.html | 2 +- kite/doc/html/classKite_1_1RoutingEvent.html | 2 +- ...ssKite_1_1RoutingEventHistory-members.html | 2 +- .../classKite_1_1RoutingEventHistory.html | 2 +- ...classKite_1_1RoutingEventLoop-members.html | 2 +- .../html/classKite_1_1RoutingEventLoop.html | 2 +- ...lassKite_1_1RoutingEventQueue-members.html | 2 +- .../html/classKite_1_1RoutingEventQueue.html | 2 +- ...ssKite_1_1RoutingEvent_1_1Key-members.html | 2 +- .../classKite_1_1RoutingEvent_1_1Key.html | 2 +- .../classKite_1_1RoutingPlane-members.html | 2 +- kite/doc/html/classKite_1_1RoutingPlane.html | 2 +- .../classKite_1_1SegmentAction-members.html | 2 +- kite/doc/html/classKite_1_1SegmentAction.html | 2 +- .../html/classKite_1_1SegmentFsm-members.html | 2 +- kite/doc/html/classKite_1_1SegmentFsm.html | 2 +- .../classKite_1_1SegmentObserver-members.html | 2 +- .../html/classKite_1_1SegmentObserver.html | 2 +- .../html/classKite_1_1Session-members.html | 2 +- kite/doc/html/classKite_1_1Session.html | 2 +- kite/doc/html/classKite_1_1Track-members.html | 2 +- kite/doc/html/classKite_1_1Track.html | 2 +- .../classKite_1_1TrackElement-members.html | 2 +- kite/doc/html/classKite_1_1TrackElement.html | 2 +- ...lassKite_1_1TrackFixedSegment-members.html | 2 +- .../html/classKite_1_1TrackFixedSegment.html | 2 +- .../classKite_1_1TrackMarker-members.html | 2 +- kite/doc/html/classKite_1_1TrackMarker.html | 2 +- .../classKite_1_1TrackSegment-members.html | 2 +- kite/doc/html/classKite_1_1TrackSegment.html | 2 +- .../classKite_1_1VerticalTrack-members.html | 2 +- kite/doc/html/classKite_1_1VerticalTrack.html | 2 +- kite/doc/html/classes.html | 2 +- .../dir_2916ee297f5e79ec495d393dfe8ba769.html | 2 +- .../dir_68267d1309a1af8e8297ef4c3efbcdba.html | 2 +- kite/doc/html/files.html | 2 +- kite/doc/html/functions.html | 2 +- kite/doc/html/functions_0x7e.html | 2 +- kite/doc/html/functions_a.html | 2 +- kite/doc/html/functions_b.html | 2 +- kite/doc/html/functions_c.html | 2 +- kite/doc/html/functions_d.html | 2 +- kite/doc/html/functions_e.html | 2 +- kite/doc/html/functions_enum.html | 2 +- kite/doc/html/functions_eval.html | 2 +- kite/doc/html/functions_f.html | 2 +- kite/doc/html/functions_func.html | 2 +- kite/doc/html/functions_func_0x7e.html | 2 +- kite/doc/html/functions_func_a.html | 2 +- kite/doc/html/functions_func_b.html | 2 +- kite/doc/html/functions_func_c.html | 2 +- kite/doc/html/functions_func_d.html | 2 +- kite/doc/html/functions_func_e.html | 2 +- kite/doc/html/functions_func_f.html | 2 +- kite/doc/html/functions_func_g.html | 2 +- kite/doc/html/functions_func_h.html | 2 +- kite/doc/html/functions_func_i.html | 2 +- kite/doc/html/functions_func_l.html | 2 +- kite/doc/html/functions_func_m.html | 2 +- kite/doc/html/functions_func_n.html | 2 +- kite/doc/html/functions_func_o.html | 2 +- kite/doc/html/functions_func_p.html | 2 +- kite/doc/html/functions_func_r.html | 2 +- kite/doc/html/functions_func_s.html | 2 +- kite/doc/html/functions_func_u.html | 2 +- kite/doc/html/functions_g.html | 2 +- kite/doc/html/functions_h.html | 2 +- kite/doc/html/functions_i.html | 2 +- kite/doc/html/functions_l.html | 2 +- kite/doc/html/functions_m.html | 2 +- kite/doc/html/functions_n.html | 2 +- kite/doc/html/functions_o.html | 2 +- kite/doc/html/functions_p.html | 2 +- kite/doc/html/functions_r.html | 2 +- kite/doc/html/functions_s.html | 2 +- kite/doc/html/functions_t.html | 2 +- kite/doc/html/functions_u.html | 2 +- kite/doc/html/functions_vars.html | 2 +- kite/doc/html/graph_legend.html | 2 +- kite/doc/html/group__AlgorithmOverview.html | 2 +- kite/doc/html/group__grpSynthHierarchy.html | 2 +- kite/doc/html/hierarchy.html | 2 +- kite/doc/html/index.html | 2 +- kite/doc/html/modules.html | 2 +- kite/doc/html/namespaceKite.html | 2 +- ...mous__namespace_02AutoSegment_8cpp_03.html | 2 +- ...nymous__namespace_02ChipTools_8cpp_03.html | 2 +- ...eanonymous__namespace_02GCell_8cpp_03.html | 2 +- ...__namespace_02KatabaticEngine_8cpp_03.html | 2 +- ...mous__namespace_02LoadGrByNet_8cpp_03.html | 2 +- ...mous__namespace_02Manipulator_8cpp_03.html | 2 +- ...__namespace_02NegociateWindow_8cpp_03.html | 2 +- ...ous__namespace_02RoutingPlane_8cpp_03.html | 2 +- ...ymous__namespace_02SegmentFsm_8cpp_03.html | 2 +- ...nonymous__namespace_02Session_8cpp_03.html | 2 +- ...ous__namespace_02TrackElement_8cpp_03.html | 2 +- ...eanonymous__namespace_02Track_8cpp_03.html | 2 +- kite/doc/html/namespacemembers.html | 2 +- kite/doc/html/namespacemembers_enum.html | 2 +- kite/doc/html/namespacemembers_eval.html | 2 +- kite/doc/html/namespacemembers_type.html | 2 +- kite/doc/html/namespaces.html | 2 +- kite/doc/html/pageNotes.html | 2 +- kite/doc/html/pages.html | 2 +- kite/doc/latex/refman.tex | 2 +- oroshi/doc/html/annotated.html | 2 +- oroshi/doc/html/classes.html | 2 +- ...classpython_1_1Stack_1_1Stack-members.html | 2 +- .../html/classpython_1_1Stack_1_1Stack.html | 2 +- .../dir_7837fde3ab9c1fb2fc5be7b717af8d79.html | 2 +- oroshi/doc/html/functions.html | 2 +- oroshi/doc/html/functions_func.html | 2 +- oroshi/doc/html/graph_legend.html | 2 +- oroshi/doc/html/index.html | 2 +- oroshi/doc/latex/refman.tex | 2 +- oroshi/python/WIP_Transistor.py | 74 +- stratus1/src/dpgen/dpgen_ADSB2F.py | 16 +- stratus1/src/stratus/st_instance.py | 12 +- stratus1/src/stratus/st_model.py | 2 +- stratus1/src/stratus/st_net.py | 6 +- stratus1/src/stratus/st_ref.py | 13 +- .../unicorn/html/UnicornGui_8h_source.html | 2 +- unicorn/doc/unicorn/html/annotated.html | 2 +- .../classUnicorn_1_1UnicornGui-members.html | 2 +- .../html/classUnicorn_1_1UnicornGui.html | 2 +- unicorn/doc/unicorn/html/classes.html | 2 +- .../dir_4aa09a10ca668c28f3c8e57fb374580b.html | 2 +- .../dir_68267d1309a1af8e8297ef4c3efbcdba.html | 2 +- unicorn/doc/unicorn/html/files.html | 2 +- unicorn/doc/unicorn/html/functions.html | 2 +- unicorn/doc/unicorn/html/functions_func.html | 2 +- unicorn/doc/unicorn/html/hierarchy.html | 2 +- unicorn/doc/unicorn/html/index.html | 2 +- .../doc/unicorn/html/namespaceUnicorn.html | 2 +- unicorn/doc/unicorn/html/namespaces.html | 2 +- unicorn/doc/unicorn/html/pages.html | 2 +- unicorn/doc/unicorn/latex/refman.tex | 2 +- unicorn/src/cgt.py | 14 +- vlsisapd/doc/html/agds.html | 2 +- vlsisapd/doc/html/annotated.html | 2 +- vlsisapd/doc/html/cif.html | 2 +- .../doc/html/class_a_g_d_s_1_1_element.html | 2 +- .../doc/html/class_a_g_d_s_1_1_library.html | 2 +- .../doc/html/class_a_g_d_s_1_1_rectangle.html | 2 +- .../doc/html/class_a_g_d_s_1_1_structure.html | 2 +- vlsisapd/doc/html/class_bloc.html | 2 +- .../doc/html/class_c_i_f_1_1_circuit.html | 2 +- .../doc/html/class_c_i_f_1_1_polygon.html | 2 +- vlsisapd/doc/html/class_circuit.html | 2 +- vlsisapd/doc/html/class_d_t_r_1_1_a_rule.html | 2 +- .../html/class_d_t_r_1_1_d_t_r_exception.html | 2 +- vlsisapd/doc/html/class_d_t_r_1_1_rule.html | 2 +- vlsisapd/doc/html/class_d_t_r_1_1_techno.html | 2 +- vlsisapd/doc/html/class_device.html | 2 +- vlsisapd/doc/html/class_group.html | 2 +- vlsisapd/doc/html/class_instance.html | 2 +- vlsisapd/doc/html/class_instance_point.html | 2 +- .../doc/html/class_intermediate_point.html | 2 +- vlsisapd/doc/html/class_layout.html | 2 +- vlsisapd/doc/html/class_name.html | 2 +- vlsisapd/doc/html/class_net.html | 2 +- .../doc/html/class_net_1_1_connection.html | 2 +- vlsisapd/doc/html/class_netlist.html | 2 +- vlsisapd/doc/html/class_node.html | 2 +- .../doc/html/class_open_chams_exception.html | 2 +- vlsisapd/doc/html/class_operator.html | 2 +- .../html/class_operator_1_1_constraint.html | 2 +- vlsisapd/doc/html/class_parameters.html | 2 +- vlsisapd/doc/html/class_port.html | 2 +- vlsisapd/doc/html/class_port_point.html | 2 +- .../html/class_s_p_i_c_e_1_1_capacitor.html | 2 +- .../doc/html/class_s_p_i_c_e_1_1_circuit.html | 2 +- .../doc/html/class_s_p_i_c_e_1_1_current.html | 2 +- .../html/class_s_p_i_c_e_1_1_instance.html | 2 +- .../doc/html/class_s_p_i_c_e_1_1_mosfet.html | 2 +- .../html/class_s_p_i_c_e_1_1_resistor.html | 2 +- .../doc/html/class_s_p_i_c_e_1_1_source.html | 2 +- .../class_s_p_i_c_e_1_1_spice_exception.html | 2 +- .../doc/html/class_s_p_i_c_e_1_1_subckt.html | 2 +- .../doc/html/class_s_p_i_c_e_1_1_value.html | 2 +- .../doc/html/class_s_p_i_c_e_1_1_voltage.html | 2 +- vlsisapd/doc/html/class_schematic.html | 2 +- .../doc/html/class_schematic_1_1_infos.html | 2 +- vlsisapd/doc/html/class_simul_model.html | 2 +- vlsisapd/doc/html/class_sizing.html | 2 +- vlsisapd/doc/html/class_transistor.html | 2 +- vlsisapd/doc/html/class_wire.html | 2 +- vlsisapd/doc/html/class_wire_point.html | 2 +- vlsisapd/doc/html/classes.html | 2 +- vlsisapd/doc/html/contact.html | 2 +- .../dir_194c6646cbe14a62ea0314c7fca681a9.html | 2 +- .../dir_2852b3f74447b3eef98d33971cc12e93.html | 2 +- .../dir_37f2f7cf13fe8b3dbbf4df2dcd9db30e.html | 2 +- .../dir_39781fe580a6e198d1f524a1e4a0bc7e.html | 2 +- .../dir_47b618c8860794e76993335614edf751.html | 2 +- .../dir_55e17805e082fdc46e6a3a5c39067580.html | 2 +- .../dir_59ec496789535d63823312241afb9b7f.html | 2 +- .../dir_61fcc85a192620389e1754e99f550e16.html | 2 +- .../dir_622483769e0f2cd8e596ff15be97e36f.html | 2 +- .../dir_68267d1309a1af8e8297ef4c3efbcdba.html | 2 +- .../dir_71789bf9375547e252911cdb9a2317ae.html | 2 +- .../dir_7665d8bfef91390195a0fbeced79f129.html | 2 +- .../dir_97fdc78ce1a397e825572027accd162c.html | 2 +- .../dir_bf3fa239d58b225d86806ac9c8613e9c.html | 2 +- .../dir_c663fdd46c388fa35da0cbda7880ed60.html | 2 +- .../dir_d524a314c3e79ad7dcb6d469d1af3bdb.html | 2 +- .../dir_e15e6a3c4c4383a9f2520d7186345132.html | 2 +- vlsisapd/doc/html/dtr.html | 2 +- vlsisapd/doc/html/functions.html | 2 +- vlsisapd/doc/html/functions_func.html | 2 +- vlsisapd/doc/html/hierarchy.html | 2 +- vlsisapd/doc/html/index.html | 2 +- vlsisapd/doc/html/openchams.html | 2 +- vlsisapd/doc/html/pages.html | 2 +- vlsisapd/doc/html/spice.html | 2 +- .../html/struct_s_p_i_c_e_1_1map__item.html | 2 +- .../doc/latex/class_a_g_d_s_1_1_element.pdf | Bin 4811 -> 4837 bytes .../doc/latex/class_a_g_d_s_1_1_rectangle.pdf | Bin 4808 -> 4836 bytes vlsisapd/doc/latex/class_d_t_r_1_1_a_rule.pdf | Bin 4088 -> 4108 bytes vlsisapd/doc/latex/class_d_t_r_1_1_rule.pdf | Bin 4089 -> 4108 bytes .../latex/class_s_p_i_c_e_1_1_capacitor.pdf | Bin 4826 -> 4862 bytes .../doc/latex/class_s_p_i_c_e_1_1_current.pdf | Bin 4515 -> 4571 bytes .../latex/class_s_p_i_c_e_1_1_instance.pdf | Bin 5338 -> 5331 bytes .../doc/latex/class_s_p_i_c_e_1_1_mosfet.pdf | Bin 4650 -> 4660 bytes .../latex/class_s_p_i_c_e_1_1_resistor.pdf | Bin 4773 -> 4764 bytes .../doc/latex/class_s_p_i_c_e_1_1_source.pdf | Bin 5174 -> 5180 bytes .../doc/latex/class_s_p_i_c_e_1_1_voltage.pdf | Bin 4774 -> 4821 bytes 1101 files changed, 7700 insertions(+), 5366 deletions(-) create mode 100644 crlcore/etc/common/__init__.py create mode 100644 crlcore/etc/common/analog.py create mode 100644 crlcore/etc/common/colors.py create mode 100644 crlcore/etc/common/devices.py create mode 100644 crlcore/etc/common/display.py create mode 100644 crlcore/etc/common/etesian.py create mode 100644 crlcore/etc/common/kite.py create mode 100644 crlcore/etc/common/misc.py create mode 100644 crlcore/etc/common/patterns.py create mode 100644 crlcore/etc/common/stratus1.py create mode 100644 crlcore/etc/common/technology.py create mode 100644 crlcore/etc/node180/__init__.py create mode 100644 crlcore/etc/node180/scn6m_deep_09/__init__.py create mode 100644 crlcore/etc/node180/scn6m_deep_09/alliance.py create mode 100644 crlcore/etc/node180/scn6m_deep_09/analog.py create mode 100644 crlcore/etc/node180/scn6m_deep_09/devices.py create mode 100644 crlcore/etc/node180/scn6m_deep_09/display.py create mode 100644 crlcore/etc/node180/scn6m_deep_09/dtr_scn6m_deep_09.py create mode 100644 crlcore/etc/node180/scn6m_deep_09/etesian.py create mode 100644 crlcore/etc/node180/scn6m_deep_09/kite.py create mode 100644 crlcore/etc/node180/scn6m_deep_09/misc.py create mode 100644 crlcore/etc/node180/scn6m_deep_09/patterns.py create mode 100644 crlcore/etc/node180/scn6m_deep_09/plugins.py create mode 100644 crlcore/etc/node180/scn6m_deep_09/stratus1.py create mode 100644 crlcore/etc/node180/scn6m_deep_09/technology.py create mode 100644 crlcore/etc/symbolic/__init__.py create mode 100644 crlcore/etc/symbolic/cmos/__init__.py create mode 100644 crlcore/etc/symbolic/cmos/alliance.py create mode 100644 crlcore/etc/symbolic/cmos/analog.py create mode 100644 crlcore/etc/symbolic/cmos/display.py create mode 100644 crlcore/etc/symbolic/cmos/etesian.py create mode 100644 crlcore/etc/symbolic/cmos/kite.py create mode 100644 crlcore/etc/symbolic/cmos/misc.py create mode 100644 crlcore/etc/symbolic/cmos/patterns.py create mode 100644 crlcore/etc/symbolic/cmos/plugins.py create mode 100644 crlcore/etc/symbolic/cmos/stratus1.py create mode 100644 crlcore/etc/symbolic/cmos/technology.py create mode 100644 crlcore/etc/symbolic/cmos45/__init__.py create mode 100644 crlcore/etc/symbolic/cmos45/alliance.py create mode 100644 crlcore/etc/symbolic/cmos45/analog.py create mode 100644 crlcore/etc/symbolic/cmos45/display.py create mode 100644 crlcore/etc/symbolic/cmos45/etesian.py create mode 100644 crlcore/etc/symbolic/cmos45/kite.py create mode 100644 crlcore/etc/symbolic/cmos45/misc.py create mode 100644 crlcore/etc/symbolic/cmos45/patterns.py create mode 100644 crlcore/etc/symbolic/cmos45/plugins.py create mode 100644 crlcore/etc/symbolic/cmos45/stratus1.py create mode 100644 crlcore/etc/symbolic/cmos45/technology.py create mode 100644 crlcore/src/pyCRL/PySystem.cpp create mode 100644 crlcore/src/pyCRL/crlcore/PySystem.h delete mode 100644 documentation/_build/doctrees/ConfigurationTechnology/Architecture.doctree delete mode 100644 documentation/_build/doctrees/ConfigurationTechnology/index.doctree delete mode 100644 documentation/_build/doctrees/ConfigurationTechnology/pdfHeader.doctree delete mode 100644 documentation/_build/html/ConfigurationTechnology/Architecture.html delete mode 100644 documentation/_build/html/ConfigurationTechnology/index.html delete mode 100644 documentation/_build/html/ConfigurationTechnology/pdfHeader.html delete mode 100644 documentation/_build/html/_sources/ConfigurationTechnology/Architecture.txt delete mode 100644 documentation/_build/html/_sources/ConfigurationTechnology/index.txt delete mode 100644 documentation/_build/html/_sources/ConfigurationTechnology/pdfHeader.txt rename hurricane/src/analog/{MIMCapacitor.cpp => MultiCapacitor.cpp} (68%) create mode 100644 hurricane/src/analog/PyCapacitiesParameter.cpp delete mode 100644 hurricane/src/analog/PyMIMCapacitor.cpp create mode 100644 hurricane/src/analog/PyMatrixParameter.cpp create mode 100644 hurricane/src/analog/PyMultiCapacitor.cpp create mode 100644 hurricane/src/analog/hurricane/analog/CapacitiesParameter.h create mode 100644 hurricane/src/analog/hurricane/analog/Matrix.h create mode 100644 hurricane/src/analog/hurricane/analog/MatrixParameter.h rename hurricane/src/analog/hurricane/analog/{MIMCapacitor.h => MultiCapacitor.h} (53%) create mode 100644 hurricane/src/analog/hurricane/analog/PyCapacitiesParameter.h create mode 100644 hurricane/src/analog/hurricane/analog/PyMatrixParameter.h rename hurricane/src/analog/hurricane/analog/{PyMIMCapacitor.h => PyMultiCapacitor.h} (59%) diff --git a/anabatic/src/AutoContact.cpp b/anabatic/src/AutoContact.cpp index 1ae6a1d8..c2a6f973 100644 --- a/anabatic/src/AutoContact.cpp +++ b/anabatic/src/AutoContact.cpp @@ -198,6 +198,19 @@ namespace Anabatic { } + void AutoContact::updateLayer () + { + size_t minDepth = (size_t)-1; + size_t maxDepth = 0; + + getDepthSpan( minDepth, maxDepth ); + if (minDepth == maxDepth) + setLayer( Session::getRoutingGauge()->getRoutingLayer(minDepth) ); + else + setLayer( Session::getRoutingGauge()->getContactLayer(minDepth) ); + } + + void AutoContact::getLengths ( DbU::Unit* lengths, AutoSegment::DepthLengthSet& processeds ) { DbU::Unit hSideLength = getGCell()->getSide( Flags::Horizontal ).getSize(); diff --git a/anabatic/src/AutoSegment.cpp b/anabatic/src/AutoSegment.cpp index 3b3b324a..59727746 100644 --- a/anabatic/src/AutoSegment.cpp +++ b/anabatic/src/AutoSegment.cpp @@ -2212,15 +2212,11 @@ namespace Anabatic { if (isSource) { doglegs[ index + 0 ]->setLayer( std::max((size_t)1,segmentDepth-2) ); - doglegs[ index + 1 ]->getAutoSource()->setLayer( rg->getContactLayer(segmentDepth-2) ); - doglegs[ index + 1 ]->getAutoTarget()->setLayer( rg->getContactLayer(segmentDepth-1) ); cdebug_log(149,0) << "doglegs[i+0]: " << doglegs[index+0] << endl; cdebug_log(149,0) << "doglegs[i+1]: " << doglegs[index+1]->getAutoSource() << endl; cdebug_log(149,0) << "doglegs[i+1]: " << doglegs[index+1]->getAutoTarget() << endl; } else { doglegs[ index + 2 ]->setLayer( std::max((size_t)1,segmentDepth-2) ); - doglegs[ index + 1 ]->getAutoTarget()->setLayer( rg->getContactLayer(segmentDepth-2) ); - doglegs[ index + 1 ]->getAutoSource()->setLayer( rg->getContactLayer(segmentDepth-1) ); cdebug_log(149,0) << "doglegs[i+2]: " << doglegs[index+2] << endl; cdebug_log(149,0) << "doglegs[i+1]: " << doglegs[index+1]->getAutoTarget() << endl; cdebug_log(149,0) << "doglegs[i+1]: " << doglegs[index+1]->getAutoSource() << endl; @@ -2233,20 +2229,18 @@ namespace Anabatic { if (isSource) { doglegs[ index + 0 ]->setLayer( segmentDepth+2 ); - doglegs[ index + 1 ]->getAutoSource()->setLayer( rg->getContactLayer(segmentDepth+1) ); - doglegs[ index + 1 ]->getAutoTarget()->setLayer( rg->getContactLayer(segmentDepth ) ); cdebug_log(149,0) << "doglegs[i+0]: " << doglegs[index+0] << endl; cdebug_log(149,0) << "doglegs[i+1]: " << doglegs[index+1]->getAutoSource() << endl; cdebug_log(149,0) << "doglegs[i+1]: " << doglegs[index+1]->getAutoTarget() << endl; } else { doglegs[ index + 2 ]->setLayer( segmentDepth+2 ); - doglegs[ index + 1 ]->getAutoTarget()->setLayer( rg->getContactLayer(segmentDepth+1) ); - doglegs[ index + 1 ]->getAutoSource()->setLayer( rg->getContactLayer(segmentDepth ) ); cdebug_log(149,0) << "doglegs[i+2]: " << doglegs[index+2] << endl; cdebug_log(149,0) << "doglegs[i+1]: " << doglegs[index+1]->getAutoTarget() << endl; cdebug_log(149,0) << "doglegs[i+1]: " << doglegs[index+1]->getAutoSource() << endl; } } + doglegs[ index + 1 ]->getAutoSource()->updateLayer(); + doglegs[ index + 1 ]->getAutoTarget()->updateLayer(); } cdebug_tabw(149,-1); diff --git a/anabatic/src/Dijkstra.cpp b/anabatic/src/Dijkstra.cpp index 2cfe0373..51635ccd 100644 --- a/anabatic/src/Dijkstra.cpp +++ b/anabatic/src/Dijkstra.cpp @@ -1505,8 +1505,8 @@ namespace Anabatic { cdebug_log(112,0) << bb.getXMin() << " " << bb.getXMax() << endl; cdebug_log(112,0) << "center X:" << center.getX() << " gcell Xmax:" << gcell->getXMax() << endl; - - _limitSymSearchArea(rp); // ANALOG + + if (state and state->isSymmetric()) _limitSymSearchArea( rp ); if (not gcell) { cerr << Error( "Dijkstra::load(): %s\n" diff --git a/anabatic/src/anabatic/AutoContact.h b/anabatic/src/anabatic/AutoContact.h index 6c85299d..d3d044a9 100644 --- a/anabatic/src/anabatic/AutoContact.h +++ b/anabatic/src/anabatic/AutoContact.h @@ -163,6 +163,7 @@ namespace Anabatic { virtual void cacheDetach ( AutoSegment* ) = 0; virtual void cacheAttach ( AutoSegment* ) = 0; virtual void updateCache () = 0; + void updateLayer (); void updateSize (); virtual void updateGeometry () = 0; virtual void updateTopology () = 0; diff --git a/bootstrap/coriolisEnv.py b/bootstrap/coriolisEnv.py index dea6d07e..098e2003 100755 --- a/bootstrap/coriolisEnv.py +++ b/bootstrap/coriolisEnv.py @@ -289,6 +289,7 @@ if __name__ == "__main__": strippedPythonPath = "%s/cumulus:" % (sitePackagesDir) + strippedPythonPath strippedPythonPath = "%s/cumulus/plugins:" % (sitePackagesDir) + strippedPythonPath strippedPythonPath = "%s/stratus:" % (sitePackagesDir) + strippedPythonPath + strippedPythonPath = "%s:" % (sysconfDir) + strippedPythonPath shellScriptSh += 'PYTHONPATH="%(PYTHONPATH)s";' \ 'export PYTHONPATH;' diff --git a/crlcore/doc/crlcore/html/AcmSigda_8h_source.html b/crlcore/doc/crlcore/html/AcmSigda_8h_source.html index d8b0635a..404b45ba 100644 --- a/crlcore/doc/crlcore/html/AcmSigda_8h_source.html +++ b/crlcore/doc/crlcore/html/AcmSigda_8h_source.html @@ -54,7 +54,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/AllianceFramework_8h_source.html b/crlcore/doc/crlcore/html/AllianceFramework_8h_source.html index bd55ab71..f90d5ca5 100644 --- a/crlcore/doc/crlcore/html/AllianceFramework_8h_source.html +++ b/crlcore/doc/crlcore/html/AllianceFramework_8h_source.html @@ -44,7 +44,7 @@ $(function() {
AllianceFramework.h
-
1 // -*- C++ -*-
2 //
3 // This file is part of the Coriolis Software.
4 // Copyright (c) UPMC 2008-2018, All Rights Reserved
5 //
6 // +-----------------------------------------------------------------+
7 // | C O R I O L I S |
8 // | Alliance / Hurricane Interface |
9 // | |
10 // | Author : Jean-Paul CHAPUT |
11 // | E-mail : Jean-Paul.Chaput@lip6.fr |
12 // | =============================================================== |
13 // | C++ Header : "./crlcore/AllianceFramework.h" |
14 // +-----------------------------------------------------------------+
15 
16 
17 #ifndef CRL_ALLIANCE_FRAMEWORK_H
18 #define CRL_ALLIANCE_FRAMEWORK_H
19 
20 #include <map>
21 #include <limits>
22 #include "hurricane/Cell.h"
23 #include "crlcore/Environment.h"
24 #include "crlcore/AllianceLibrary.h"
25 #include "crlcore/Catalog.h"
26 #include "crlcore/ParsersDrivers.h"
27 
28 
29 namespace CRL {
30 
31  using Hurricane::Observable;
32  using Hurricane::BaseObserver;
35  using Hurricane::DbU;
36  using Hurricane::Cell;
37  using Hurricane::Net;
38  class RoutingGauge;
39  class CellGauge;
40 
41 
43  public:
44  enum FunctionsFlags { NoFlags = 0
45  , NoPythonInit = (1<<0)
46  };
48  , IgnoreFeeds = (1<<1)
49  };
50  enum LibraryFlags { CreateLibrary = (1<<0)
51  , AppendLibrary = (1<<1)
52  , HasCatalog = (1<<2)
53  };
54  enum NotifyFlags { AddedLibrary = (1<<0)
55  , RemovedLibrary = (1<<1)
56  , ConfigChanged = (1<<2)
57  };
58  public:
59  // Constructors.
60  static AllianceFramework* create ( unsigned long flags=NoFlags );
61  // Destructors.
62  void destroy ();
63  // Accessors.
64  static AllianceFramework* get ();
65  string getPrint () const;
66  // Predicates.
67  Catalog::State* isInCatalog ( const Name& );
68  Catalog::State* isInCatalog ( string );
69  inline bool isPOWER ( const char* name );
70  inline bool isPOWER ( const string& name );
71  inline bool isPOWER ( const Name& name );
72  inline bool isGROUND ( const char* name );
73  inline bool isGROUND ( const string& name );
74  inline bool isGROUND ( const Name& name );
75  inline bool isCLOCK ( const char* name );
76  inline bool isCLOCK ( const string& name );
77  inline bool isCLOCK ( const Name& name );
78  inline bool isBLOCKAGE ( const char* name );
79  inline bool isBLOCKAGE ( const string& name );
80  inline bool isBLOCKAGE ( const Name& name );
81  inline bool isBLOCKAGE ( const Net* net );
82  inline bool isPad ( const char* name );
83  inline bool isPad ( const string& name );
84  inline bool isPad ( const Name& name );
85  inline bool isPad ( const Cell* );
86  // Accessors.
87  inline Environment* getEnvironment ();
88  inline Catalog* getCatalog ();
89  inline const Name& getParentLibraryName () const;
90  inline Library* getParentLibrary ();
91  Library* getLibrary ( unsigned int index );
92  Library* getLibrary ( const Name& libName );
93  AllianceLibrary* getAllianceLibrary ( unsigned int index );
94  AllianceLibrary* getAllianceLibrary ( const Name& libName, unsigned int flags );
95  AllianceLibrary* getAllianceLibrary ( Library* );
96  AllianceLibrary* createLibrary ( const string& path, unsigned int flags, string libName="" );
97  inline const AllianceLibraries& getAllianceLibraries () const;
98  void saveLibrary ( Library* );
99  void saveLibrary ( AllianceLibrary* );
100  RoutingGauge* getRoutingGauge ( const Name& name="" );
101  CellGauge* getCellGauge ( const Name& name="" );
102  CellGauge* matchCellGauge ( DbU::Unit width, DbU::Unit height ) const;
103  CellGauge* matchCellGaugeByHeight ( DbU::Unit height ) const;
104  inline const Name getDefaultCGPinLayerName () const;
105  // Modifiers.
106  RoutingGauge* setRoutingGauge ( const Name& name="" );
107  CellGauge* setCellGauge ( const Name& name="" );
108  void addRoutingGauge ( RoutingGauge* );
109  void addCellGauge ( CellGauge* );
110  void addObserver ( BaseObserver* );
111  void removeObserver ( BaseObserver* );
112  void notify ( unsigned int flags );
113  // Cell Management.
114  Cell* cellLoader ( const string& rpath );
115  Cell* getCell ( const string& name
116  , unsigned int mode
117  , unsigned int depth=(unsigned int)-1 );
118  Cell* createCell ( const string& name, AllianceLibrary* library=NULL );
119  void saveCell ( Cell* , unsigned int mode );
120  unsigned int loadLibraryCells ( Library* );
121  unsigned int loadLibraryCells ( const Name& );
122  static size_t getInstancesCount ( Cell*, unsigned int flags );
123  // Hurricane Managment.
124  void toJson ( JsonWriter* ) const;
125  inline string _getTypeName () const;
126  string _getString () const;
127  Record* _getRecord () const;
128 
129  // Internals - Attributes.
130  protected:
131  static const Name _parentLibraryName;
132  static AllianceFramework* _singleton;
133  Observable _observers;
134  Environment _environment;
135  ParsersMap _parsers;
136  DriversMap _drivers;
137  Catalog _catalog;
138  AllianceLibraries _libraries;
139  Library* _parentLibrary;
140  map<Name,RoutingGauge*> _routingGauges;
141  RoutingGauge* _defaultRoutingGauge;
142  map<Name,CellGauge*> _cellGauges;
143  CellGauge* _defaultCellGauge;
144 
145  // Internals - Constructors.
146  AllianceFramework ();
147  AllianceFramework ( const AllianceFramework& );
148  AllianceFramework& operator= ( const AllianceFramework& );
149  // Internals - Destructors.
150  ~AllianceFramework ();
151  // Internals - Methods.
152  bool _readLocate ( const string& file, unsigned int mode, bool isLib=false );
153  bool _writeLocate ( const string& file, unsigned int mode, bool isLib=false );
154  AllianceLibrary* _createLibrary ( const string& path, bool& hasCatalog );
155  void _bindLibraries ();
156  };
157 
158  inline bool AllianceFramework::isPOWER ( const char* name ) { return _environment.isPOWER(name); }
159  inline bool AllianceFramework::isPOWER ( const string& name ) { return isPOWER(name.c_str()); }
160  inline bool AllianceFramework::isPOWER ( const Name& name ) { return isPOWER(getString(name)); }
161  inline bool AllianceFramework::isGROUND ( const char* name ) { return _environment.isGROUND(name); }
162  inline bool AllianceFramework::isGROUND ( const string& name ) { return isGROUND(name.c_str()); }
163  inline bool AllianceFramework::isGROUND ( const Name& name ) { return isGROUND(getString(name)); }
164  inline bool AllianceFramework::isCLOCK ( const char* name ) { return _environment.isCLOCK(name); }
165  inline bool AllianceFramework::isCLOCK ( const string& name ) { return isCLOCK(name.c_str()); }
166  inline bool AllianceFramework::isCLOCK ( const Name& name ) { return isCLOCK(getString(name)); }
167  inline bool AllianceFramework::isBLOCKAGE ( const char* name ) { return _environment.isBLOCKAGE(name); }
168  inline bool AllianceFramework::isBLOCKAGE ( const string& name ) { return isBLOCKAGE(name.c_str()); }
169  inline bool AllianceFramework::isBLOCKAGE ( const Name& name ) { return isBLOCKAGE(getString(name)); }
170  inline bool AllianceFramework::isBLOCKAGE ( const Net* net ) { return isBLOCKAGE(net->getName()); }
171  inline bool AllianceFramework::isPad ( const char* name ) { return _environment.isPad(name); }
172  inline bool AllianceFramework::isPad ( const string& name ) { return isPad(name.c_str()); }
173  inline bool AllianceFramework::isPad ( const Name& name ) { return isPad(getString(name)); }
174  inline bool AllianceFramework::isPad ( const Cell* cell ) { return isPad(cell->getName()); }
175  inline Environment* AllianceFramework::getEnvironment () { return &_environment; }
176  inline Catalog* AllianceFramework::getCatalog () { return &_catalog; }
178  () const { return _parentLibraryName; }
179  inline Library* AllianceFramework::getParentLibrary () { return _parentLibrary; }
180  inline const AllianceLibraries&
181  AllianceFramework::getAllianceLibraries () const { return _libraries; }
182 // TEMPORARY.
184  () const { return "CALU1"; }
185  inline string AllianceFramework::_getTypeName () const { return "AllianceFramework"; }
186 
187 
188  class JsonAllianceFramework : public JsonObject {
189  public:
190  static void initialize ();
191  JsonAllianceFramework( unsigned long );
192  virtual ~JsonAllianceFramework();
193  virtual string getTypeName () const;
194  virtual JsonAllianceFramework* clone ( unsigned long ) const;
195  virtual void toData ( JsonStack& );
196  private:
197  std::string _defaultRoutingGauge;
198  std::string _defaultCellGauge;
199  };
200 
201 
202 } // CRL namespace.
203 
204 
205 INSPECTOR_P_SUPPORT(CRL::AllianceFramework);
206 
207 #endif // CRL_ALLIANCE_FRAMEWORK_H
bool isBLOCKAGE(const char *name) const
+
1 // -*- C++ -*-
2 //
3 // This file is part of the Coriolis Software.
4 // Copyright (c) UPMC 2008-2018, All Rights Reserved
5 //
6 // +-----------------------------------------------------------------+
7 // | C O R I O L I S |
8 // | Alliance / Hurricane Interface |
9 // | |
10 // | Author : Jean-Paul CHAPUT |
11 // | E-mail : Jean-Paul.Chaput@lip6.fr |
12 // | =============================================================== |
13 // | C++ Header : "./crlcore/AllianceFramework.h" |
14 // +-----------------------------------------------------------------+
15 
16 
17 #ifndef CRL_ALLIANCE_FRAMEWORK_H
18 #define CRL_ALLIANCE_FRAMEWORK_H
19 
20 #include <map>
21 #include <limits>
22 #include "hurricane/Cell.h"
23 #include "crlcore/Environment.h"
24 #include "crlcore/AllianceLibrary.h"
25 #include "crlcore/Catalog.h"
26 #include "crlcore/ParsersDrivers.h"
27 
28 
29 namespace CRL {
30 
31  using Hurricane::Observable;
32  using Hurricane::BaseObserver;
35  using Hurricane::DbU;
36  using Hurricane::Cell;
37  using Hurricane::Net;
38  class RoutingGauge;
39  class CellGauge;
40 
41 
43  public:
44  enum FunctionsFlags { NoFlags = 0
45  , NoPythonInit = (1<<0)
46  };
48  , IgnoreFeeds = (1<<1)
49  };
50  enum LibraryFlags { CreateLibrary = (1<<0)
51  , AppendLibrary = (1<<1)
52  , HasCatalog = (1<<2)
53  };
54  enum NotifyFlags { AddedLibrary = (1<<0)
55  , RemovedLibrary = (1<<1)
56  , ConfigChanged = (1<<2)
57  };
58  public:
59  // Constructors.
60  static AllianceFramework* create ( unsigned long flags=NoFlags );
61  // Destructors.
62  void destroy ();
63  // Accessors.
64  static AllianceFramework* get ();
65  string getPrint () const;
66  // Predicates.
67  Catalog::State* isInCatalog ( const Name& );
68  Catalog::State* isInCatalog ( string );
69  inline bool isPOWER ( const char* name );
70  inline bool isPOWER ( const string& name );
71  inline bool isPOWER ( const Name& name );
72  inline bool isGROUND ( const char* name );
73  inline bool isGROUND ( const string& name );
74  inline bool isGROUND ( const Name& name );
75  inline bool isCLOCK ( const char* name );
76  inline bool isCLOCK ( const string& name );
77  inline bool isCLOCK ( const Name& name );
78  inline bool isBLOCKAGE ( const char* name );
79  inline bool isBLOCKAGE ( const string& name );
80  inline bool isBLOCKAGE ( const Name& name );
81  inline bool isBLOCKAGE ( const Net* net );
82  inline bool isPad ( const char* name );
83  inline bool isPad ( const string& name );
84  inline bool isPad ( const Name& name );
85  inline bool isPad ( const Cell* );
86  // Accessors.
87  inline Environment* getEnvironment ();
88  inline Catalog* getCatalog ();
89  inline const Name& getParentLibraryName () const;
90  inline Library* getParentLibrary ();
91  Library* getLibrary ( unsigned int index );
92  Library* getLibrary ( const Name& libName );
93  AllianceLibrary* getAllianceLibrary ( unsigned int index );
94  AllianceLibrary* getAllianceLibrary ( const Name& libName, unsigned int flags );
95  AllianceLibrary* getAllianceLibrary ( Library* );
96  AllianceLibrary* createLibrary ( const string& path, unsigned int flags, string libName="" );
97  inline const AllianceLibraries& getAllianceLibraries () const;
98  void saveLibrary ( Library* );
99  void saveLibrary ( AllianceLibrary* );
100  RoutingGauge* getRoutingGauge ( const Name& name="" );
101  CellGauge* getCellGauge ( const Name& name="" );
102  CellGauge* matchCellGauge ( DbU::Unit width, DbU::Unit height ) const;
103  CellGauge* matchCellGaugeByHeight ( DbU::Unit height ) const;
104  inline const Name getDefaultCGPinLayerName () const;
105  // Modifiers.
106  RoutingGauge* setRoutingGauge ( const Name& name="" );
107  CellGauge* setCellGauge ( const Name& name="" );
108  void addRoutingGauge ( RoutingGauge* );
109  void addCellGauge ( CellGauge* );
110  void addObserver ( BaseObserver* );
111  void removeObserver ( BaseObserver* );
112  void notify ( unsigned int flags );
113  // Cell Management.
114  Cell* cellLoader ( const string& rpath );
115  Cell* getCell ( const string& name
116  , unsigned int mode
117  , unsigned int depth=(unsigned int)-1 );
118  Cell* createCell ( const string& name, AllianceLibrary* library=NULL );
119  void saveCell ( Cell* , unsigned int mode );
120  void bindLibraries ();
121  unsigned int loadLibraryCells ( Library* );
122  unsigned int loadLibraryCells ( const Name& );
123  static size_t getInstancesCount ( Cell*, unsigned int flags );
124  // Hurricane Managment.
125  void toJson ( JsonWriter* ) const;
126  inline string _getTypeName () const;
127  string _getString () const;
128  Record* _getRecord () const;
129 
130  // Internals - Attributes.
131  protected:
132  static const Name _parentLibraryName;
133  static AllianceFramework* _singleton;
134  Observable _observers;
135  Environment _environment;
136  ParsersMap _parsers;
137  DriversMap _drivers;
138  Catalog _catalog;
139  AllianceLibraries _libraries;
140  Library* _parentLibrary;
141  map<Name,RoutingGauge*> _routingGauges;
142  RoutingGauge* _defaultRoutingGauge;
143  map<Name,CellGauge*> _cellGauges;
144  CellGauge* _defaultCellGauge;
145 
146  // Internals - Constructors.
147  AllianceFramework ();
148  AllianceFramework ( const AllianceFramework& );
149  AllianceFramework& operator= ( const AllianceFramework& );
150  // Internals - Destructors.
151  ~AllianceFramework ();
152  // Internals - Methods.
153  bool _readLocate ( const string& file, unsigned int mode, bool isLib=false );
154  bool _writeLocate ( const string& file, unsigned int mode, bool isLib=false );
155  AllianceLibrary* _createLibrary ( const string& path, bool& hasCatalog );
156  };
157 
158  inline bool AllianceFramework::isPOWER ( const char* name ) { return _environment.isPOWER(name); }
159  inline bool AllianceFramework::isPOWER ( const string& name ) { return isPOWER(name.c_str()); }
160  inline bool AllianceFramework::isPOWER ( const Name& name ) { return isPOWER(getString(name)); }
161  inline bool AllianceFramework::isGROUND ( const char* name ) { return _environment.isGROUND(name); }
162  inline bool AllianceFramework::isGROUND ( const string& name ) { return isGROUND(name.c_str()); }
163  inline bool AllianceFramework::isGROUND ( const Name& name ) { return isGROUND(getString(name)); }
164  inline bool AllianceFramework::isCLOCK ( const char* name ) { return _environment.isCLOCK(name); }
165  inline bool AllianceFramework::isCLOCK ( const string& name ) { return isCLOCK(name.c_str()); }
166  inline bool AllianceFramework::isCLOCK ( const Name& name ) { return isCLOCK(getString(name)); }
167  inline bool AllianceFramework::isBLOCKAGE ( const char* name ) { return _environment.isBLOCKAGE(name); }
168  inline bool AllianceFramework::isBLOCKAGE ( const string& name ) { return isBLOCKAGE(name.c_str()); }
169  inline bool AllianceFramework::isBLOCKAGE ( const Name& name ) { return isBLOCKAGE(getString(name)); }
170  inline bool AllianceFramework::isBLOCKAGE ( const Net* net ) { return isBLOCKAGE(net->getName()); }
171  inline bool AllianceFramework::isPad ( const char* name ) { return _environment.isPad(name); }
172  inline bool AllianceFramework::isPad ( const string& name ) { return isPad(name.c_str()); }
173  inline bool AllianceFramework::isPad ( const Name& name ) { return isPad(getString(name)); }
174  inline bool AllianceFramework::isPad ( const Cell* cell ) { return isPad(cell->getName()); }
175  inline Environment* AllianceFramework::getEnvironment () { return &_environment; }
176  inline Catalog* AllianceFramework::getCatalog () { return &_catalog; }
178  () const { return _parentLibraryName; }
179  inline Library* AllianceFramework::getParentLibrary () { return _parentLibrary; }
180  inline const AllianceLibraries&
181  AllianceFramework::getAllianceLibraries () const { return _libraries; }
182 // TEMPORARY.
184  () const { return "CALU1"; }
185  inline string AllianceFramework::_getTypeName () const { return "AllianceFramework"; }
186 
187 
188  class JsonAllianceFramework : public JsonObject {
189  public:
190  static void initialize ();
191  JsonAllianceFramework( unsigned long );
192  virtual ~JsonAllianceFramework();
193  virtual string getTypeName () const;
194  virtual JsonAllianceFramework* clone ( unsigned long ) const;
195  virtual void toData ( JsonStack& );
196  private:
197  std::string _defaultRoutingGauge;
198  std::string _defaultCellGauge;
199  };
200 
201 
202 } // CRL namespace.
203 
204 
205 INSPECTOR_P_SUPPORT(CRL::AllianceFramework);
206 
207 #endif // CRL_ALLIANCE_FRAMEWORK_H
bool isBLOCKAGE(const char *name) const
Library * getParentLibrary()
Definition: AllianceFramework.h:179
bool isCLOCK(const char *name) const
@@ -92,7 +92,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/AllianceLibrary_8h_source.html b/crlcore/doc/crlcore/html/AllianceLibrary_8h_source.html index 35b6f5a1..5b0345ed 100644 --- a/crlcore/doc/crlcore/html/AllianceLibrary_8h_source.html +++ b/crlcore/doc/crlcore/html/AllianceLibrary_8h_source.html @@ -59,7 +59,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/Banner_8h_source.html b/crlcore/doc/crlcore/html/Banner_8h_source.html index 887fc730..773b9d17 100644 --- a/crlcore/doc/crlcore/html/Banner_8h_source.html +++ b/crlcore/doc/crlcore/html/Banner_8h_source.html @@ -66,7 +66,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/Catalog_8h_source.html b/crlcore/doc/crlcore/html/Catalog_8h_source.html index 3424e139..05565129 100644 --- a/crlcore/doc/crlcore/html/Catalog_8h_source.html +++ b/crlcore/doc/crlcore/html/Catalog_8h_source.html @@ -44,86 +44,86 @@ $(function() {
Catalog.h
-
1 // -*- C++ -*-
2 //
3 // This file is part of the Coriolis Software.
4 // Copyright (c) UPMC 2008-2018, All Rights Reserved
5 //
6 // +-----------------------------------------------------------------+
7 // | C O R I O L I S |
8 // | Alliance / Hurricane Interface |
9 // | |
10 // | Author : Jean-Paul CHAPUT |
11 // | E-mail : Jean-Paul.Chaput@lip6.fr |
12 // | =============================================================== |
13 // | C++ Header : "./crlcore/Catalog.h" |
14 // +-----------------------------------------------------------------+
15 
16 
17 #ifndef CRL_CATALOG_H
18 #define CRL_CATALOG_H
19 
20 #include <string>
21 #include <map>
22 #include "hurricane/Name.h"
23 #include "hurricane/Property.h"
24 #include "hurricane/Slot.h"
25 
26 namespace Hurricane {
27  class Cell;
28  class Library;
29 }
30 
31 
32 namespace CRL {
33 
34 
35  using std::string;
36  using std::map;
39  using Hurricane::_TName;
40  using Hurricane::Name;
41  using Hurricane::Record;
43  using Hurricane::DBo;
44  using Hurricane::Cell;
45  using Hurricane::Library;
46  using Hurricane::Property;
47 
48 
49  extern const char* MissingStateProperty;
50 
51 
52 // -------------------------------------------------------------------
53 // Class : "CRL::Catalog".
54 
55 
56  class Catalog {
57 
58  public:
59  class State;
60  public:
61  inline Catalog ();
62  ~Catalog ();
63  State* getState ( const Name& name, bool add=false );
64  void mergeState ( const Name& name, const State& other );
65  bool deleteState ( const Name& name );
66  void clear ();
67  bool loadFromFile ( const string& path, Library* library );
68  inline map<Name,State*>* getStates ();
69  string _getPrint () const;
70  inline string _getTypeName () const;
71  string _getString () const;
72  Record* _getRecord () const;
73 
74  public:
75  // Sub-Class: State.
76  class State {
77  public:
78  // Flags Constants.
79  enum Flags { FlattenLeaf = 1 << 0
80  , Feed = 1 << 1
81  , Pad = 1 << 2
82  , GDS = 1 << 3
83  , Delete = 1 << 4
84  , Logical = 1 << 5
85  , Physical = 1 << 6
86  , InMemory = 1 << 7
87  , Foreign = 1 << 8
89  };
90  // Constructors.
91  inline State ();
92  ~State ();
93  // Predicates.
94  inline bool isFlattenLeaf () const;
95  inline bool isFeed () const;
96  inline bool isPad () const;
97  inline bool isGds () const;
98  inline bool isDelete () const;
99  inline bool isPhysical () const;
100  inline bool isLogical () const;
101  inline bool isInMemory () const;
102  // Flags management.
103  inline unsigned int getFlags ( unsigned int mask=(unsigned int)-1 ) const;
104  inline bool setFlags ( unsigned int mask, bool value );
105  inline bool setFlattenLeaf ( bool value );
106  inline bool setFeed ( bool value );
107  inline bool setPad ( bool value );
108  inline bool setGds ( bool value );
109  inline bool setDelete ( bool value );
110  inline bool setPhysical ( bool value );
111  inline bool setLogical ( bool value );
112  inline bool setInMemory ( bool value );
113  // Accessors.
114  inline Cell* getCell () const;
115  inline Library* getLibrary () const;
116  inline unsigned int getDepth () const;
117  // Modifiers.
118  inline void merge ( const State& other );
119  Cell* setCell ( Cell* cell );
120  inline Library* setLibrary ( Library* library );
121  inline void setDepth ( unsigned int depth );
122  // Hurricane Management.
123  void toJson ( JsonWriter* w ) const;
124  inline string _getTypeName () const;
125  string _getString () const;
126  Record* _getRecord () const;
127 
128  private:
129  // Internal - Attributes.
130  unsigned int _flags;
131  unsigned int _depth;
132  Cell* _cell;
133  Library* _library;
134 
135  // Json Property.
136  public:
137  class JsonState : public JsonObject {
138  public:
139  static void initialize ();
140  JsonState ( unsigned long flags );
141  virtual string getTypeName () const;
142  virtual JsonState* clone ( unsigned long ) const;
143  virtual void toData ( JsonStack& );
144  };
145  };
146 
147  private:
148  // Attributes.
149  map<Name,State*> _states;
150 
151  private:
152  Catalog ( const Catalog& );
153  static bool readLine ( const string& s, string& name, State* state );
154 
155  };
156 
157 
158 // -------------------------------------------------------------------
159 // Class : "CRL::CatalogProperty".
160 
161  class CatalogProperty : public PrivateProperty {
162 
163  public:
164  static Name _name;
165  public:
166  static CatalogProperty* create ( Catalog::State* state );
167  static Name getPropertyName ();
168  virtual Name getName () const;
169  inline Catalog::State* getState () const;
170  inline void setState ( Catalog::State* state );
171  virtual void onReleasedBy ( DBo* owner );
172  virtual bool hasJson () const;
173  virtual void toJson ( JsonWriter* w, const DBo* ) const;
174  virtual string _getTypeName () const;
175  virtual string _getString () const;
176  virtual Record* _getRecord () const;
177 
178  protected:
179  // Attributes.
180  Catalog::State* _state;
181 
182  protected:
183  // Constructor.
184  inline CatalogProperty ( Catalog::State* state );
185  };
186 
187 
188 // -------------------------------------------------------------------
189 // Class : "CRL::JsonCatalogProperty".
190 
191  class JsonCatalogProperty : public JsonObject {
192  public:
193  static void initialize ();
194  JsonCatalogProperty ( unsigned long );
195  virtual string getTypeName () const;
196  virtual JsonCatalogProperty* clone ( unsigned long ) const;
197  virtual void toData ( JsonStack& );
198  };
199 
200 
201 // -------------------------------------------------------------------
202 // Inline Functions.
203 
204  inline Catalog::State::State () : _flags(0), _depth(1), _cell(NULL), _library(NULL) { }
205  inline bool Catalog::State::isFlattenLeaf () const { return (_flags&FlattenLeaf)?1:0; }
206  inline bool Catalog::State::isFeed () const { return (_flags&Feed )?1:0; }
207  inline bool Catalog::State::isPad () const { return (_flags&Pad )?1:0; }
208  inline bool Catalog::State::isGds () const { return (_flags&GDS )?1:0; }
209  inline bool Catalog::State::isDelete () const { return (_flags&Delete )?1:0; }
210  inline bool Catalog::State::isPhysical () const { return (_flags&Physical )?1:0; }
211  inline bool Catalog::State::isLogical () const { return (_flags&Logical )?1:0; }
212  inline bool Catalog::State::isInMemory () const { return (_flags&InMemory )?1:0; }
213  inline unsigned int Catalog::State::getFlags ( unsigned int mask ) const { return ( _flags & mask ); }
214  inline bool Catalog::State::setFlags ( unsigned int mask, bool value ) {
215  if (value) { _flags |= mask; }
216  else { _flags &= ~mask; }
217  return ((_flags&mask) ? true : false);
218  }
219  inline bool Catalog::State::setFlattenLeaf ( bool value ) { return setFlags(FlattenLeaf,value); }
220  inline bool Catalog::State::setFeed ( bool value ) { return setFlags(Feed ,value); }
221  inline bool Catalog::State::setPad ( bool value ) { return setFlags(Pad ,value); }
222  inline bool Catalog::State::setGds ( bool value ) { return setFlags(GDS ,value); }
223  inline bool Catalog::State::setDelete ( bool value ) { return setFlags(Delete ,value); }
224  inline bool Catalog::State::setPhysical ( bool value ) { return setFlags(Physical ,value); }
225  inline bool Catalog::State::setLogical ( bool value ) { return setFlags(Logical ,value); }
226  inline bool Catalog::State::setInMemory ( bool value ) { return setFlags(InMemory ,value); }
227  inline Library* Catalog::State::setLibrary ( Library* library ) { return _library = library; }
228  inline void Catalog::State::setDepth ( unsigned int depth ) { _depth = depth; }
229  inline Cell* Catalog::State::getCell () const { return _cell; }
230  inline Library* Catalog::State::getLibrary () const { return _library; }
231  inline unsigned int Catalog::State::getDepth () const { return _depth; }
232  inline string Catalog::State::_getTypeName () const { return _TName("Catalog::State"); }
233 
234  inline Catalog::Catalog () : _states() {}
235  inline map<Name,Catalog::State*>*
236  Catalog::getStates () { return &_states; }
237  inline string Catalog::_getTypeName () const { return _TName("Catalog"); }
238 
239  inline CatalogProperty::CatalogProperty ( Catalog::State* state ) : PrivateProperty(), _state(state) {}
240  inline Catalog::State* CatalogProperty::getState () const { return _state; }
241  inline void CatalogProperty::setState ( Catalog::State* state ) { _state = state; }
242 
243 
244 // -------------------------------------------------------------------
245 // Class : "CRL::CatalogExtension".
246 
247 
249  public:
250  static Catalog::State* get ( const Cell* );
251  public:
252  static inline bool isFlattenLeaf ( const Cell* );
253  static inline bool isFeed ( const Cell* );
254  static inline bool isPad ( const Cell* );
255  static inline bool isGds ( const Cell* );
256  static inline bool isDelete ( const Cell* );
257  static inline bool isPhysical ( const Cell* );
258  static inline bool isLogical ( const Cell* );
259  // Flags management.
260  static inline unsigned int getFlags ( const Cell*, unsigned int mask=(unsigned int)-1 );
261  static inline bool setFlags ( const Cell*, unsigned int mask, bool value );
262  static inline bool setFlattenLeaf ( const Cell*, bool value );
263  static inline bool setFeed ( const Cell*, bool value );
264  static inline bool setPad ( const Cell*, bool value );
265  static inline bool setGds ( const Cell*, bool value );
266  static inline bool setDelete ( const Cell*, bool value );
267  static inline bool setPhysical ( const Cell*, bool value );
268  static inline bool setLogical ( const Cell*, bool value );
269  // Accessors.
270  static inline Library* getLibrary ( const Cell* );
271  static inline unsigned int getDepth ( const Cell* );
272  // Modifiers.
273  static inline Library* setLibrary ( const Cell*, Library* library );
274  static inline void setDepth ( const Cell*, unsigned int depth );
275  private:
276  static const Cell* _owner;
277  static Catalog::State* _cache;
278  };
279 
280 
281  inline bool CatalogExtension::isFlattenLeaf ( const Cell* cell )
282  {
283  Catalog::State* state = get(cell);
284  return (state == NULL) ? false : state->isFlattenLeaf();
285  }
286 
287 
288  inline bool CatalogExtension::isFeed ( const Cell* cell )
289  {
290  Catalog::State* state = get(cell);
291  return (state == NULL) ? false : state->isFeed();
292  }
293 
294 
295  inline bool CatalogExtension::isGds ( const Cell* cell )
296  {
297  Catalog::State* state = get(cell);
298  return (state == NULL) ? false : state->isGds();
299  }
300 
301 
302  inline bool CatalogExtension::isPad ( const Cell* cell )
303  {
304  Catalog::State* state = get(cell);
305  return (state == NULL) ? false : state->isPad();
306  }
307 
308 
309  inline bool CatalogExtension::isDelete ( const Cell* cell )
310  {
311  Catalog::State* state = get(cell);
312  return (state == NULL) ? false : state->isDelete();
313  }
314 
315 
316  inline bool CatalogExtension::isPhysical ( const Cell* cell )
317  {
318  Catalog::State* state = get(cell);
319  return (state == NULL) ? false : state->isPhysical();
320  }
321 
322 
323  inline bool CatalogExtension::isLogical ( const Cell* cell )
324  {
325  Catalog::State* state = get(cell);
326  return (state == NULL) ? false : state->isLogical();
327  }
328 
329 
330  inline unsigned int CatalogExtension::getFlags ( const Cell* cell, unsigned int mask )
331  {
332  Catalog::State* state = get(cell);
333  return (state == NULL) ? 0 : state->getFlags();
334  }
335 
336 
337  inline bool CatalogExtension::setFlags ( const Cell* cell, unsigned int mask, bool value )
338  {
339  Catalog::State* state = get(cell);
340  return (state == NULL) ? false : state->setFlags(mask,value);
341  }
342 
343 
344  inline bool CatalogExtension::setFlattenLeaf ( const Cell* cell, bool value )
345  {
346  Catalog::State* state = get(cell);
347  return (state == NULL) ? false : state->setFlattenLeaf(value);
348  }
349 
350 
351  inline bool CatalogExtension::setFeed ( const Cell* cell, bool value )
352  {
353  Catalog::State* state = get(cell);
354  return (state == NULL) ? false : state->setFeed(value);
355  }
356 
357 
358  inline bool CatalogExtension::setPad ( const Cell* cell, bool value )
359  {
360  Catalog::State* state = get(cell);
361  return (state == NULL) ? false : state->setPad(value);
362  }
363 
364 
365  inline bool CatalogExtension::setGds ( const Cell* cell, bool value )
366  {
367  Catalog::State* state = get(cell);
368  return (state == NULL) ? false : state->setGds(value);
369  }
370 
371 
372  inline bool CatalogExtension::setDelete ( const Cell* cell, bool value )
373  {
374  Catalog::State* state = get(cell);
375  return (state == NULL) ? false : state->setDelete(value);
376  }
377 
378 
379  inline bool CatalogExtension::setPhysical ( const Cell* cell, bool value )
380  {
381  Catalog::State* state = get(cell);
382  return (state == NULL) ? false : state->setPhysical(value);
383  }
384 
385 
386  inline bool CatalogExtension::setLogical ( const Cell* cell, bool value )
387  {
388  Catalog::State* state = get(cell);
389  return (state == NULL) ? false : state->setLogical(value);
390  }
391 
392 
393  inline Library* CatalogExtension::getLibrary ( const Cell* cell )
394  {
395  Catalog::State* state = get(cell);
396  return (state == NULL) ? NULL : state->getLibrary();
397  }
398 
399 
400  inline unsigned int CatalogExtension::getDepth ( const Cell* cell )
401  {
402  Catalog::State* state = get(cell);
403  return (state == NULL) ? 0 : state->getDepth();
404  }
405 
406 
407  inline Library* CatalogExtension::setLibrary ( const Cell* cell, Library* library )
408  {
409  Catalog::State* state = get(cell);
410  return (state == NULL) ? NULL : state->setLibrary(library);
411  }
412 
413 
414  inline void CatalogExtension::setDepth ( const Cell* cell, unsigned int depth )
415  {
416  Catalog::State* state = get(cell);
417  if ( state == NULL ) state->setDepth(depth);
418  }
419 
420 
421 } // End of CRL namespace.
422 
423 
424 
425 
426 // x-----------------------------------------------------------------x
427 // | Functions Overload for Hurricane Management |
428 // x-----------------------------------------------------------------x
429 
430 
431 inline std::string getPrint ( const CRL::Catalog &CATAL ) { return CATAL._getPrint(); }
432 
433 INSPECTOR_P_SUPPORT(CRL::Catalog);
434 INSPECTOR_P_SUPPORT(CRL::Catalog::State);
435 
436 
437 #endif // CRL_CATALOG_H
unsigned int getFlags(unsigned int mask=(unsigned int) -1) const
Definition: Catalog.h:213
+
1 // -*- C++ -*-
2 //
3 // This file is part of the Coriolis Software.
4 // Copyright (c) UPMC 2008-2018, All Rights Reserved
5 //
6 // +-----------------------------------------------------------------+
7 // | C O R I O L I S |
8 // | Alliance / Hurricane Interface |
9 // | |
10 // | Author : Jean-Paul CHAPUT |
11 // | E-mail : Jean-Paul.Chaput@lip6.fr |
12 // | =============================================================== |
13 // | C++ Header : "./crlcore/Catalog.h" |
14 // +-----------------------------------------------------------------+
15 
16 
17 #ifndef CRL_CATALOG_H
18 #define CRL_CATALOG_H
19 
20 #include <string>
21 #include <map>
22 #include "hurricane/Name.h"
23 #include "hurricane/Property.h"
24 #include "hurricane/Slot.h"
25 
26 namespace Hurricane {
27  class Cell;
28  class Library;
29 }
30 
31 
32 namespace CRL {
33 
34 
35  using std::string;
36  using std::map;
39  using Hurricane::_TName;
40  using Hurricane::Name;
41  using Hurricane::Record;
43  using Hurricane::DBo;
44  using Hurricane::Cell;
45  using Hurricane::Library;
46  using Hurricane::Property;
47 
48 
49  extern const char* MissingStateProperty;
50 
51 
52 // -------------------------------------------------------------------
53 // Class : "CRL::Catalog".
54 
55 
56  class Catalog {
57 
58  public:
59  class State;
60  public:
61  inline Catalog ();
62  ~Catalog ();
63  State* getState ( const Name& name, bool add=false );
64  void mergeState ( const Name& name, const State& other );
65  bool deleteState ( const Name& name );
66  void clear ();
67  bool loadFromFile ( const string& path, Library* library );
68  inline map<Name,State*>* getStates ();
69  string _getPrint () const;
70  inline string _getTypeName () const;
71  string _getString () const;
72  Record* _getRecord () const;
73 
74  public:
75  // Sub-Class: State.
76  class State {
77  public:
78  // Flags Constants.
79  enum Flags { FlattenLeaf = 1 << 0
80  , Feed = 1 << 1
81  , Pad = 1 << 2
82  , GDS = 1 << 3
83  , Delete = 1 << 4
84  , Logical = 1 << 5
85  , Physical = 1 << 6
86  , InMemory = 1 << 7
87  , Foreign = 1 << 8
88  , VstUseConcat = 1 << 9
90  };
91  // Constructors.
92  inline State ();
93  ~State ();
94  // Predicates.
95  inline bool isFlattenLeaf () const;
96  inline bool isFeed () const;
97  inline bool isPad () const;
98  inline bool isGds () const;
99  inline bool isDelete () const;
100  inline bool isPhysical () const;
101  inline bool isLogical () const;
102  inline bool isInMemory () const;
103  // Flags management.
104  inline unsigned int getFlags ( unsigned int mask=(unsigned int)-1 ) const;
105  inline bool setFlags ( unsigned int mask, bool value );
106  inline bool setFlattenLeaf ( bool value );
107  inline bool setFeed ( bool value );
108  inline bool setPad ( bool value );
109  inline bool setGds ( bool value );
110  inline bool setDelete ( bool value );
111  inline bool setPhysical ( bool value );
112  inline bool setLogical ( bool value );
113  inline bool setInMemory ( bool value );
114  // Accessors.
115  inline Cell* getCell () const;
116  inline Library* getLibrary () const;
117  inline unsigned int getDepth () const;
118  // Modifiers.
119  inline void merge ( const State& other );
120  Cell* setCell ( Cell* cell );
121  inline Library* setLibrary ( Library* library );
122  inline void setDepth ( unsigned int depth );
123  // Hurricane Management.
124  void toJson ( JsonWriter* w ) const;
125  inline string _getTypeName () const;
126  string _getString () const;
127  Record* _getRecord () const;
128 
129  private:
130  // Internal - Attributes.
131  unsigned int _flags;
132  unsigned int _depth;
133  Cell* _cell;
134  Library* _library;
135 
136  // Json Property.
137  public:
138  class JsonState : public JsonObject {
139  public:
140  static void initialize ();
141  JsonState ( unsigned long flags );
142  virtual string getTypeName () const;
143  virtual JsonState* clone ( unsigned long ) const;
144  virtual void toData ( JsonStack& );
145  };
146  };
147 
148  private:
149  // Attributes.
150  map<Name,State*> _states;
151 
152  private:
153  Catalog ( const Catalog& );
154  static bool readLine ( const string& s, string& name, State* state );
155 
156  };
157 
158 
159 // -------------------------------------------------------------------
160 // Class : "CRL::CatalogProperty".
161 
162  class CatalogProperty : public PrivateProperty {
163 
164  public:
165  static Name _name;
166  public:
167  static CatalogProperty* create ( Catalog::State* state );
168  static Name getPropertyName ();
169  virtual Name getName () const;
170  inline Catalog::State* getState () const;
171  inline void setState ( Catalog::State* state );
172  virtual void onReleasedBy ( DBo* owner );
173  virtual bool hasJson () const;
174  virtual void toJson ( JsonWriter* w, const DBo* ) const;
175  virtual string _getTypeName () const;
176  virtual string _getString () const;
177  virtual Record* _getRecord () const;
178 
179  protected:
180  // Attributes.
181  Catalog::State* _state;
182 
183  protected:
184  // Constructor.
185  inline CatalogProperty ( Catalog::State* state );
186  };
187 
188 
189 // -------------------------------------------------------------------
190 // Class : "CRL::JsonCatalogProperty".
191 
192  class JsonCatalogProperty : public JsonObject {
193  public:
194  static void initialize ();
195  JsonCatalogProperty ( unsigned long );
196  virtual string getTypeName () const;
197  virtual JsonCatalogProperty* clone ( unsigned long ) const;
198  virtual void toData ( JsonStack& );
199  };
200 
201 
202 // -------------------------------------------------------------------
203 // Inline Functions.
204 
205  inline Catalog::State::State () : _flags(0), _depth(1), _cell(NULL), _library(NULL) { }
206  inline bool Catalog::State::isFlattenLeaf () const { return (_flags&FlattenLeaf)?1:0; }
207  inline bool Catalog::State::isFeed () const { return (_flags&Feed )?1:0; }
208  inline bool Catalog::State::isPad () const { return (_flags&Pad )?1:0; }
209  inline bool Catalog::State::isGds () const { return (_flags&GDS )?1:0; }
210  inline bool Catalog::State::isDelete () const { return (_flags&Delete )?1:0; }
211  inline bool Catalog::State::isPhysical () const { return (_flags&Physical )?1:0; }
212  inline bool Catalog::State::isLogical () const { return (_flags&Logical )?1:0; }
213  inline bool Catalog::State::isInMemory () const { return (_flags&InMemory )?1:0; }
214  inline unsigned int Catalog::State::getFlags ( unsigned int mask ) const { return ( _flags & mask ); }
215  inline bool Catalog::State::setFlags ( unsigned int mask, bool value ) {
216  if (value) { _flags |= mask; }
217  else { _flags &= ~mask; }
218  return ((_flags&mask) ? true : false);
219  }
220  inline bool Catalog::State::setFlattenLeaf ( bool value ) { return setFlags(FlattenLeaf,value); }
221  inline bool Catalog::State::setFeed ( bool value ) { return setFlags(Feed ,value); }
222  inline bool Catalog::State::setPad ( bool value ) { return setFlags(Pad ,value); }
223  inline bool Catalog::State::setGds ( bool value ) { return setFlags(GDS ,value); }
224  inline bool Catalog::State::setDelete ( bool value ) { return setFlags(Delete ,value); }
225  inline bool Catalog::State::setPhysical ( bool value ) { return setFlags(Physical ,value); }
226  inline bool Catalog::State::setLogical ( bool value ) { return setFlags(Logical ,value); }
227  inline bool Catalog::State::setInMemory ( bool value ) { return setFlags(InMemory ,value); }
228  inline Library* Catalog::State::setLibrary ( Library* library ) { return _library = library; }
229  inline void Catalog::State::setDepth ( unsigned int depth ) { _depth = depth; }
230  inline Cell* Catalog::State::getCell () const { return _cell; }
231  inline Library* Catalog::State::getLibrary () const { return _library; }
232  inline unsigned int Catalog::State::getDepth () const { return _depth; }
233  inline string Catalog::State::_getTypeName () const { return _TName("Catalog::State"); }
234 
235  inline Catalog::Catalog () : _states() {}
236  inline map<Name,Catalog::State*>*
237  Catalog::getStates () { return &_states; }
238  inline string Catalog::_getTypeName () const { return _TName("Catalog"); }
239 
240  inline CatalogProperty::CatalogProperty ( Catalog::State* state ) : PrivateProperty(), _state(state) {}
241  inline Catalog::State* CatalogProperty::getState () const { return _state; }
242  inline void CatalogProperty::setState ( Catalog::State* state ) { _state = state; }
243 
244 
245 // -------------------------------------------------------------------
246 // Class : "CRL::CatalogExtension".
247 
248 
250  public:
251  static Catalog::State* get ( const Cell* );
252  public:
253  static inline bool isFlattenLeaf ( const Cell* );
254  static inline bool isFeed ( const Cell* );
255  static inline bool isPad ( const Cell* );
256  static inline bool isGds ( const Cell* );
257  static inline bool isDelete ( const Cell* );
258  static inline bool isPhysical ( const Cell* );
259  static inline bool isLogical ( const Cell* );
260  // Flags management.
261  static inline unsigned int getFlags ( const Cell*, unsigned int mask=(unsigned int)-1 );
262  static inline bool setFlags ( const Cell*, unsigned int mask, bool value );
263  static inline bool setFlattenLeaf ( const Cell*, bool value );
264  static inline bool setFeed ( const Cell*, bool value );
265  static inline bool setPad ( const Cell*, bool value );
266  static inline bool setGds ( const Cell*, bool value );
267  static inline bool setDelete ( const Cell*, bool value );
268  static inline bool setPhysical ( const Cell*, bool value );
269  static inline bool setLogical ( const Cell*, bool value );
270  // Accessors.
271  static inline Library* getLibrary ( const Cell* );
272  static inline unsigned int getDepth ( const Cell* );
273  // Modifiers.
274  static inline Library* setLibrary ( const Cell*, Library* library );
275  static inline void setDepth ( const Cell*, unsigned int depth );
276  private:
277  static const Cell* _owner;
278  static Catalog::State* _cache;
279  };
280 
281 
282  inline bool CatalogExtension::isFlattenLeaf ( const Cell* cell )
283  {
284  Catalog::State* state = get(cell);
285  return (state == NULL) ? false : state->isFlattenLeaf();
286  }
287 
288 
289  inline bool CatalogExtension::isFeed ( const Cell* cell )
290  {
291  Catalog::State* state = get(cell);
292  return (state == NULL) ? false : state->isFeed();
293  }
294 
295 
296  inline bool CatalogExtension::isGds ( const Cell* cell )
297  {
298  Catalog::State* state = get(cell);
299  return (state == NULL) ? false : state->isGds();
300  }
301 
302 
303  inline bool CatalogExtension::isPad ( const Cell* cell )
304  {
305  Catalog::State* state = get(cell);
306  return (state == NULL) ? false : state->isPad();
307  }
308 
309 
310  inline bool CatalogExtension::isDelete ( const Cell* cell )
311  {
312  Catalog::State* state = get(cell);
313  return (state == NULL) ? false : state->isDelete();
314  }
315 
316 
317  inline bool CatalogExtension::isPhysical ( const Cell* cell )
318  {
319  Catalog::State* state = get(cell);
320  return (state == NULL) ? false : state->isPhysical();
321  }
322 
323 
324  inline bool CatalogExtension::isLogical ( const Cell* cell )
325  {
326  Catalog::State* state = get(cell);
327  return (state == NULL) ? false : state->isLogical();
328  }
329 
330 
331  inline unsigned int CatalogExtension::getFlags ( const Cell* cell, unsigned int mask )
332  {
333  Catalog::State* state = get(cell);
334  return (state == NULL) ? 0 : state->getFlags();
335  }
336 
337 
338  inline bool CatalogExtension::setFlags ( const Cell* cell, unsigned int mask, bool value )
339  {
340  Catalog::State* state = get(cell);
341  return (state == NULL) ? false : state->setFlags(mask,value);
342  }
343 
344 
345  inline bool CatalogExtension::setFlattenLeaf ( const Cell* cell, bool value )
346  {
347  Catalog::State* state = get(cell);
348  return (state == NULL) ? false : state->setFlattenLeaf(value);
349  }
350 
351 
352  inline bool CatalogExtension::setFeed ( const Cell* cell, bool value )
353  {
354  Catalog::State* state = get(cell);
355  return (state == NULL) ? false : state->setFeed(value);
356  }
357 
358 
359  inline bool CatalogExtension::setPad ( const Cell* cell, bool value )
360  {
361  Catalog::State* state = get(cell);
362  return (state == NULL) ? false : state->setPad(value);
363  }
364 
365 
366  inline bool CatalogExtension::setGds ( const Cell* cell, bool value )
367  {
368  Catalog::State* state = get(cell);
369  return (state == NULL) ? false : state->setGds(value);
370  }
371 
372 
373  inline bool CatalogExtension::setDelete ( const Cell* cell, bool value )
374  {
375  Catalog::State* state = get(cell);
376  return (state == NULL) ? false : state->setDelete(value);
377  }
378 
379 
380  inline bool CatalogExtension::setPhysical ( const Cell* cell, bool value )
381  {
382  Catalog::State* state = get(cell);
383  return (state == NULL) ? false : state->setPhysical(value);
384  }
385 
386 
387  inline bool CatalogExtension::setLogical ( const Cell* cell, bool value )
388  {
389  Catalog::State* state = get(cell);
390  return (state == NULL) ? false : state->setLogical(value);
391  }
392 
393 
394  inline Library* CatalogExtension::getLibrary ( const Cell* cell )
395  {
396  Catalog::State* state = get(cell);
397  return (state == NULL) ? NULL : state->getLibrary();
398  }
399 
400 
401  inline unsigned int CatalogExtension::getDepth ( const Cell* cell )
402  {
403  Catalog::State* state = get(cell);
404  return (state == NULL) ? 0 : state->getDepth();
405  }
406 
407 
408  inline Library* CatalogExtension::setLibrary ( const Cell* cell, Library* library )
409  {
410  Catalog::State* state = get(cell);
411  return (state == NULL) ? NULL : state->setLibrary(library);
412  }
413 
414 
415  inline void CatalogExtension::setDepth ( const Cell* cell, unsigned int depth )
416  {
417  Catalog::State* state = get(cell);
418  if ( state == NULL ) state->setDepth(depth);
419  }
420 
421 
422 } // End of CRL namespace.
423 
424 
425 
426 
427 // x-----------------------------------------------------------------x
428 // | Functions Overload for Hurricane Management |
429 // x-----------------------------------------------------------------x
430 
431 
432 inline std::string getPrint ( const CRL::Catalog &CATAL ) { return CATAL._getPrint(); }
433 
434 INSPECTOR_P_SUPPORT(CRL::Catalog);
435 INSPECTOR_P_SUPPORT(CRL::Catalog::State);
436 
437 
438 #endif // CRL_CATALOG_H
unsigned int getFlags(unsigned int mask=(unsigned int) -1) const
Definition: Catalog.h:214
-
static bool setPad(const Cell *, bool value)
Definition: Catalog.h:358
+
static bool setPad(const Cell *, bool value)
Definition: Catalog.h:359
An entry to store the Cell State in the Catalog.
Definition: Catalog.h:76
Definition: Catalog.h:86
-
static bool setLogical(const Cell *, bool value)
Definition: Catalog.h:386
+
static bool setLogical(const Cell *, bool value)
Definition: Catalog.h:387
Definition: Catalog.h:79
-
bool setPad(bool value)
Definition: Catalog.h:221
-
static bool isGds(const Cell *)
Definition: Catalog.h:295
-
bool setGds(bool value)
Definition: Catalog.h:222
+
bool setPad(bool value)
Definition: Catalog.h:222
+
static bool isGds(const Cell *)
Definition: Catalog.h:296
+
bool setGds(bool value)
Definition: Catalog.h:223
Cell * setCell(Cell *cell)
-
Catalog()
Definition: Catalog.h:234
-
static bool isDelete(const Cell *)
Definition: Catalog.h:309
-
static bool isLogical(const Cell *)
Definition: Catalog.h:323
-
static bool setFeed(const Cell *, bool value)
Definition: Catalog.h:351
-
static bool setFlattenLeaf(const Cell *, bool value)
Definition: Catalog.h:344
+
Catalog()
Definition: Catalog.h:235
+
static bool isDelete(const Cell *)
Definition: Catalog.h:310
+
static bool isLogical(const Cell *)
Definition: Catalog.h:324
+
static bool setFeed(const Cell *, bool value)
Definition: Catalog.h:352
+
static bool setFlattenLeaf(const Cell *, bool value)
Definition: Catalog.h:345
-
bool isLogical() const
Definition: Catalog.h:211
+
bool isLogical() const
Definition: Catalog.h:212
void merge(const State &other)
-
bool isPhysical() const
Definition: Catalog.h:210
-
bool isDelete() const
Definition: Catalog.h:209
+
bool isPhysical() const
Definition: Catalog.h:211
+
bool isDelete() const
Definition: Catalog.h:210
-
static unsigned int getFlags(const Cell *, unsigned int mask=(unsigned int) -1)
Definition: Catalog.h:330
-
Library * setLibrary(Library *library)
Definition: Catalog.h:227
+
static unsigned int getFlags(const Cell *, unsigned int mask=(unsigned int) -1)
Definition: Catalog.h:331
+
Library * setLibrary(Library *library)
Definition: Catalog.h:228
Definition: Catalog.h:85
-
Definition: Catalog.h:88
-
bool setLogical(bool value)
Definition: Catalog.h:225
-
static bool setGds(const Cell *, bool value)
Definition: Catalog.h:365
+
Definition: Catalog.h:89
+
bool setLogical(bool value)
Definition: Catalog.h:226
+
static bool setGds(const Cell *, bool value)
Definition: Catalog.h:366
Definition: Catalog.h:83
bool deleteState(const Name &name)
void mergeState(const Name &name, const State &other)
-
bool setFeed(bool value)
Definition: Catalog.h:220
-
Library * getLibrary() const
Definition: Catalog.h:230
+
bool setFeed(bool value)
Definition: Catalog.h:221
+
Library * getLibrary() const
Definition: Catalog.h:231
Definition: Catalog.h:80
-
Cell * getCell() const
Definition: Catalog.h:229
-
bool setFlags(unsigned int mask, bool value)
Definition: Catalog.h:214
+
Cell * getCell() const
Definition: Catalog.h:230
+
bool setFlags(unsigned int mask, bool value)
Definition: Catalog.h:215
-
map< Name, State * > * getStates()
Definition: Catalog.h:236
-
static bool isFeed(const Cell *)
Definition: Catalog.h:288
+
map< Name, State * > * getStates()
Definition: Catalog.h:237
+
static bool isFeed(const Cell *)
Definition: Catalog.h:289
Definition: Catalog.h:81
-
static Library * getLibrary(const Cell *)
Definition: Catalog.h:393
+
static Library * getLibrary(const Cell *)
Definition: Catalog.h:394
State * getState(const Name &name, bool add=false)
-
State()
Definition: Catalog.h:204
-
bool setFlattenLeaf(bool value)
Definition: Catalog.h:219
-
static bool isPad(const Cell *)
Definition: Catalog.h:302
+
State()
Definition: Catalog.h:205
+
bool setFlattenLeaf(bool value)
Definition: Catalog.h:220
+
static bool isPad(const Cell *)
Definition: Catalog.h:303
bool loadFromFile(const string &path, Library *library)
-
bool isFeed() const
Definition: Catalog.h:206
-
bool setDelete(bool value)
Definition: Catalog.h:223
-
static Library * setLibrary(const Cell *, Library *library)
Definition: Catalog.h:407
-
static bool setPhysical(const Cell *, bool value)
Definition: Catalog.h:379
+
bool isFeed() const
Definition: Catalog.h:207
+
bool setDelete(bool value)
Definition: Catalog.h:224
+
static Library * setLibrary(const Cell *, Library *library)
Definition: Catalog.h:408
+
static bool setPhysical(const Cell *, bool value)
Definition: Catalog.h:380
Definition: Catalog.h:84
-
bool isPad() const
Definition: Catalog.h:207
-
bool isFlattenLeaf() const
Definition: Catalog.h:205
+
bool isPad() const
Definition: Catalog.h:208
+
bool isFlattenLeaf() const
Definition: Catalog.h:206
A Registry to store Alliance Cell metadatas.
Definition: Catalog.h:56
Definition: Catalog.h:82
-
static bool setDelete(const Cell *, bool value)
Definition: Catalog.h:372
-
Wrapper to access a Hurricane::Cell Catalog::State.
Definition: Catalog.h:248
-
bool setPhysical(bool value)
Definition: Catalog.h:224
-
bool isGds() const
Definition: Catalog.h:208
-
static bool isPhysical(const Cell *)
Definition: Catalog.h:316
-
static unsigned int getDepth(const Cell *)
Definition: Catalog.h:400
+
static bool setDelete(const Cell *, bool value)
Definition: Catalog.h:373
+
Wrapper to access a Hurricane::Cell Catalog::State.
Definition: Catalog.h:249
+
bool setPhysical(bool value)
Definition: Catalog.h:225
+
bool isGds() const
Definition: Catalog.h:209
+
static bool isPhysical(const Cell *)
Definition: Catalog.h:317
+
static unsigned int getDepth(const Cell *)
Definition: Catalog.h:401
Flags
Definition: Catalog.h:79
-
static bool isFlattenLeaf(const Cell *)
Definition: Catalog.h:281
+
static bool isFlattenLeaf(const Cell *)
Definition: Catalog.h:282
The namespace of Coriolis Core.
Definition: Environment.h:26
-
unsigned int getDepth() const
Definition: Catalog.h:231
-
static bool setFlags(const Cell *, unsigned int mask, bool value)
Definition: Catalog.h:337
+
unsigned int getDepth() const
Definition: Catalog.h:232
+
static bool setFlags(const Cell *, unsigned int mask, bool value)
Definition: Catalog.h:338


- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/Environment_8h_source.html b/crlcore/doc/crlcore/html/Environment_8h_source.html index 4d0bf20b..e151eeb7 100644 --- a/crlcore/doc/crlcore/html/Environment_8h_source.html +++ b/crlcore/doc/crlcore/html/Environment_8h_source.html @@ -44,7 +44,7 @@ $(function() {
Environment.h
-
1 // -*- C++ -*-
2 //
3 // This file is part of the Coriolis Software.
4 // Copyright (c) UPMC 2008-2018, All Rights Reserved
5 //
6 // +-----------------------------------------------------------------+
7 // | C O R I O L I S |
8 // | Alliance / Hurricane Interface |
9 // | |
10 // | Author : Jean-Paul CHAPUT |
11 // | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
12 // | =============================================================== |
13 // | C++ Header : "./crlcore/Environment.h" |
14 // +-----------------------------------------------------------------+
15 
16 
17 #ifndef CRL_ENVIRONMENT_H
18 #define CRL_ENVIRONMENT_H
19 
20 #include <regex.h>
21 #include <string>
22 #include "hurricane/Commons.h"
23 #include "crlcore/SearchPath.h"
24 
25 
26 namespace CRL {
27 
30 
31 
32 // -------------------------------------------------------------------
33 // Class : "Environment".
34 
35  class Environment {
36  public:
37  enum AddMode { Append=1, Prepend=2, Replace=3 };
38  public:
39  // Internal: Static Methods.
40  static const char* getEnv ( const char* variable, const char* defaultValue );
41  // Constructors & destructors.
42  Environment ();
43  ~Environment ();
44  // Accessors.
45  inline const std::string& getCORIOLIS_TOP () const;
46  inline const std::string& getDisplayStyle () const;
47  inline long getSCALE_X () const;
48  inline const std::string& getDISPLAY () const;
49  inline const std::string& getIN_LO () const;
50  inline const std::string& getIN_PH () const;
51  inline const std::string& getOUT_LO () const;
52  inline const std::string& getOUT_PH () const;
53  inline const std::string& getPOWER () const;
54  inline const std::string& getGROUND () const;
55  inline const std::string& getCLOCK () const;
56  inline const std::string& getBLOCKAGE () const;
57  inline const std::string& getPad () const;
58  inline const std::string& getCATALOG () const;
59  inline SearchPath& getLIBRARIES ();
60  std::string getLIBRARYPath ( size_t i );
61  // Predicates.
62  bool isPOWER ( const char* name ) const;
63  bool isGROUND ( const char* name ) const;
64  bool isCLOCK ( const char* name ) const;
65  bool isBLOCKAGE ( const char* name ) const;
66  bool isPad ( const char* name ) const;
67  // Modifiers.
68  void validate () const;
69  inline void setDisplayStyle ( const char* );
70  inline void setSCALE_X ( long value );
71  inline void setDISPLAY ( const char* value );
72  inline void setIN_LO ( const char* value );
73  inline void setIN_PH ( const char* value );
74  inline void setOUT_LO ( const char* value );
75  inline void setOUT_PH ( const char* value );
76  void setPOWER ( const char* value );
77  void setGROUND ( const char* value );
78  void setCLOCK ( const char* value );
79  void setBLOCKAGE ( const char* value );
80  void setPad ( const char* value );
81  inline void setCATALOG ( const char* value );
82  inline void setWORKING_LIBRARY ( const char* value );
83  void addSYSTEM_LIBRARY ( const char* value, const char* libName, unsigned int mode=Append );
84  // Methods.
85  std::string getPrint () const;
86  void toJson ( JsonWriter* ) const;
87  inline std::string _getTypeName () const;
88  std::string _getString () const;
89  Record* _getRecord () const;
90  protected:
91  // Internal: Attributes.
92  std::string _CORIOLIS_TOP;
93  std::string _displayStyle;
94  long _SCALE_X;
95  std::string _DISPLAY;
96  std::string _IN_LO;
97  std::string _IN_PH;
98  std::string _OUT_LO;
99  std::string _OUT_PH;
100  std::string _POWER;
101  std::string _GROUND;
102  std::string _CLOCK;
103  std::string _BLOCKAGE;
104  std::string _pad;
105  std::string _CATALOG;
106  SearchPath _LIBRARIES;
107  regex_t _PowerRegex;
108  regex_t _GroundRegex;
109  regex_t _ClockRegex;
110  regex_t _BlockageRegex;
111  regex_t _padRegex;
112  bool _inConstructor;
113  private:
114  void _setRegex ( regex_t* regex, const std::string& pattern, const char* name );
115  };
116 
117 
118  // Inline Member Functions.
119  inline const std::string& Environment::getCORIOLIS_TOP () const { return _CORIOLIS_TOP; }
120  inline const std::string& Environment::getDisplayStyle () const { return _displayStyle; }
121  inline long Environment::getSCALE_X () const { return _SCALE_X; }
122  inline const std::string& Environment::getIN_LO () const { return _IN_LO; }
123  inline const std::string& Environment::getIN_PH () const { return _IN_PH; }
124  inline const std::string& Environment::getOUT_LO () const { return _OUT_LO; }
125  inline const std::string& Environment::getOUT_PH () const { return _OUT_PH; }
126  inline const std::string& Environment::getPOWER () const { return _POWER; }
127  inline const std::string& Environment::getGROUND () const { return _GROUND; }
128  inline const std::string& Environment::getCLOCK () const { return _CLOCK; }
129  inline const std::string& Environment::getBLOCKAGE () const { return _BLOCKAGE; }
130  inline const std::string& Environment::getPad () const { return _pad; }
131  inline const std::string& Environment::getCATALOG () const { return _CATALOG; }
132  inline SearchPath& Environment::getLIBRARIES () { return _LIBRARIES; }
133 
134  inline void Environment::setDisplayStyle ( const char* value ) { _displayStyle = value; }
135  inline void Environment::setSCALE_X ( long value ) { _SCALE_X = value; }
136  inline void Environment::setIN_LO ( const char* value ) { _IN_LO = value; }
137  inline void Environment::setIN_PH ( const char* value ) { _IN_PH = value; }
138  inline void Environment::setOUT_LO ( const char* value ) { _OUT_LO = value; }
139  inline void Environment::setOUT_PH ( const char* value ) { _OUT_PH = value; }
140  inline void Environment::setCATALOG ( const char* value ) { _CATALOG = value; }
141  inline void Environment::setWORKING_LIBRARY ( const char* value ) { _LIBRARIES.replace(value,"working",0); }
142  inline std::string Environment::_getTypeName () const { return "Environment"; }
143 
144 
145 // -------------------------------------------------------------------
146 // Class : "JsonEnvironment".
147 
148  class JsonEnvironment : public JsonObject {
149  public:
150  static void initialize ();
151  JsonEnvironment ( unsigned long flags );
152  virtual std::string getTypeName () const;
153  virtual JsonEnvironment* clone ( unsigned long flags ) const;
154  virtual void toData ( JsonStack& );
155  };
156 
157 
158 } // CRL namespace.
159 
160 
161 INSPECTOR_P_SUPPORT(CRL::Environment);
162 
163 
164 #endif // CRL_ENVIRONMENT_H
void setCATALOG(const char *value)
Definition: Environment.h:140
+
1 // -*- C++ -*-
2 //
3 // This file is part of the Coriolis Software.
4 // Copyright (c) UPMC 2008-2018, All Rights Reserved
5 //
6 // +-----------------------------------------------------------------+
7 // | C O R I O L I S |
8 // | Alliance / Hurricane Interface |
9 // | |
10 // | Author : Jean-Paul CHAPUT |
11 // | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
12 // | =============================================================== |
13 // | C++ Header : "./crlcore/Environment.h" |
14 // +-----------------------------------------------------------------+
15 
16 
17 #ifndef CRL_ENVIRONMENT_H
18 #define CRL_ENVIRONMENT_H
19 
20 #include <regex.h>
21 #include <string>
22 #include "hurricane/Commons.h"
23 #include "crlcore/SearchPath.h"
24 
25 
26 namespace CRL {
27 
30 
31 
32 // -------------------------------------------------------------------
33 // Class : "Environment".
34 
35  class Environment {
36  public:
37  enum AddMode { Append=1, Prepend=2, Replace=3 };
38  public:
39  // Internal: Static Methods.
40  static const char* getEnv ( const char* variable, const char* defaultValue );
41  // Constructors & destructors.
42  Environment ();
43  ~Environment ();
44  // Accessors.
45  inline const std::string& getCORIOLIS_TOP () const;
46  inline const std::string& getDisplayStyle () const;
47  inline long getSCALE_X () const;
48  inline const std::string& getDISPLAY () const;
49  inline const std::string& getIN_LO () const;
50  inline const std::string& getIN_PH () const;
51  inline const std::string& getOUT_LO () const;
52  inline const std::string& getOUT_PH () const;
53  inline const std::string& getPOWER () const;
54  inline const std::string& getGROUND () const;
55  inline const std::string& getCLOCK () const;
56  inline const std::string& getBLOCKAGE () const;
57  inline const std::string& getPad () const;
58  inline const std::string& getCATALOG () const;
59  inline SearchPath& getLIBRARIES ();
60  std::string getLIBRARYPath ( size_t i );
61  // Predicates.
62  bool isPOWER ( const char* name ) const;
63  bool isGROUND ( const char* name ) const;
64  bool isCLOCK ( const char* name ) const;
65  bool isBLOCKAGE ( const char* name ) const;
66  bool isPad ( const char* name ) const;
67  // Modifiers.
68  void validate () const;
69  inline void setDisplayStyle ( const char* );
70  inline void setSCALE_X ( long value );
71  inline void setDISPLAY ( const char* value );
72  inline void setIN_LO ( const char* value );
73  inline void setIN_PH ( const char* value );
74  inline void setOUT_LO ( const char* value );
75  inline void setOUT_PH ( const char* value );
76  void setPOWER ( const char* value );
77  void setGROUND ( const char* value );
78  void setCLOCK ( const char* value );
79  void setBLOCKAGE ( const char* value );
80  void setPad ( const char* value );
81  inline void setCATALOG ( const char* value );
82  void setWORKING_LIBRARY ( const char* value );
83  void addSYSTEM_LIBRARY ( const char* value, const char* libName, unsigned int mode=Append );
84  // Methods.
85  std::string getPrint () const;
86  void toJson ( JsonWriter* ) const;
87  inline std::string _getTypeName () const;
88  std::string _getString () const;
89  Record* _getRecord () const;
90  protected:
91  // Internal: Attributes.
92  std::string _CORIOLIS_TOP;
93  std::string _displayStyle;
94  long _SCALE_X;
95  std::string _DISPLAY;
96  std::string _IN_LO;
97  std::string _IN_PH;
98  std::string _OUT_LO;
99  std::string _OUT_PH;
100  std::string _POWER;
101  std::string _GROUND;
102  std::string _CLOCK;
103  std::string _BLOCKAGE;
104  std::string _pad;
105  std::string _CATALOG;
106  SearchPath _LIBRARIES;
107  regex_t _PowerRegex;
108  regex_t _GroundRegex;
109  regex_t _ClockRegex;
110  regex_t _BlockageRegex;
111  regex_t _padRegex;
112  bool _inConstructor;
113  private:
114  void _setRegex ( regex_t* regex, const std::string& pattern, const char* name );
115  };
116 
117 
118  // Inline Member Functions.
119  inline const std::string& Environment::getCORIOLIS_TOP () const { return _CORIOLIS_TOP; }
120  inline const std::string& Environment::getDisplayStyle () const { return _displayStyle; }
121  inline long Environment::getSCALE_X () const { return _SCALE_X; }
122  inline const std::string& Environment::getIN_LO () const { return _IN_LO; }
123  inline const std::string& Environment::getIN_PH () const { return _IN_PH; }
124  inline const std::string& Environment::getOUT_LO () const { return _OUT_LO; }
125  inline const std::string& Environment::getOUT_PH () const { return _OUT_PH; }
126  inline const std::string& Environment::getPOWER () const { return _POWER; }
127  inline const std::string& Environment::getGROUND () const { return _GROUND; }
128  inline const std::string& Environment::getCLOCK () const { return _CLOCK; }
129  inline const std::string& Environment::getBLOCKAGE () const { return _BLOCKAGE; }
130  inline const std::string& Environment::getPad () const { return _pad; }
131  inline const std::string& Environment::getCATALOG () const { return _CATALOG; }
132  inline SearchPath& Environment::getLIBRARIES () { return _LIBRARIES; }
133 
134  inline void Environment::setDisplayStyle ( const char* value ) { _displayStyle = value; }
135  inline void Environment::setSCALE_X ( long value ) { _SCALE_X = value; }
136  inline void Environment::setIN_LO ( const char* value ) { _IN_LO = value; }
137  inline void Environment::setIN_PH ( const char* value ) { _IN_PH = value; }
138  inline void Environment::setOUT_LO ( const char* value ) { _OUT_LO = value; }
139  inline void Environment::setOUT_PH ( const char* value ) { _OUT_PH = value; }
140  inline void Environment::setCATALOG ( const char* value ) { _CATALOG = value; }
141  inline std::string Environment::_getTypeName () const { return "Environment"; }
142 
143 
144 // -------------------------------------------------------------------
145 // Class : "JsonEnvironment".
146 
147  class JsonEnvironment : public JsonObject {
148  public:
149  static void initialize ();
150  JsonEnvironment ( unsigned long flags );
151  virtual std::string getTypeName () const;
152  virtual JsonEnvironment* clone ( unsigned long flags ) const;
153  virtual void toData ( JsonStack& );
154  };
155 
156 
157 } // CRL namespace.
158 
159 
160 INSPECTOR_P_SUPPORT(CRL::Environment);
161 
162 
163 #endif // CRL_ENVIRONMENT_H
void setCATALOG(const char *value)
Definition: Environment.h:140
bool isBLOCKAGE(const char *name) const
Definition: Environment.h:37
void setSCALE_X(long value)
Definition: Environment.h:135
@@ -56,7 +56,7 @@ $(function() {
void setGROUND(const char *value)
const std::string & getIN_PH() const
Definition: Environment.h:123
const std::string & getPad() const
Definition: Environment.h:130
-
void setWORKING_LIBRARY(const char *value)
Definition: Environment.h:141
+
void setWORKING_LIBRARY(const char *value)
std::string getPrint() const
void validate() const
@@ -92,14 +92,13 @@ $(function() {
void setCLOCK(const char *value)
void setDisplayStyle(const char *)
Definition: Environment.h:134
The namespace of Coriolis Core.
Definition: Environment.h:26
-
void replace(const std::string &path, const std::string &, size_t index)
void setDISPLAY(const char *value)


- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/GraphicToolEngine_8h_source.html b/crlcore/doc/crlcore/html/GraphicToolEngine_8h_source.html index 1f0ae5fc..feac806c 100644 --- a/crlcore/doc/crlcore/html/GraphicToolEngine_8h_source.html +++ b/crlcore/doc/crlcore/html/GraphicToolEngine_8h_source.html @@ -60,7 +60,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/RoutingGauge_8h_source.html b/crlcore/doc/crlcore/html/RoutingGauge_8h_source.html index 8bfb8ed5..1d2c656a 100644 --- a/crlcore/doc/crlcore/html/RoutingGauge_8h_source.html +++ b/crlcore/doc/crlcore/html/RoutingGauge_8h_source.html @@ -44,7 +44,7 @@ $(function() {
RoutingGauge.h
-
1 // -*- C++ -*-
2 //
3 // This file is part of the Coriolis Software.
4 // Copyright (c) UPMC 2008-2018, All Rights Reserved
5 //
6 // +-----------------------------------------------------------------+
7 // | C O R I O L I S |
8 // | Alliance / Hurricane Interface |
9 // | |
10 // | Author : Jean-Paul CHAPUT |
11 // | E-mail : Jean-Paul.Chaput@lip6.fr |
12 // | =============================================================== |
13 // | C++ Header : "./crlcore/RoutingGauge.h" |
14 // +-----------------------------------------------------------------+
15 
16 
17 #ifndef CRL_ROUTING_GAUGE_H
18 #define CRL_ROUTING_GAUGE_H
19 
20 #include <string>
21 #include <vector>
22 #include "hurricane/Name.h"
23 #include "hurricane/Slot.h"
24 
25 namespace Hurricane {
26  class Layer;
27  class Technology;
28 }
29 
30 #include "crlcore/RoutingLayerGauge.h"
31 
32 namespace CRL {
33 
34  using std::string;
35  using std::vector;
39  using Hurricane::Name;
40  using Hurricane::Record;
41  using Hurricane::Layer;
43 
44 
45 // -------------------------------------------------------------------
46 // Class : "RoutingGauge".
47 
48  class RoutingGauge {
49 
50  public:
51  // Constants.
52  static const size_t nlayerdepth;
53  // Constructors & Destructors.
54  static RoutingGauge* create ( const char* name );
55  virtual void destroy ();
56  // Predicates.
57  inline bool isSymbolic () const;
58  inline bool isTwoMetals () const;
59  inline bool isHV () const;
60  inline bool isVH () const;
61  // Accessors.
62  RoutingGauge* getClone () const;
63  inline const Name getName () const;
64  inline Technology* getTechnology () const;
65  inline size_t getDepth () const;
66  inline DbU::Unit getHorizontalPitch () const;
67  inline DbU::Unit getVerticalPitch () const;
68  RoutingLayerGauge* getHorizontalGauge () const;
69  RoutingLayerGauge* getVerticalGauge () const;
70  RoutingLayerGauge* getLayerGauge ( const Layer* ) const;
71  size_t getViaDepth ( const Layer* ) const;
72  size_t getLayerDepth ( const Layer* ) const;
73  unsigned int getLayerType ( const Layer* ) const;
74  unsigned int getLayerDirection ( const Layer* ) const;
75  RoutingLayerGauge* getLayerGauge ( size_t depth ) const;
76  inline unsigned int getLayerDirection ( size_t depth ) const;
77  inline unsigned int getLayerType ( size_t depth ) const;
78  inline DbU::Unit getLayerPitch ( size_t depth ) const;
79  inline DbU::Unit getLayerOffset ( size_t depth ) const;
80  inline DbU::Unit getLayerWireWidth ( size_t depth ) const;
81  inline DbU::Unit getViaWidth ( size_t depth ) const;
82  const Layer* getRoutingLayer ( size_t depth ) const;
83  Layer* getContactLayer ( size_t depth ) const;
84  const vector<RoutingLayerGauge*>&
85  getLayerGauges () const;
86  // Methods.
87  void addLayerGauge ( RoutingLayerGauge* layerGauge );
88  void checkConnexity () const;
89  inline void setSymbolic ( bool );
90  // Hurricane Managment.
91  void toJson ( JsonWriter* ) const;
92  virtual Record* _getRecord ( Record* record=NULL ) const;
93  virtual string _getString () const;
94  virtual string _getTypeName () const;
95 
96  protected:
97  // Internal - Attributes.
98  Name _name;
99  vector<RoutingLayerGauge*> _layerGauges;
100  vector<Layer*> _viaLayers;
101  Technology* _technology;
102  bool _isSymbolic;
103 
104  // Internal - Constructors & Destructors.
105  RoutingGauge ( const char* name );
106  RoutingGauge ( const RoutingGauge& );
107  virtual ~RoutingGauge ();
108  virtual void _preDestroy ();
109  RoutingGauge& operator= ( const RoutingGauge& );
110  };
111 
112 
113  inline bool RoutingGauge::isSymbolic () const { return _isSymbolic; }
114  inline bool RoutingGauge::isTwoMetals () const { return (getDepth() < 3); }
115  inline bool RoutingGauge::isHV () const { return not isTwoMetals() and (getLayerGauge(1)->isHorizontal()); }
116  inline bool RoutingGauge::isVH () const { return not isTwoMetals() and (getLayerGauge(1)->isVertical()); }
117  inline const Name RoutingGauge::getName () const { return _name; }
118  inline size_t RoutingGauge::getDepth () const { return _layerGauges.size(); }
119  inline Technology* RoutingGauge::getTechnology () const { return _technology; }
120  inline DbU::Unit RoutingGauge::getHorizontalPitch () const { return getHorizontalGauge()->getPitch(); }
121  inline DbU::Unit RoutingGauge::getVerticalPitch () const { return getVerticalGauge ()->getPitch(); }
122  inline unsigned int RoutingGauge::getLayerType ( size_t depth ) const { return getLayerGauge(depth)->getType(); }
123  inline unsigned int RoutingGauge::getLayerDirection ( size_t depth ) const { return getLayerGauge(depth)->getDirection(); }
124  inline DbU::Unit RoutingGauge::getLayerPitch ( size_t depth ) const { return getLayerGauge(depth)->getPitch(); }
125  inline DbU::Unit RoutingGauge::getLayerOffset ( size_t depth ) const { return getLayerGauge(depth)->getOffset(); }
126  inline DbU::Unit RoutingGauge::getLayerWireWidth ( size_t depth ) const { return getLayerGauge(depth)->getWireWidth(); }
127  inline DbU::Unit RoutingGauge::getViaWidth ( size_t depth ) const { return getLayerGauge(depth)->getViaWidth(); }
128  inline void RoutingGauge::setSymbolic ( bool state ) { _isSymbolic=state; }
129 
130 
131 // -------------------------------------------------------------------
132 // Class : "JsonRoutingGauge".
133 
134  class JsonRoutingGauge : public JsonObject {
135  public:
136  static void initialize ();
137  JsonRoutingGauge ( unsigned long flags );
138  virtual string getTypeName () const;
139  virtual JsonRoutingGauge* clone ( unsigned long flags ) const;
140  virtual void toData ( JsonStack& );
141  };
142 
143 
144 } // CRL namespace.
145 
146 INSPECTOR_P_SUPPORT(CRL::RoutingGauge);
147 
148 #endif
DbU::Unit getViaWidth() const
Definition: RoutingLayerGauge.h:182
+
1 // -*- C++ -*-
2 //
3 // This file is part of the Coriolis Software.
4 // Copyright (c) UPMC 2008-2018, All Rights Reserved
5 //
6 // +-----------------------------------------------------------------+
7 // | C O R I O L I S |
8 // | Alliance / Hurricane Interface |
9 // | |
10 // | Author : Jean-Paul CHAPUT |
11 // | E-mail : Jean-Paul.Chaput@lip6.fr |
12 // | =============================================================== |
13 // | C++ Header : "./crlcore/RoutingGauge.h" |
14 // +-----------------------------------------------------------------+
15 
16 
17 #ifndef CRL_ROUTING_GAUGE_H
18 #define CRL_ROUTING_GAUGE_H
19 
20 #include <string>
21 #include <vector>
22 #include "hurricane/Name.h"
23 #include "hurricane/Slot.h"
24 
25 namespace Hurricane {
26  class Layer;
27  class Technology;
28 }
29 
30 #include "crlcore/RoutingLayerGauge.h"
31 
32 namespace CRL {
33 
34  using std::string;
35  using std::vector;
39  using Hurricane::Name;
40  using Hurricane::Record;
41  using Hurricane::Layer;
43 
44 
45 // -------------------------------------------------------------------
46 // Class : "RoutingGauge".
47 
48  class RoutingGauge {
49 
50  public:
51  // Constants.
52  static const size_t nlayerdepth;
53  // Constructors & Destructors.
54  static RoutingGauge* create ( const char* name );
55  virtual void destroy ();
56  // Predicates.
57  inline bool isSymbolic () const;
58  inline bool isTwoMetals () const;
59  inline bool isHV () const;
60  inline bool isVH () const;
61  // Accessors.
62  RoutingGauge* getClone () const;
63  inline const Name getName () const;
64  inline Technology* getTechnology () const;
65  inline size_t getDepth () const;
66  inline DbU::Unit getHorizontalPitch () const;
67  inline DbU::Unit getVerticalPitch () const;
68  RoutingLayerGauge* getHorizontalGauge () const;
69  RoutingLayerGauge* getVerticalGauge () const;
70  RoutingLayerGauge* getLayerGauge ( const Layer* ) const;
71  size_t getViaDepth ( const Layer* ) const;
72  size_t getLayerDepth ( const Layer* ) const;
73  unsigned int getLayerType ( const Layer* ) const;
74  unsigned int getLayerDirection ( const Layer* ) const;
75  DbU::Unit getPitch ( const Layer* ) const;
76  DbU::Unit getOffset ( const Layer* ) const;
77  DbU::Unit getWireWidth ( const Layer* ) const;
78  DbU::Unit getViaWidth ( const Layer* ) const;
79  RoutingLayerGauge* getLayerGauge ( size_t depth ) const;
80  inline unsigned int getLayerDirection ( size_t depth ) const;
81  inline unsigned int getLayerType ( size_t depth ) const;
82  inline DbU::Unit getLayerPitch ( size_t depth ) const;
83  inline DbU::Unit getLayerOffset ( size_t depth ) const;
84  inline DbU::Unit getLayerWireWidth ( size_t depth ) const;
85  inline DbU::Unit getViaWidth ( size_t depth ) const;
86  const Layer* getRoutingLayer ( size_t depth ) const;
87  Layer* getContactLayer ( size_t depth ) const;
88  const vector<RoutingLayerGauge*>&
89  getLayerGauges () const;
90  // Methods.
91  void addLayerGauge ( RoutingLayerGauge* layerGauge );
92  void checkConnexity () const;
93  inline void setSymbolic ( bool );
94  // Hurricane Managment.
95  void toJson ( JsonWriter* ) const;
96  virtual Record* _getRecord ( Record* record=NULL ) const;
97  virtual string _getString () const;
98  virtual string _getTypeName () const;
99 
100  protected:
101  // Internal - Attributes.
102  Name _name;
103  vector<RoutingLayerGauge*> _layerGauges;
104  vector<Layer*> _viaLayers;
105  Technology* _technology;
106  bool _isSymbolic;
107 
108  // Internal - Constructors & Destructors.
109  RoutingGauge ( const char* name );
110  RoutingGauge ( const RoutingGauge& );
111  virtual ~RoutingGauge ();
112  virtual void _preDestroy ();
113  RoutingGauge& operator= ( const RoutingGauge& );
114  };
115 
116 
117  inline bool RoutingGauge::isSymbolic () const { return _isSymbolic; }
118  inline bool RoutingGauge::isTwoMetals () const { return (getDepth() < 3); }
119  inline bool RoutingGauge::isHV () const { return not isTwoMetals() and (getLayerGauge(1)->isHorizontal()); }
120  inline bool RoutingGauge::isVH () const { return not isTwoMetals() and (getLayerGauge(1)->isVertical()); }
121  inline const Name RoutingGauge::getName () const { return _name; }
122  inline size_t RoutingGauge::getDepth () const { return _layerGauges.size(); }
123  inline Technology* RoutingGauge::getTechnology () const { return _technology; }
124  inline DbU::Unit RoutingGauge::getHorizontalPitch () const { return getHorizontalGauge()->getPitch(); }
125  inline DbU::Unit RoutingGauge::getVerticalPitch () const { return getVerticalGauge ()->getPitch(); }
126  inline unsigned int RoutingGauge::getLayerType ( size_t depth ) const { return getLayerGauge(depth)->getType(); }
127  inline unsigned int RoutingGauge::getLayerDirection ( size_t depth ) const { return getLayerGauge(depth)->getDirection(); }
128  inline DbU::Unit RoutingGauge::getLayerPitch ( size_t depth ) const { return getLayerGauge(depth)->getPitch(); }
129  inline DbU::Unit RoutingGauge::getLayerOffset ( size_t depth ) const { return getLayerGauge(depth)->getOffset(); }
130  inline DbU::Unit RoutingGauge::getLayerWireWidth ( size_t depth ) const { return getLayerGauge(depth)->getWireWidth(); }
131  inline DbU::Unit RoutingGauge::getViaWidth ( size_t depth ) const { return getLayerGauge(depth)->getViaWidth(); }
132  inline void RoutingGauge::setSymbolic ( bool state ) { _isSymbolic=state; }
133 
134 
135 // -------------------------------------------------------------------
136 // Class : "JsonRoutingGauge".
137 
138  class JsonRoutingGauge : public JsonObject {
139  public:
140  static void initialize ();
141  JsonRoutingGauge ( unsigned long flags );
142  virtual string getTypeName () const;
143  virtual JsonRoutingGauge* clone ( unsigned long flags ) const;
144  virtual void toData ( JsonStack& );
145  };
146 
147 
148 } // CRL namespace.
149 
150 INSPECTOR_P_SUPPORT(CRL::RoutingGauge);
151 
152 #endif
DbU::Unit getViaWidth() const
Definition: RoutingLayerGauge.h:182
DbU::Unit getPitch() const
Definition: RoutingLayerGauge.h:178
@@ -54,11 +54,11 @@ $(function() {
Gauge for the detailed routing.
Definition: RoutingGauge.h:48
RoutingGauge * getClone() const
Constant::Direction getDirection() const
Definition: RoutingLayerGauge.h:173
-
Technology * getTechnology() const
Definition: RoutingGauge.h:119
+
Technology * getTechnology() const
Definition: RoutingGauge.h:123
-
const Name getName() const
Definition: RoutingGauge.h:117
+
const Name getName() const
Definition: RoutingGauge.h:121
DbU::Unit getOffset() const
Definition: RoutingLayerGauge.h:177
-
size_t getDepth() const
Definition: RoutingGauge.h:118
+
size_t getDepth() const
Definition: RoutingGauge.h:122
Constant::LayerGaugeType getType() const
Definition: RoutingLayerGauge.h:174
RoutingLayerGauge * getLayerGauge(const Layer *) const
void addLayerGauge(RoutingLayerGauge *layerGauge)
@@ -80,7 +80,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/RoutingLayerGauge_8h_source.html b/crlcore/doc/crlcore/html/RoutingLayerGauge_8h_source.html index f7cc7a1d..46256a55 100644 --- a/crlcore/doc/crlcore/html/RoutingLayerGauge_8h_source.html +++ b/crlcore/doc/crlcore/html/RoutingLayerGauge_8h_source.html @@ -93,7 +93,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/SearchPath_8h_source.html b/crlcore/doc/crlcore/html/SearchPath_8h_source.html index 57b9d045..6b3786b8 100644 --- a/crlcore/doc/crlcore/html/SearchPath_8h_source.html +++ b/crlcore/doc/crlcore/html/SearchPath_8h_source.html @@ -44,7 +44,7 @@ $(function() {
SearchPath.h
-
1 // -*- C++ -*-
2 //
3 // This file is part of the Coriolis Software.
4 // Copyright (c) UPMC 2008-2018, All Rights Reserved
5 //
6 // +-----------------------------------------------------------------+
7 // | C O R I O L I S |
8 // | Alliance / Hurricane Interface |
9 // | |
10 // | Author : Jean-Paul CHAPUT |
11 // | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
12 // | =============================================================== |
13 // | C++ Header : "./crlcore/SearchPath.h" |
14 // +-----------------------------------------------------------------+
15 
16 
17 #ifndef CRL_SEARCH_PATH_H
18 #define CRL_SEARCH_PATH_H
19 
20 #include <string>
21 #include <vector>
22 #include "hurricane/Commons.h"
23 #include "hurricane/Slot.h"
24 
25 
26 namespace CRL {
27 
28  using Hurricane::Record;
29  using Hurricane::_TName;
30 
31 
32  class SearchPath {
33  public:
34  class Element {
35  public:
36  inline Element ( const std::string& path="", const std::string& name="" );
37  inline bool empty () const;
38  inline const std::string& getPath () const;
39  inline const std::string& getName () const;
40  inline std::string _getTypeName () const;
41  std::string _getString () const;
42  Record* _getRecord () const;
43  private:
44  std::string _path;
45  std::string _name;
46  };
47  public:
48  static const size_t npos;
49  static std::string extractLibName ( const std::string& );
50  SearchPath ();
51  public:
52  inline void reset ();
53  inline void append ( const std::string& path, const std::string& name="" );
54  void prepend ( const std::string& path, const std::string& name="");
55  void replace ( const std::string& path, const std::string&, size_t index );
56  void remove ( size_t index );
57  size_t locate ( const std::string& file
58  , std::ios::openmode mode =std::ios::in
59  , int first=0
60  , int last =64 );
61  void select ( const std::string& );
62  inline size_t getSize () const;
63  inline const std::string& getSelected () const;
64  inline size_t getIndex () const;
65  inline bool hasSelected () const;
66  size_t hasLib ( const std::string& name ) const;
67  size_t hasPath ( const std::string& path ) const;
68  const Element& operator[] ( size_t index ) const;
69  private:
70  static const std::string _selectFailed;
71  std::vector<Element> _paths;
72  size_t _index;
73  std::string _selected;
74  private:
75  SearchPath ( const SearchPath& );
76  bool _canOpen ( const Element& directory
77  , const std::string& file
78  , std::ios::openmode mode
79  );
80  public:
81  inline std::string _getTypeName () const;
82  std::string _getString () const;
83  Record* _getRecord () const;
84  };
85 
86 
87  // Inline Functions.
88  inline void SearchPath::reset () { _paths.resize(1); }
89  inline size_t SearchPath::getSize () const { return _paths.size(); }
90  inline const std::string& SearchPath::getSelected () const { return _selected; }
91  inline size_t SearchPath::getIndex () const { return _index; }
92  inline bool SearchPath::hasSelected () const { return _index != npos; }
93  inline std::string SearchPath::_getTypeName () const { return _TName("SearchPath"); }
94 
95  inline void SearchPath::append ( const std::string& path, const std::string& name ) {
96  _paths.push_back ( Element ( path, name.empty()?extractLibName(path):name ) );
97  }
98 
99  inline SearchPath::Element::Element ( const std::string& path, const std::string& name )
100  : _path(path)
101  , _name(name.empty()?SearchPath::extractLibName(path):name)
102  { }
103 
104  inline bool SearchPath::Element::empty () const { return _path.empty() and _name.empty(); }
105  inline const std::string& SearchPath::Element::getPath () const { return _path; }
106  inline const std::string& SearchPath::Element::getName () const { return _name; }
107  inline std::string SearchPath::Element::_getTypeName () const { return "SearchPath::Element"; }
108 
109 
110 } // CRL namespace.
111 
112 
113 INSPECTOR_P_SUPPORT(CRL::SearchPath);
114 INSPECTOR_V_SUPPORT(CRL::SearchPath::Element);
115 
116 
117 #endif // CRL_SEARCH_PATH_H
const std::string & getSelected() const
Definition: SearchPath.h:90
+
1 // -*- C++ -*-
2 //
3 // This file is part of the Coriolis Software.
4 // Copyright (c) UPMC 2008-2018, All Rights Reserved
5 //
6 // +-----------------------------------------------------------------+
7 // | C O R I O L I S |
8 // | Alliance / Hurricane Interface |
9 // | |
10 // | Author : Jean-Paul CHAPUT |
11 // | E-mail : Jean-Paul.Chaput@asim.lip6.fr |
12 // | =============================================================== |
13 // | C++ Header : "./crlcore/SearchPath.h" |
14 // +-----------------------------------------------------------------+
15 
16 
17 #ifndef CRL_SEARCH_PATH_H
18 #define CRL_SEARCH_PATH_H
19 
20 #include <string>
21 #include <vector>
22 #include "hurricane/Commons.h"
23 #include "hurricane/Slot.h"
24 
25 
26 namespace CRL {
27 
28  using Hurricane::Record;
29  using Hurricane::_TName;
30 
31 
32  class SearchPath {
33  public:
34  class Element {
35  public:
36  inline Element ( const std::string& path="", const std::string& name="" );
37  inline bool empty () const;
38  inline const std::string& getPath () const;
39  inline const std::string& getName () const;
40  inline std::string _getTypeName () const;
41  std::string _getString () const;
42  Record* _getRecord () const;
43  private:
44  std::string _path;
45  std::string _name;
46  };
47  public:
48  static const size_t npos;
49  static std::string extractLibName ( const std::string& );
50  SearchPath ();
51  public:
52  inline void reset ();
53  inline size_t append ( const std::string& path, const std::string& name="" );
54  size_t prepend ( const std::string& path, const std::string& name="");
55  size_t replace ( const std::string& path, const std::string&, size_t index );
56  void remove ( size_t index );
57  size_t locate ( const std::string& file
58  , std::ios::openmode mode =std::ios::in
59  , int first=0
60  , int last =64 );
61  void select ( const std::string& );
62  inline size_t getSize () const;
63  inline const std::string& getSelected () const;
64  inline size_t getIndex () const;
65  inline bool hasSelected () const;
66  size_t hasLib ( const std::string& name ) const;
67  size_t hasPath ( const std::string& path ) const;
68  const Element& operator[] ( size_t index ) const;
69  private:
70  static const std::string _selectFailed;
71  std::vector<Element> _paths;
72  size_t _index;
73  std::string _selected;
74  private:
75  SearchPath ( const SearchPath& );
76  bool _canOpen ( const Element& directory
77  , const std::string& file
78  , std::ios::openmode mode
79  );
80  public:
81  inline std::string _getTypeName () const;
82  std::string _getString () const;
83  Record* _getRecord () const;
84  };
85 
86 
87  // Inline Functions.
88  inline void SearchPath::reset () { _paths.resize(1); }
89  inline size_t SearchPath::getSize () const { return _paths.size(); }
90  inline const std::string& SearchPath::getSelected () const { return _selected; }
91  inline size_t SearchPath::getIndex () const { return _index; }
92  inline bool SearchPath::hasSelected () const { return _index != npos; }
93  inline std::string SearchPath::_getTypeName () const { return _TName("SearchPath"); }
94 
95  inline size_t SearchPath::append ( const std::string& path, const std::string& name ) {
96  _paths.push_back ( Element ( path, name.empty()?extractLibName(path):name ) );
97  return _paths.size()-1;
98  }
99 
100  inline SearchPath::Element::Element ( const std::string& path, const std::string& name )
101  : _path(path)
102  , _name(name.empty()?SearchPath::extractLibName(path):name)
103  { }
104 
105  inline bool SearchPath::Element::empty () const { return _path.empty() and _name.empty(); }
106  inline const std::string& SearchPath::Element::getPath () const { return _path; }
107  inline const std::string& SearchPath::Element::getName () const { return _name; }
108  inline std::string SearchPath::Element::_getTypeName () const { return "SearchPath::Element"; }
109 
110 
111 } // CRL namespace.
112 
113 
114 INSPECTOR_P_SUPPORT(CRL::SearchPath);
115 INSPECTOR_V_SUPPORT(CRL::SearchPath::Element);
116 
117 
118 #endif // CRL_SEARCH_PATH_H
const std::string & getSelected() const
Definition: SearchPath.h:90
void reset()
Definition: SearchPath.h:88
static std::string extractLibName(const std::string &)
size_t getIndex() const
Definition: SearchPath.h:91
@@ -54,21 +54,21 @@ $(function() {
size_t getSize() const
Definition: SearchPath.h:89
size_t hasPath(const std::string &path) const
An ordered list of search pathes.
Definition: SearchPath.h:32
-
void prepend(const std::string &path, const std::string &name="")
-
bool empty() const
Definition: SearchPath.h:104
-
const std::string & getPath() const
Definition: SearchPath.h:105
-
const std::string & getName() const
Definition: SearchPath.h:106
+
size_t prepend(const std::string &path, const std::string &name="")
+
bool empty() const
Definition: SearchPath.h:105
+
const std::string & getPath() const
Definition: SearchPath.h:106
+
const std::string & getName() const
Definition: SearchPath.h:107
The namespace of Coriolis Core.
Definition: Environment.h:26
-
void replace(const std::string &path, const std::string &, size_t index)
-
Element(const std::string &path="", const std::string &name="")
Definition: SearchPath.h:99
-
void append(const std::string &path, const std::string &name="")
Definition: SearchPath.h:95
+
size_t replace(const std::string &path, const std::string &, size_t index)
+
Element(const std::string &path="", const std::string &name="")
Definition: SearchPath.h:100
+
size_t append(const std::string &path, const std::string &name="")
Definition: SearchPath.h:95
const Element & operator[](size_t index) const


- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/ToolEngine_8h_source.html b/crlcore/doc/crlcore/html/ToolEngine_8h_source.html index 3acb76d1..01ff534e 100644 --- a/crlcore/doc/crlcore/html/ToolEngine_8h_source.html +++ b/crlcore/doc/crlcore/html/ToolEngine_8h_source.html @@ -58,7 +58,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/ToolEngines_8h_source.html b/crlcore/doc/crlcore/html/ToolEngines_8h_source.html index d72d9ae0..cf7c6415 100644 --- a/crlcore/doc/crlcore/html/ToolEngines_8h_source.html +++ b/crlcore/doc/crlcore/html/ToolEngines_8h_source.html @@ -57,7 +57,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/annotated.html b/crlcore/doc/crlcore/html/annotated.html index e8bd28c8..1d7a7765 100644 --- a/crlcore/doc/crlcore/html/annotated.html +++ b/crlcore/doc/crlcore/html/annotated.html @@ -64,7 +64,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/classCRL_1_1AcmSigda-members.html b/crlcore/doc/crlcore/html/classCRL_1_1AcmSigda-members.html index b1f95183..cd9fb7c6 100644 --- a/crlcore/doc/crlcore/html/classCRL_1_1AcmSigda-members.html +++ b/crlcore/doc/crlcore/html/classCRL_1_1AcmSigda-members.html @@ -53,7 +53,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/classCRL_1_1AcmSigda.html b/crlcore/doc/crlcore/html/classCRL_1_1AcmSigda.html index 8b60c414..a4ab80dd 100644 --- a/crlcore/doc/crlcore/html/classCRL_1_1AcmSigda.html +++ b/crlcore/doc/crlcore/html/classCRL_1_1AcmSigda.html @@ -118,7 +118,7 @@ Static Public Member Functions
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/classCRL_1_1AllianceFramework-members.html b/crlcore/doc/crlcore/html/classCRL_1_1AllianceFramework-members.html index f607bfe0..277595bd 100644 --- a/crlcore/doc/crlcore/html/classCRL_1_1AllianceFramework-members.html +++ b/crlcore/doc/crlcore/html/classCRL_1_1AllianceFramework-members.html @@ -87,7 +87,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/classCRL_1_1AllianceFramework.html b/crlcore/doc/crlcore/html/classCRL_1_1AllianceFramework.html index 29b61911..22278f62 100644 --- a/crlcore/doc/crlcore/html/classCRL_1_1AllianceFramework.html +++ b/crlcore/doc/crlcore/html/classCRL_1_1AllianceFramework.html @@ -923,7 +923,7 @@ Static Public Member Functions
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/classCRL_1_1AllianceLibrary-members.html b/crlcore/doc/crlcore/html/classCRL_1_1AllianceLibrary-members.html index 3546c9a8..bc37f3d8 100644 --- a/crlcore/doc/crlcore/html/classCRL_1_1AllianceLibrary-members.html +++ b/crlcore/doc/crlcore/html/classCRL_1_1AllianceLibrary-members.html @@ -56,7 +56,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/classCRL_1_1AllianceLibrary.html b/crlcore/doc/crlcore/html/classCRL_1_1AllianceLibrary.html index 59f87d75..15a0ba83 100644 --- a/crlcore/doc/crlcore/html/classCRL_1_1AllianceLibrary.html +++ b/crlcore/doc/crlcore/html/classCRL_1_1AllianceLibrary.html @@ -175,7 +175,7 @@ Public Member Functions
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/classCRL_1_1Banner-members.html b/crlcore/doc/crlcore/html/classCRL_1_1Banner-members.html index 5094698f..0da11090 100644 --- a/crlcore/doc/crlcore/html/classCRL_1_1Banner-members.html +++ b/crlcore/doc/crlcore/html/classCRL_1_1Banner-members.html @@ -67,7 +67,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/classCRL_1_1Banner.html b/crlcore/doc/crlcore/html/classCRL_1_1Banner.html index 7d03cf2d..0b71e233 100644 --- a/crlcore/doc/crlcore/html/classCRL_1_1Banner.html +++ b/crlcore/doc/crlcore/html/classCRL_1_1Banner.html @@ -495,7 +495,7 @@ Public Member Functions
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/classCRL_1_1Catalog-members.html b/crlcore/doc/crlcore/html/classCRL_1_1Catalog-members.html index 0ae4eabe..18c3276e 100644 --- a/crlcore/doc/crlcore/html/classCRL_1_1Catalog-members.html +++ b/crlcore/doc/crlcore/html/classCRL_1_1Catalog-members.html @@ -60,7 +60,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/classCRL_1_1Catalog.html b/crlcore/doc/crlcore/html/classCRL_1_1Catalog.html index 09b1a837..8fddbf95 100644 --- a/crlcore/doc/crlcore/html/classCRL_1_1Catalog.html +++ b/crlcore/doc/crlcore/html/classCRL_1_1Catalog.html @@ -292,7 +292,7 @@ Public Member Functions
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/classCRL_1_1CatalogExtension-members.html b/crlcore/doc/crlcore/html/classCRL_1_1CatalogExtension-members.html index 8251818e..136c6e91 100644 --- a/crlcore/doc/crlcore/html/classCRL_1_1CatalogExtension-members.html +++ b/crlcore/doc/crlcore/html/classCRL_1_1CatalogExtension-members.html @@ -71,7 +71,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/classCRL_1_1CatalogExtension.html b/crlcore/doc/crlcore/html/classCRL_1_1CatalogExtension.html index 10aa49f5..3347e304 100644 --- a/crlcore/doc/crlcore/html/classCRL_1_1CatalogExtension.html +++ b/crlcore/doc/crlcore/html/classCRL_1_1CatalogExtension.html @@ -763,7 +763,7 @@ Static Public Member Functions
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/classCRL_1_1Catalog_1_1State-members.html b/crlcore/doc/crlcore/html/classCRL_1_1Catalog_1_1State-members.html index ee5b4bb6..129f5454 100644 --- a/crlcore/doc/crlcore/html/classCRL_1_1Catalog_1_1State-members.html +++ b/crlcore/doc/crlcore/html/classCRL_1_1Catalog_1_1State-members.html @@ -86,7 +86,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/classCRL_1_1Catalog_1_1State.html b/crlcore/doc/crlcore/html/classCRL_1_1Catalog_1_1State.html index a3ae5d8b..e2b96dd4 100644 --- a/crlcore/doc/crlcore/html/classCRL_1_1Catalog_1_1State.html +++ b/crlcore/doc/crlcore/html/classCRL_1_1Catalog_1_1State.html @@ -846,7 +846,7 @@ Public Member Functions
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/classCRL_1_1Environment-members.html b/crlcore/doc/crlcore/html/classCRL_1_1Environment-members.html index f0de0a26..34575845 100644 --- a/crlcore/doc/crlcore/html/classCRL_1_1Environment-members.html +++ b/crlcore/doc/crlcore/html/classCRL_1_1Environment-members.html @@ -88,7 +88,7 @@ $(function() { setPad(const char *value)CRL::Environment setPOWER(const char *value)CRL::Environment setSCALE_X(long value)CRL::Environmentinline - setWORKING_LIBRARY(const char *value)CRL::Environmentinline + setWORKING_LIBRARY(const char *value)CRL::Environment validate() constCRL::Environment ~Environment()CRL::Environment
@@ -96,7 +96,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/classCRL_1_1Environment.html b/crlcore/doc/crlcore/html/classCRL_1_1Environment.html index 82d4228a..c5616e72 100644 --- a/crlcore/doc/crlcore/html/classCRL_1_1Environment.html +++ b/crlcore/doc/crlcore/html/classCRL_1_1Environment.html @@ -1053,9 +1053,6 @@ Public Member Functions
- - - - - -
@@ -1065,16 +1062,9 @@ Public Member Functions
void CRL::Environment::setWORKING_LIBRARY
-
-inline

Sets the directory in which create cells will be saved.

-

References CRL::SearchPath::replace().

-
@@ -1146,7 +1136,7 @@ Public Member Functions
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/classCRL_1_1GraphicTool-members.html b/crlcore/doc/crlcore/html/classCRL_1_1GraphicTool-members.html index 7d25aae5..d092f99c 100644 --- a/crlcore/doc/crlcore/html/classCRL_1_1GraphicTool-members.html +++ b/crlcore/doc/crlcore/html/classCRL_1_1GraphicTool-members.html @@ -54,7 +54,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/classCRL_1_1GraphicTool.html b/crlcore/doc/crlcore/html/classCRL_1_1GraphicTool.html index 99b5c4ec..d88a93c3 100644 --- a/crlcore/doc/crlcore/html/classCRL_1_1GraphicTool.html +++ b/crlcore/doc/crlcore/html/classCRL_1_1GraphicTool.html @@ -127,7 +127,7 @@ Public Member Functions
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/classCRL_1_1RoutingGauge-members.html b/crlcore/doc/crlcore/html/classCRL_1_1RoutingGauge-members.html index c34529aa..eb5d8fc8 100644 --- a/crlcore/doc/crlcore/html/classCRL_1_1RoutingGauge-members.html +++ b/crlcore/doc/crlcore/html/classCRL_1_1RoutingGauge-members.html @@ -68,7 +68,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/classCRL_1_1RoutingGauge.html b/crlcore/doc/crlcore/html/classCRL_1_1RoutingGauge.html index 413272df..43d80c31 100644 --- a/crlcore/doc/crlcore/html/classCRL_1_1RoutingGauge.html +++ b/crlcore/doc/crlcore/html/classCRL_1_1RoutingGauge.html @@ -451,7 +451,7 @@ Static Public Member Functions
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/classCRL_1_1RoutingLayerGauge-members.html b/crlcore/doc/crlcore/html/classCRL_1_1RoutingLayerGauge-members.html index 394e8a53..847182d6 100644 --- a/crlcore/doc/crlcore/html/classCRL_1_1RoutingLayerGauge-members.html +++ b/crlcore/doc/crlcore/html/classCRL_1_1RoutingLayerGauge-members.html @@ -70,7 +70,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/classCRL_1_1RoutingLayerGauge.html b/crlcore/doc/crlcore/html/classCRL_1_1RoutingLayerGauge.html index a1b499a6..9d598d54 100644 --- a/crlcore/doc/crlcore/html/classCRL_1_1RoutingLayerGauge.html +++ b/crlcore/doc/crlcore/html/classCRL_1_1RoutingLayerGauge.html @@ -682,7 +682,7 @@ Static Public Member Functions
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/classCRL_1_1SearchPath-members.html b/crlcore/doc/crlcore/html/classCRL_1_1SearchPath-members.html index 79e7aa4f..e309dbaf 100644 --- a/crlcore/doc/crlcore/html/classCRL_1_1SearchPath-members.html +++ b/crlcore/doc/crlcore/html/classCRL_1_1SearchPath-members.html @@ -64,7 +64,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/classCRL_1_1SearchPath.html b/crlcore/doc/crlcore/html/classCRL_1_1SearchPath.html index 0ffda809..ec1c0ebd 100644 --- a/crlcore/doc/crlcore/html/classCRL_1_1SearchPath.html +++ b/crlcore/doc/crlcore/html/classCRL_1_1SearchPath.html @@ -63,11 +63,11 @@ Classes Public Member Functions void reset ()   -void append (const std::string &path, const std::string &name="") +size_t append (const std::string &path, const std::string &name="")   -void prepend (const std::string &path, const std::string &name="") +size_t prepend (const std::string &path, const std::string &name="")   -void replace (const std::string &path, const std::string &, size_t index) +size_t replace (const std::string &path, const std::string &, size_t index)   size_t locate (const std::string &file, std::ios::openmode mode=std::ios::in, int first=0, int last=64)   @@ -249,8 +249,6 @@ Static Public Member Functions

Replace the search path element at index index.

-

Referenced by CRL::Environment::setWORKING_LIBRARY().

-
@@ -454,7 +452,7 @@ Static Public Member Functions
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/classCRL_1_1SearchPath_1_1Element-members.html b/crlcore/doc/crlcore/html/classCRL_1_1SearchPath_1_1Element-members.html index 21abbe8f..80d279be 100644 --- a/crlcore/doc/crlcore/html/classCRL_1_1SearchPath_1_1Element-members.html +++ b/crlcore/doc/crlcore/html/classCRL_1_1SearchPath_1_1Element-members.html @@ -56,7 +56,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/classCRL_1_1SearchPath_1_1Element.html b/crlcore/doc/crlcore/html/classCRL_1_1SearchPath_1_1Element.html index 927480fd..db0e1e47 100644 --- a/crlcore/doc/crlcore/html/classCRL_1_1SearchPath_1_1Element.html +++ b/crlcore/doc/crlcore/html/classCRL_1_1SearchPath_1_1Element.html @@ -190,7 +190,7 @@ Public Member Functions
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/classCRL_1_1ToolEngine-members.html b/crlcore/doc/crlcore/html/classCRL_1_1ToolEngine-members.html index 9bb56cb2..c670f530 100644 --- a/crlcore/doc/crlcore/html/classCRL_1_1ToolEngine-members.html +++ b/crlcore/doc/crlcore/html/classCRL_1_1ToolEngine-members.html @@ -64,7 +64,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/classCRL_1_1ToolEngine.html b/crlcore/doc/crlcore/html/classCRL_1_1ToolEngine.html index 40a93477..4b06c43f 100644 --- a/crlcore/doc/crlcore/html/classCRL_1_1ToolEngine.html +++ b/crlcore/doc/crlcore/html/classCRL_1_1ToolEngine.html @@ -198,7 +198,7 @@ Static Public Member Functions
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/classes.html b/crlcore/doc/crlcore/html/classes.html index b8c2f0a2..033603f8 100644 --- a/crlcore/doc/crlcore/html/classes.html +++ b/crlcore/doc/crlcore/html/classes.html @@ -73,7 +73,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/crlcore.tag b/crlcore/doc/crlcore/html/crlcore.tag index 43fb3205..7032d0ec 100644 --- a/crlcore/doc/crlcore/html/crlcore.tag +++ b/crlcore/doc/crlcore/html/crlcore.tag @@ -1254,21 +1254,21 @@ () - void + size_t append classCRL_1_1SearchPath.html af358bdb1e940f08137f887f70eb641e3 (const std::string &path, const std::string &name="") - void + size_t prepend classCRL_1_1SearchPath.html af39d78a63d880e90ae6f947abf1fe322 (const std::string &path, const std::string &name="") - void + size_t replace classCRL_1_1SearchPath.html a6cd1524e1048f246682cd5ef40145d67 diff --git a/crlcore/doc/crlcore/html/dir_1d3beb215ce2defdb52d6dee9d41bc7a.html b/crlcore/doc/crlcore/html/dir_1d3beb215ce2defdb52d6dee9d41bc7a.html index a27dd3ba..748f597f 100644 --- a/crlcore/doc/crlcore/html/dir_1d3beb215ce2defdb52d6dee9d41bc7a.html +++ b/crlcore/doc/crlcore/html/dir_1d3beb215ce2defdb52d6dee9d41bc7a.html @@ -53,7 +53,7 @@ Directories
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/crlcore/doc/crlcore/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html index 3e7d54d6..47da7ac7 100644 --- a/crlcore/doc/crlcore/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html +++ b/crlcore/doc/crlcore/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -49,7 +49,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/dir_d23e13494685c82fafa9ef5abb5746af.html b/crlcore/doc/crlcore/html/dir_d23e13494685c82fafa9ef5abb5746af.html index fbf785de..83c57205 100644 --- a/crlcore/doc/crlcore/html/dir_d23e13494685c82fafa9ef5abb5746af.html +++ b/crlcore/doc/crlcore/html/dir_d23e13494685c82fafa9ef5abb5746af.html @@ -49,7 +49,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/files.html b/crlcore/doc/crlcore/html/files.html index fa02cf65..0a3d38c7 100644 --- a/crlcore/doc/crlcore/html/files.html +++ b/crlcore/doc/crlcore/html/files.html @@ -61,7 +61,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/functions.html b/crlcore/doc/crlcore/html/functions.html index 3d09f05f..7a6b9275 100644 --- a/crlcore/doc/crlcore/html/functions.html +++ b/crlcore/doc/crlcore/html/functions.html @@ -72,7 +72,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/functions_0x7e.html b/crlcore/doc/crlcore/html/functions_0x7e.html index 1a9f53c2..d78f37c8 100644 --- a/crlcore/doc/crlcore/html/functions_0x7e.html +++ b/crlcore/doc/crlcore/html/functions_0x7e.html @@ -54,7 +54,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/functions_b.html b/crlcore/doc/crlcore/html/functions_b.html index 80453675..3dd4f9ac 100644 --- a/crlcore/doc/crlcore/html/functions_b.html +++ b/crlcore/doc/crlcore/html/functions_b.html @@ -48,7 +48,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/functions_c.html b/crlcore/doc/crlcore/html/functions_c.html index 5a931235..13b3271f 100644 --- a/crlcore/doc/crlcore/html/functions_c.html +++ b/crlcore/doc/crlcore/html/functions_c.html @@ -68,7 +68,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/functions_d.html b/crlcore/doc/crlcore/html/functions_d.html index 55413811..66e648bf 100644 --- a/crlcore/doc/crlcore/html/functions_d.html +++ b/crlcore/doc/crlcore/html/functions_d.html @@ -62,7 +62,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/functions_e.html b/crlcore/doc/crlcore/html/functions_e.html index 767d273d..7ec263f7 100644 --- a/crlcore/doc/crlcore/html/functions_e.html +++ b/crlcore/doc/crlcore/html/functions_e.html @@ -57,7 +57,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/functions_enum.html b/crlcore/doc/crlcore/html/functions_enum.html index 641c0c07..118b34ae 100644 --- a/crlcore/doc/crlcore/html/functions_enum.html +++ b/crlcore/doc/crlcore/html/functions_enum.html @@ -55,7 +55,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/functions_eval.html b/crlcore/doc/crlcore/html/functions_eval.html index 8ef9e47e..c3260829 100644 --- a/crlcore/doc/crlcore/html/functions_eval.html +++ b/crlcore/doc/crlcore/html/functions_eval.html @@ -91,7 +91,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/functions_f.html b/crlcore/doc/crlcore/html/functions_f.html index 848a7034..435c25a9 100644 --- a/crlcore/doc/crlcore/html/functions_f.html +++ b/crlcore/doc/crlcore/html/functions_f.html @@ -54,7 +54,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/functions_func.html b/crlcore/doc/crlcore/html/functions_func.html index cc58c864..a688890b 100644 --- a/crlcore/doc/crlcore/html/functions_func.html +++ b/crlcore/doc/crlcore/html/functions_func.html @@ -588,7 +588,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/functions_g.html b/crlcore/doc/crlcore/html/functions_g.html index 11555b24..477a10fe 100644 --- a/crlcore/doc/crlcore/html/functions_g.html +++ b/crlcore/doc/crlcore/html/functions_g.html @@ -258,7 +258,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/functions_h.html b/crlcore/doc/crlcore/html/functions_h.html index f9098636..e85e3036 100644 --- a/crlcore/doc/crlcore/html/functions_h.html +++ b/crlcore/doc/crlcore/html/functions_h.html @@ -54,7 +54,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/functions_i.html b/crlcore/doc/crlcore/html/functions_i.html index 140f91df..f83b4a22 100644 --- a/crlcore/doc/crlcore/html/functions_i.html +++ b/crlcore/doc/crlcore/html/functions_i.html @@ -100,7 +100,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/functions_l.html b/crlcore/doc/crlcore/html/functions_l.html index aab491bd..12e797cf 100644 --- a/crlcore/doc/crlcore/html/functions_l.html +++ b/crlcore/doc/crlcore/html/functions_l.html @@ -63,7 +63,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/functions_m.html b/crlcore/doc/crlcore/html/functions_m.html index 7e408438..8fad1a07 100644 --- a/crlcore/doc/crlcore/html/functions_m.html +++ b/crlcore/doc/crlcore/html/functions_m.html @@ -51,7 +51,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/functions_o.html b/crlcore/doc/crlcore/html/functions_o.html index 8943eed9..22c81061 100644 --- a/crlcore/doc/crlcore/html/functions_o.html +++ b/crlcore/doc/crlcore/html/functions_o.html @@ -48,7 +48,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/functions_p.html b/crlcore/doc/crlcore/html/functions_p.html index 5d5c52d5..3822d6a2 100644 --- a/crlcore/doc/crlcore/html/functions_p.html +++ b/crlcore/doc/crlcore/html/functions_p.html @@ -57,7 +57,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/functions_r.html b/crlcore/doc/crlcore/html/functions_r.html index 89667e26..831e9866 100644 --- a/crlcore/doc/crlcore/html/functions_r.html +++ b/crlcore/doc/crlcore/html/functions_r.html @@ -57,7 +57,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/functions_s.html b/crlcore/doc/crlcore/html/functions_s.html index 3c5ed7d6..8382ab99 100644 --- a/crlcore/doc/crlcore/html/functions_s.html +++ b/crlcore/doc/crlcore/html/functions_s.html @@ -154,7 +154,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/functions_v.html b/crlcore/doc/crlcore/html/functions_v.html index 68c7ea8d..17e26697 100644 --- a/crlcore/doc/crlcore/html/functions_v.html +++ b/crlcore/doc/crlcore/html/functions_v.html @@ -51,7 +51,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/hierarchy.html b/crlcore/doc/crlcore/html/hierarchy.html index 2dfad9d0..889acca1 100644 --- a/crlcore/doc/crlcore/html/hierarchy.html +++ b/crlcore/doc/crlcore/html/hierarchy.html @@ -64,7 +64,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/index.html b/crlcore/doc/crlcore/html/index.html index b02d01d0..6131375b 100644 --- a/crlcore/doc/crlcore/html/index.html +++ b/crlcore/doc/crlcore/html/index.html @@ -45,7 +45,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/namespaceCRL.html b/crlcore/doc/crlcore/html/namespaceCRL.html index 40ff7730..50ee19d7 100644 --- a/crlcore/doc/crlcore/html/namespaceCRL.html +++ b/crlcore/doc/crlcore/html/namespaceCRL.html @@ -149,7 +149,7 @@ Typedefs
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/namespaceConstant.html b/crlcore/doc/crlcore/html/namespaceConstant.html index 7c52ee7f..dfefdd3e 100644 --- a/crlcore/doc/crlcore/html/namespaceConstant.html +++ b/crlcore/doc/crlcore/html/namespaceConstant.html @@ -149,7 +149,7 @@ Enumerations
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/namespacemembers.html b/crlcore/doc/crlcore/html/namespacemembers.html index 77471e28..d6317a5f 100644 --- a/crlcore/doc/crlcore/html/namespacemembers.html +++ b/crlcore/doc/crlcore/html/namespacemembers.html @@ -85,7 +85,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/namespacemembers_enum.html b/crlcore/doc/crlcore/html/namespacemembers_enum.html index 138431a9..4462600c 100644 --- a/crlcore/doc/crlcore/html/namespacemembers_enum.html +++ b/crlcore/doc/crlcore/html/namespacemembers_enum.html @@ -52,7 +52,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/namespacemembers_eval.html b/crlcore/doc/crlcore/html/namespacemembers_eval.html index c7469625..0197b788 100644 --- a/crlcore/doc/crlcore/html/namespacemembers_eval.html +++ b/crlcore/doc/crlcore/html/namespacemembers_eval.html @@ -67,7 +67,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/namespacemembers_type.html b/crlcore/doc/crlcore/html/namespacemembers_type.html index 2f8d1484..f95a3662 100644 --- a/crlcore/doc/crlcore/html/namespacemembers_type.html +++ b/crlcore/doc/crlcore/html/namespacemembers_type.html @@ -52,7 +52,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/html/namespaces.html b/crlcore/doc/crlcore/html/namespaces.html index 6ffaefde..64263b3c 100644 --- a/crlcore/doc/crlcore/html/namespaces.html +++ b/crlcore/doc/crlcore/html/namespaces.html @@ -51,7 +51,7 @@ $(function() {
- +
Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
diff --git a/crlcore/doc/crlcore/latex/classCRL_1_1Environment.tex b/crlcore/doc/crlcore/latex/classCRL_1_1Environment.tex index 748dde2b..4b399906 100644 --- a/crlcore/doc/crlcore/latex/classCRL_1_1Environment.tex +++ b/crlcore/doc/crlcore/latex/classCRL_1_1Environment.tex @@ -371,13 +371,9 @@ Sets the name of the auxiliary file in library directories holding the meta-\/in \index{C\+R\+L\+::\+Environment@{C\+R\+L\+::\+Environment}!set\+W\+O\+R\+K\+I\+N\+G\+\_\+\+L\+I\+B\+R\+A\+RY@{set\+W\+O\+R\+K\+I\+N\+G\+\_\+\+L\+I\+B\+R\+A\+RY}} \index{set\+W\+O\+R\+K\+I\+N\+G\+\_\+\+L\+I\+B\+R\+A\+RY@{set\+W\+O\+R\+K\+I\+N\+G\+\_\+\+L\+I\+B\+R\+A\+RY}!C\+R\+L\+::\+Environment@{C\+R\+L\+::\+Environment}} \subsubsection{\texorpdfstring{set\+W\+O\+R\+K\+I\+N\+G\+\_\+\+L\+I\+B\+R\+A\+R\+Y()}{setWORKING\_LIBRARY()}} -{\footnotesize\ttfamily void C\+R\+L\+::\+Environment\+::set\+W\+O\+R\+K\+I\+N\+G\+\_\+\+L\+I\+B\+R\+A\+RY (\begin{DoxyParamCaption}\item[{const char $\ast$}]{value }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}} +{\footnotesize\ttfamily void C\+R\+L\+::\+Environment\+::set\+W\+O\+R\+K\+I\+N\+G\+\_\+\+L\+I\+B\+R\+A\+RY (\begin{DoxyParamCaption}\item[{const char $\ast$}]{value }\end{DoxyParamCaption})} -Sets the directory in which create cells will be saved. - -References C\+R\+L\+::\+Search\+Path\+::replace(). - -\mbox{\Hypertarget{classCRL_1_1Environment_a7c3bff1fa3f9a080461950db36df4416}\label{classCRL_1_1Environment_a7c3bff1fa3f9a080461950db36df4416}} +Sets the directory in which create cells will be saved. \mbox{\Hypertarget{classCRL_1_1Environment_a7c3bff1fa3f9a080461950db36df4416}\label{classCRL_1_1Environment_a7c3bff1fa3f9a080461950db36df4416}} \index{C\+R\+L\+::\+Environment@{C\+R\+L\+::\+Environment}!add\+S\+Y\+S\+T\+E\+M\+\_\+\+L\+I\+B\+R\+A\+RY@{add\+S\+Y\+S\+T\+E\+M\+\_\+\+L\+I\+B\+R\+A\+RY}} \index{add\+S\+Y\+S\+T\+E\+M\+\_\+\+L\+I\+B\+R\+A\+RY@{add\+S\+Y\+S\+T\+E\+M\+\_\+\+L\+I\+B\+R\+A\+RY}!C\+R\+L\+::\+Environment@{C\+R\+L\+::\+Environment}} \subsubsection{\texorpdfstring{add\+S\+Y\+S\+T\+E\+M\+\_\+\+L\+I\+B\+R\+A\+R\+Y()}{addSYSTEM\_LIBRARY()}} diff --git a/crlcore/doc/crlcore/latex/classCRL_1_1SearchPath.tex b/crlcore/doc/crlcore/latex/classCRL_1_1SearchPath.tex index bfa01304..37be8e67 100644 --- a/crlcore/doc/crlcore/latex/classCRL_1_1SearchPath.tex +++ b/crlcore/doc/crlcore/latex/classCRL_1_1SearchPath.tex @@ -15,11 +15,11 @@ class \mbox{\hyperlink{classCRL_1_1SearchPath_1_1Element}{Element}} \item void \mbox{\hyperlink{classCRL_1_1SearchPath_a7081332b63c642917b4ca15f665662f4}{reset}} () \item -void \mbox{\hyperlink{classCRL_1_1SearchPath_af358bdb1e940f08137f887f70eb641e3}{append}} (const std\+::string \&path, const std\+::string \&name=\char`\"{}\char`\"{}) +size\+\_\+t \mbox{\hyperlink{classCRL_1_1SearchPath_af358bdb1e940f08137f887f70eb641e3}{append}} (const std\+::string \&path, const std\+::string \&name=\char`\"{}\char`\"{}) \item -void \mbox{\hyperlink{classCRL_1_1SearchPath_af39d78a63d880e90ae6f947abf1fe322}{prepend}} (const std\+::string \&path, const std\+::string \&name=\char`\"{}\char`\"{}) +size\+\_\+t \mbox{\hyperlink{classCRL_1_1SearchPath_af39d78a63d880e90ae6f947abf1fe322}{prepend}} (const std\+::string \&path, const std\+::string \&name=\char`\"{}\char`\"{}) \item -void \mbox{\hyperlink{classCRL_1_1SearchPath_a6cd1524e1048f246682cd5ef40145d67}{replace}} (const std\+::string \&path, const std\+::string \&, size\+\_\+t index) +size\+\_\+t \mbox{\hyperlink{classCRL_1_1SearchPath_a6cd1524e1048f246682cd5ef40145d67}{replace}} (const std\+::string \&path, const std\+::string \&, size\+\_\+t index) \item size\+\_\+t \mbox{\hyperlink{classCRL_1_1SearchPath_af8e579af7e78dddb7a014d4bbbf9a36f}{locate}} (const std\+::string \&file, std\+::ios\+::openmode mode=std\+::ios\+::in, int first=0, int last=64) \item @@ -89,11 +89,7 @@ Prepend a search path. The {\ttfamily name} gives the library name. \mbox{\Hyper \subsubsection{\texorpdfstring{replace()}{replace()}} {\footnotesize\ttfamily void C\+R\+L\+::\+Search\+Path\+::replace (\begin{DoxyParamCaption}\item[{const std\+::string \&}]{path, }\item[{const std\+::string \&}]{name, }\item[{size\+\_\+t}]{index }\end{DoxyParamCaption})} -Replace the search path element at index {\ttfamily index}. - -Referenced by C\+R\+L\+::\+Environment\+::set\+W\+O\+R\+K\+I\+N\+G\+\_\+\+L\+I\+B\+R\+A\+R\+Y(). - -\mbox{\Hypertarget{classCRL_1_1SearchPath_af8e579af7e78dddb7a014d4bbbf9a36f}\label{classCRL_1_1SearchPath_af8e579af7e78dddb7a014d4bbbf9a36f}} +Replace the search path element at index {\ttfamily index}. \mbox{\Hypertarget{classCRL_1_1SearchPath_af8e579af7e78dddb7a014d4bbbf9a36f}\label{classCRL_1_1SearchPath_af8e579af7e78dddb7a014d4bbbf9a36f}} \index{C\+R\+L\+::\+Search\+Path@{C\+R\+L\+::\+Search\+Path}!locate@{locate}} \index{locate@{locate}!C\+R\+L\+::\+Search\+Path@{C\+R\+L\+::\+Search\+Path}} \subsubsection{\texorpdfstring{locate()}{locate()}} diff --git a/crlcore/doc/crlcore/latex/refman.tex b/crlcore/doc/crlcore/latex/refman.tex index 64e53032..ecd05070 100644 --- a/crlcore/doc/crlcore/latex/refman.tex +++ b/crlcore/doc/crlcore/latex/refman.tex @@ -34,7 +34,7 @@ \vspace*{1cm} {\large Generated by Doxygen 1.8.14}\\ \vspace*{0.5cm} - {\small Sun May 26 2019 17:26:53}\\ + {\small Mon Oct 28 2019 18:06:32}\\ \end{center} \end{titlepage} diff --git a/crlcore/etc/CMakeLists.txt b/crlcore/etc/CMakeLists.txt index f7840428..fee715fc 100644 --- a/crlcore/etc/CMakeLists.txt +++ b/crlcore/etc/CMakeLists.txt @@ -4,4 +4,5 @@ install( DIRECTORY symbolic DESTINATION ${SYS_CONF_DIR}/coriolis2 ) install( DIRECTORY 180 DESTINATION ${SYS_CONF_DIR}/coriolis2 ) install( DIRECTORY 45 DESTINATION ${SYS_CONF_DIR}/coriolis2 ) + install( DIRECTORY node180 DESTINATION ${SYS_CONF_DIR}/coriolis2 ) diff --git a/crlcore/etc/common/__init__.py b/crlcore/etc/common/__init__.py new file mode 100644 index 00000000..354e2683 --- /dev/null +++ b/crlcore/etc/common/__init__.py @@ -0,0 +1,59 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/common/__init__.py" | +# +-----------------------------------------------------------------+ + + +from Hurricane import DataBase +import helpers.io +from helpers.io import ErrorMessage + + +def loadGdsLayers ( gdsLayersTable ): + technology = DataBase.getDB().getTechnology() + + for entry in gdsLayersTable: + try: + if len(entry) != 4: + raise ErrorMessage( 1, ['Malformed entry in .' + ,'Must have exactly four fields: (symb_name,real_name,GDSII_layer,GDSII_datatype).' + ,str(entry) + ] ) + symbName, realName, gdsiiLayer,gdsiiDatatype = entry + if not isinstance(gdsiiLayer,int): + raise ErrorMessage( 1, ['Incoherency in entry.' + ,'GDSII layer number is not of int type (%s).' \ + % helpers.stype(gdsiiLayer) + ,str(entry) + ] ) + if not isinstance(gdsiiDatatype,int): + raise ErrorMessage( 1, ['Incoherency in entry.' + ,'GDSII layer Datatype is not of int type (%s).' \ + % helpers.stype(gdsiiDatatype) + ,str(entry) + ] ) + + basicLayer = technology.getBasicLayer( symbName ) + if not basicLayer: + raise ErrorMessage( 1, ['Incoherency in entry.' + ,'The real layer "%s" associated to the GDSII "%s" do not exists.' \ + % (symbName,realName) + ,str(entry) + ] ) + + basicLayer.setRealName ( realName ) + basicLayer.setGds2Layer ( gdsiiLayer ) + basicLayer.setGds2Datatype( gdsiiDatatype ) + + except Exception, e: + helpers.io.catch( e ) + return diff --git a/crlcore/etc/common/analog.py b/crlcore/etc/common/analog.py new file mode 100644 index 00000000..1d9308ba --- /dev/null +++ b/crlcore/etc/common/analog.py @@ -0,0 +1,24 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@asim.lip6.fr | +# | =============================================================== | +# | Python : "./etc/common/analog.py" | +# +-----------------------------------------------------------------+ + + +import Cfg +import helpers + + +p = Cfg.getParamString( 'analog.techno' ) +p.setString( 'Analog_technology_has_not_been_set' ) +p.flags = Cfg.Parameter.Flags.NeedRestart|Cfg.Parameter.Flags.MustExist + +#Cfg.getParamString( 'analog.devices' ).setString( helpers.technoDir+'/devices.conf' ) diff --git a/crlcore/etc/common/colors.py b/crlcore/etc/common/colors.py new file mode 100644 index 00000000..321eec24 --- /dev/null +++ b/crlcore/etc/common/colors.py @@ -0,0 +1,75 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@asim.lip6.fr | +# | =============================================================== | +# | Python : "./etc/common/colors.py" | +# +-----------------------------------------------------------------+ + + +import string + + +stdColors = \ + { 'Black' : '0,0,0' + , 'Gray50' : '050,050,050' + , 'Gray238' : '238,238,238' + , 'White' : '255,255,255' + , 'Seashell4' : '139,134,130' + , 'Red' : '255,0,0' # Shade of Reds. + , 'OrangeRed' : "255,69,0" + , 'DarkOrange' : "255,140,0" + , 'Orange' : "255,165,0" + , 'Wheat' : "245,222,179" + , 'LightPink' : '255,182,193' + , 'Green' : '0,255,0' # Shade of Green. + , 'LawnGreen' : '124,252,0' + , 'Blue' : '0,0,255' # Shade of Blue. + , 'Aqua' : '0,255,255' + , 'DarkTurquoise' : '0,206,209' + , 'BlueViolet' : '138,43,226' + , 'Violet' : '238;130;238' # Shade of Violets. + , 'Magenta' : '255,0,255' + , 'Magenta4' : '139,0,139' + , 'Tan' : '210,180,140' # Shade of Browns + , 'Yellow' : '255,255,0' # Shade of Yellows. + , 'LightYellow' : '255,255,224' + } + + +def toRGB ( color ): + if not isinstance(color,str): + raise ErrorMessage( 1, [ 'The attribute of Drawing must be str, not %s.' % (helpers.stype(color)) + , str(options[attribute])] ) + + # Try a predefined color lookup. + if stdColors.has_key(color): return stdColors[color] + + # Try a RGB hexa: #RRGGBB. + if color[0] == '#': + for digit in color[1:]: + if not digit in string.hexdigits: + raise ErrorMessage( 1, ['Non-hexadecimal digit \'%c\' in attribute of Drawing.' % digit, color] ) + if len(color) != 7: + raise ErrorMessage( 1, [' attribute of Drawing do not have exactly six digits.' % digit, color]) + return color + + # Try a RGB tuple (R,G,B). + rgb = color.split(',') + if len(rgb) != 3: + raise ErrorMessage( 1, [' attribute of Drawing is neither hexa nor RGB nor predefined.', color] ) + + for component in rgb: + for digit in component: + if not digit in string.digits: + raise ErrorMessage( 1, ['Bad RGB component \'%s\' of Drawing, not an integer.' % component ,color] ) + value = int(component) + if value < 0 or value > 255: + raise ErrorMessage( 1, ['Bad RGB component \'%s\' of Drawing, not between 0 and 255.' % component ,color] ) + return color diff --git a/crlcore/etc/common/devices.py b/crlcore/etc/common/devices.py new file mode 100644 index 00000000..c185a015 --- /dev/null +++ b/crlcore/etc/common/devices.py @@ -0,0 +1,48 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./common/devices.py" | +# +-----------------------------------------------------------------+ + + +from Hurricane import DataBase +import helpers.io +from helpers.io import ErrorMessage +from helpers.io import WarningMessage + + +tech = DataBase.getDB().getTechnology() + + +def addDevice ( **kw ): + global tech + + try: + if kw.has_key('name'): + devDesc = tech.addDeviceDescriptor( kw['name'] ) + + if kw.has_key('spice'): + devDesc.setSpiceFilePath( kw['spice'] ) + + if kw.has_key('connectors'): + for connector in kw['connectors']: + devDesc.addConnector( connector ) + else: + print WarningMessage( 'common.addDevice(): Missing connectors on device "%s".' % kw['name' ]) + + if kw.has_key('layouts'): + for layout in kw['layouts']: + devDesc.addLayout( layout[0], layout[1] ) + else: + print WarningMessage( 'common.addDevice(): Missing layouts on device "%s".' % kw['name' ]) + except Exception, e: + helpers.io.catch( e ) + return diff --git a/crlcore/etc/common/display.py b/crlcore/etc/common/display.py new file mode 100644 index 00000000..3157da86 --- /dev/null +++ b/crlcore/etc/common/display.py @@ -0,0 +1,463 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/common/display.py" | +# +-----------------------------------------------------------------+ + + +import Viewer +from common.colors import toRGB +from common.patterns import toHexa + + +def createStyles ( scale=1.0 ): + + # ---------------------------------------------------------------------- + # Style: Alliance.Coriolis [black]. + + style = Viewer.DisplayStyle( 'Alliance.Coriolis [black]' ) + style.setDescription( 'Alliance Coriolis Look - black background' ) + style.setDarkening ( Viewer.DisplayStyle.HSVr(1.0, 3.0, 2.5) ) + + style.addDrawingStyle( group='Viewer', name='fallback' , color=toRGB('Gray238' ), border=1, pattern='55AA55AA55AA55AA' ) + style.addDrawingStyle( group='Viewer', name='background' , color=toRGB('Gray50' ), border=1 ) + style.addDrawingStyle( group='Viewer', name='foreground' , color=toRGB('White' ), border=1 ) + style.addDrawingStyle( group='Viewer', name='rubber' , color=toRGB('192,0,192' ), border=2, threshold=0.02*scale ) + style.addDrawingStyle( group='Viewer', name='phantom' , color=toRGB('Seashell4' ), border=1 ) + style.addDrawingStyle( group='Viewer', name='boundaries' , color=toRGB('208,199,192'), border=1, pattern='0000000000000000', threshold=0 ) + style.addDrawingStyle( group='Viewer', name='marker' , color=toRGB('80,250,80' ), border=1 ) + style.addDrawingStyle( group='Viewer', name='selectionDraw' , color=toRGB('White' ), border=1 ) + style.addDrawingStyle( group='Viewer', name='selectionFill' , color=toRGB('White' ), border=1 ) + style.addDrawingStyle( group='Viewer', name='grid' , color=toRGB('White' ), border=1, threshold=2.0*scale ) + style.addDrawingStyle( group='Viewer', name='spot' , color=toRGB('White' ), border=2, threshold=6.0*scale ) + style.addDrawingStyle( group='Viewer', name='ghost' , color=toRGB('White' ), border=1 ) + style.addDrawingStyle( group='Viewer', name='text.ruler' , color=toRGB('White' ), border=1, threshold=0.0*scale ) + style.addDrawingStyle( group='Viewer', name='text.instance' , color=toRGB('Black' ), border=1, threshold=4.0*scale ) + style.addDrawingStyle( group='Viewer', name='text.reference' , color=toRGB('White' ), border=1, threshold=20.0*scale ) + style.addDrawingStyle( group='Viewer', name='undef' , color=toRGB('Violet' ), border=0, pattern='2244118822441188' ) + style.addDrawingStyle( group='Viewer', name='mauka.container', color=toRGB('Magenta4' ), border=4, pattern='0000000000000000', goMatched=False ) + + # Group: Active Layer. + style.addDrawingStyle( group='Active Layer', name='nWell' , color=toRGB('Tan' ), pattern='55AA55AA55AA55AA' , threshold=1.5 *scale ) + style.addDrawingStyle( group='Active Layer', name='pWell' , color=toRGB('LightYellow'), pattern='55AA55AA55AA55AA' , threshold=1.50*scale ) + style.addDrawingStyle( group='Active Layer', name='nImplant', color=toRGB('LawnGreen' ), pattern='55AA55AA55AA55AA' , threshold=1.50*scale ) + style.addDrawingStyle( group='Active Layer', name='pImplant', color=toRGB('Yellow' ), pattern='55AA55AA55AA55AA' , threshold=1.50*scale ) + style.addDrawingStyle( group='Active Layer', name='active' , color=toRGB('White' ), pattern=toHexa('antihash1.8'), threshold=1.50*scale ) + style.addDrawingStyle( group='Active Layer', name='poly' , color=toRGB('Red' ), pattern='55AA55AA55AA55AA' , threshold=1.50*scale ) + + # Group: Routing Layer. + style.addDrawingStyle( group='Routing Layer', name='metal1' , color=toRGB('Blue' ), pattern=toHexa('poids2.8' ), threshold=0.80*scale ) + style.addDrawingStyle( group='Routing Layer', name='metal2' , color=toRGB('Aqua' ), pattern=toHexa('light_antihash0.8'), threshold=0.02*scale ) + style.addDrawingStyle( group='Routing Layer', name='metal3' , color=toRGB('LightPink'), pattern=toHexa('light_antihash1.8'), threshold=0.02*scale ) + style.addDrawingStyle( group='Routing Layer', name='metal4' , color=toRGB('Green' ), pattern=toHexa('light_antihash2.8'), threshold=0.02*scale ) + style.addDrawingStyle( group='Routing Layer', name='metal5' , color=toRGB('Yellow' ), pattern='1144114411441144' , threshold=0.02*scale ) + style.addDrawingStyle( group='Routing Layer', name='metal6' , color=toRGB('Violet' ), pattern=toHexa('light_antihash0.8'), threshold=0.02*scale ) + style.addDrawingStyle( group='Routing Layer', name='metal7' , color=toRGB('Violet' ), pattern=toHexa('light_antihash0.8'), threshold=0.02*scale ) + style.addDrawingStyle( group='Routing Layer', name='metal8' , color=toRGB('Violet' ), pattern=toHexa('light_antihash0.8'), threshold=0.02*scale ) + style.addDrawingStyle( group='Routing Layer', name='metal9' , color=toRGB('Violet' ), pattern=toHexa('light_antihash0.8'), threshold=0.02*scale ) + style.addDrawingStyle( group='Routing Layer', name='metal10', color=toRGB('Violet' ), pattern=toHexa('light_antihash0.8'), threshold=0.02*scale ) + + # Group: Cuts (VIA holes). + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut0', color=toRGB('0,150,150'), threshold=1.50*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut1', color=toRGB('Aqua' ), threshold=0.80*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut2', color=toRGB('LightPink'), threshold=0.80*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut3', color=toRGB('Green' ), threshold=0.80*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut4', color=toRGB('Yellow' ), threshold=0.80*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut5', color=toRGB('Violet' ), threshold=0.80*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut6', color=toRGB('Violet' ), threshold=0.80*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut7', color=toRGB('Violet' ), threshold=0.80*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut8', color=toRGB('Violet' ), threshold=0.80*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut9', color=toRGB('Violet' ), threshold=0.80*scale ) + + # Group: MIM6. + style.addDrawingStyle( group='MIM6', name='metbot_r', color=toRGB('Aqua' ), pattern=toHexa('light_antihash0.8'), threshold=0.80*scale ) + style.addDrawingStyle( group='MIM6', name='cut6' , color=toRGB('LightPink'), pattern=toHexa('light_antihash1.8'), threshold=0.80*scale ) + style.addDrawingStyle( group='MIM6', name='metal7' , color=toRGB('Green' ), pattern=toHexa('light_antihash2.8'), threshold=0.80*scale ) + + # Group: Blockages. + style.addDrawingStyle( group='Blockages', name='blockage1' , color=toRGB('Blue' ), pattern='006070381c0e0703' , threshold=0.80*scale, border=2 ) + style.addDrawingStyle( group='Blockages', name='blockage2' , color=toRGB('Aqua' ), pattern='8103060c183060c0' , threshold=0.80*scale, border=2 ) + style.addDrawingStyle( group='Blockages', name='blockage3' , color=toRGB('LightPink'), pattern=toHexa('poids4.8' ), threshold=0.80*scale, border=2 ) + style.addDrawingStyle( group='Blockages', name='blockage4' , color=toRGB('Green' ), pattern=toHexa('light_antihash2.8'), threshold=0.80*scale, border=2 ) + style.addDrawingStyle( group='Blockages', name='blockage5' , color=toRGB('Yellow' ), pattern='1144114411441144' , threshold=0.80*scale, border=2 ) + style.addDrawingStyle( group='Blockages', name='blockage6' , color=toRGB('Violet' ), pattern=toHexa('light_antihash0.8'), threshold=0.80*scale, border=2 ) + style.addDrawingStyle( group='Blockages', name='blockage7' , color=toRGB('Violet' ), pattern=toHexa('light_antihash0.8'), threshold=0.80*scale, border=2 ) + style.addDrawingStyle( group='Blockages', name='blockage8' , color=toRGB('Violet' ), pattern=toHexa('light_antihash0.8'), threshold=0.80*scale, border=2 ) + style.addDrawingStyle( group='Blockages', name='blockage9' , color=toRGB('Violet' ), pattern=toHexa('light_antihash0.8'), threshold=0.80*scale, border=2 ) + style.addDrawingStyle( group='Blockages', name='blockage10', color=toRGB('Violet' ), pattern=toHexa('light_antihash0.8'), threshold=0.80*scale, border=2 ) + + # Group: Knik & Kite. + style.addDrawingStyle( group='Knik & Kite', name='SPL1' , color=toRGB('Red' ) ) + style.addDrawingStyle( group='Knik & Kite', name='AutoLayer' , color=toRGB('Magenta' ) ) + style.addDrawingStyle( group='Knik & Kite', name='gmetalh' , color=toRGB('128,255,200'), pattern=toHexa('light_antihash0.8'), border=1 ) + style.addDrawingStyle( group='Knik & Kite', name='gmetalv' , color=toRGB('200,200,255'), pattern=toHexa('light_antihash1.8'), border=1 ) + style.addDrawingStyle( group='Knik & Kite', name='gcut' , color=toRGB('255,255,190'), border=1 ) + style.addDrawingStyle( group='Knik & Kite', name='Anabatic::Edge' , color=toRGB('255,255,190'), pattern='0000000000000000', threshold=0.02*scale, border=4 ) + style.addDrawingStyle( group='Knik & Kite', name='Anabatic::GCell', color=toRGB('255,0,0' ), pattern='0000000000000000', threshold=0.02*scale, border=4 ) + + Viewer.Graphics.addStyle( style ) + + + # ---------------------------------------------------------------------- + # Style: Alliance.Coriolis [white]. + + style = Viewer.DisplayStyle( 'Alliance.Coriolis [white]' ) + style.inheritFrom( 'Alliance.Coriolis [black]' ) + style.setDescription( 'Alliance Coriolis Look - white background' ) + style.setDarkening ( Viewer.DisplayStyle.HSVr(1.0, 3.0, 2.5) ) + + style.addDrawingStyle( group='Viewer', name='fallback' , color=toRGB('Gray238' ), border=1, pattern='55AA55AA55AA55AA' ) + style.addDrawingStyle( group='Viewer', name='background' , color=toRGB('Gray50' ), border=1 ) + style.addDrawingStyle( group='Viewer', name='foreground' , color=toRGB('White' ), border=1 ) + style.addDrawingStyle( group='Viewer', name='rubber' , color=toRGB('192,0,192' ), border=4, threshold=0.02*scale ) + style.addDrawingStyle( group='Viewer', name='phantom' , color=toRGB('Seashell4' ), border=1 ) + style.addDrawingStyle( group='Viewer', name='boundaries' , color=toRGB('208,199,192'), border=1, pattern='0000000000000000', threshold=0 ) + style.addDrawingStyle( group='Viewer', name='marker' , color=toRGB('80,250,80' ), border=1 ) + style.addDrawingStyle( group='Viewer', name='selectionDraw' , color=toRGB('White' ), border=1 ) + style.addDrawingStyle( group='Viewer', name='selectionFill' , color=toRGB('White' ), border=1 ) + style.addDrawingStyle( group='Viewer', name='grid' , color=toRGB('White' ), border=1, threshold=2.0*scale ) + style.addDrawingStyle( group='Viewer', name='spot' , color=toRGB('White' ), border=2, threshold=6.0*scale ) + style.addDrawingStyle( group='Viewer', name='ghost' , color=toRGB('White' ), border=1 ) + style.addDrawingStyle( group='Viewer', name='text.ruler' , color=toRGB('White' ), border=1, threshold=0.0 *scale ) + style.addDrawingStyle( group='Viewer', name='text.instance' , color=toRGB('White' ), border=1, threshold=400.0 *scale ) + style.addDrawingStyle( group='Viewer', name='text.reference', color=toRGB('White' ), border=1, threshold=200.0*scale ) + style.addDrawingStyle( group='Viewer', name='undef' , color=toRGB('Violet' ), border=0, pattern='2244118822441188' ) + + # Active Layers. + style.addDrawingStyle( group='Active Layer', name='nWell' , color=toRGB('Tan' ), pattern=toHexa('urgo.8' ), border=1, threshold=0*scale ) + style.addDrawingStyle( group='Active Layer', name='pWell' , color=toRGB('LightYellow'), pattern=toHexa('urgo.8' ), border=1, threshold=0*scale ) + style.addDrawingStyle( group='Active Layer', name='nImplant', color=toRGB('LawnGreen' ), pattern=toHexa('antihash0.8'), border=1, threshold=0*scale ) + style.addDrawingStyle( group='Active Layer', name='pImplant', color=toRGB('Yellow' ), pattern=toHexa('antihash0.8'), border=1, threshold=0*scale ) + style.addDrawingStyle( group='Active Layer', name='active' , color=toRGB('White' ), pattern=toHexa('antihash1.8'), border=1, threshold=0*scale ) + style.addDrawingStyle( group='Active Layer', name='poly' , color=toRGB('Red' ), pattern=toHexa('poids2.8' ), border=1, threshold=0*scale ) + style.addDrawingStyle( group='Active Layer', name='poly2' , color=toRGB('Orange' ), pattern=toHexa('poids2.8' ), border=1, threshold=0*scale ) + + # Routing Layers. + style.addDrawingStyle( group='Routing Layer', name='metal1' , color=toRGB('Blue' ), pattern=toHexa('slash.8' ), border=1, threshold=0.0*scale ) + style.addDrawingStyle( group='Routing Layer', name='metal2' , color=toRGB('Aqua' ), pattern=toHexa('poids4.8'), border=1, threshold=0.0*scale ) + style.addDrawingStyle( group='Routing Layer', name='metcap' , color=toRGB('DarkTurquoise'), pattern=toHexa('poids2.8'), border=2, threshold=0.0*scale ) + style.addDrawingStyle( group='Routing Layer', name='metal3' , color=toRGB('LightPink' ), pattern=toHexa('poids4.8'), border=1, threshold=0.0*scale ) + style.addDrawingStyle( group='Routing Layer', name='metal4' , color=toRGB('Green' ), pattern=toHexa('poids4.8'), border=1, threshold=0.0*scale ) + style.addDrawingStyle( group='Routing Layer', name='metal5' , color=toRGB('Yellow' ), pattern=toHexa('poids4.8'), border=1, threshold=0.0*scale ) + style.addDrawingStyle( group='Routing Layer', name='metal6' , color=toRGB('Violet' ), pattern=toHexa('poids4.8'), border=1, threshold=0.0*scale ) + style.addDrawingStyle( group='Routing Layer', name='metal7' , color=toRGB('Red' ), pattern=toHexa('poids4.8'), border=1, threshold=0.0*scale ) + style.addDrawingStyle( group='Routing Layer', name='metal8' , color=toRGB('Blue' ), pattern=toHexa('poids4.8'), border=1, threshold=0.0*scale ) + style.addDrawingStyle( group='Routing Layer', name='metal9' , color=toRGB('Blue' ), pattern=toHexa('poids4.8'), border=1, threshold=0.0*scale ) + style.addDrawingStyle( group='Routing Layer', name='metal10', color=toRGB('Blue' ), pattern=toHexa('poids4.8'), border=1, threshold=0.0*scale ) + + + # Cuts (VIA holes). + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut0', color=toRGB('0,150,150'), threshold=0*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut1', color=toRGB('Aqua' ), threshold=0.0*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut2', color=toRGB('LightPink'), threshold=0.0*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut3', color=toRGB('Green' ), threshold=0.0*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut4', color=toRGB('Yellow' ), threshold=0.0*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut5', color=toRGB('Violet' ), threshold=0.0*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut6', color=toRGB('Red' ), threshold=0.0*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut7', color=toRGB('Blue' ), threshold=0.0*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut8', color=toRGB('Blue' ), threshold=0.0*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut9', color=toRGB('Blue' ), threshold=0.0*scale ) + + # MIM6. + style.addDrawingStyle( group='MIM6', name='metbot_r', color=toRGB('Aqua' ), pattern=toHexa('light_antihash0.8'), threshold=0.80*scale ) + style.addDrawingStyle( group='MIM6', name='metal7' , color=toRGB('Green'), pattern=toHexa('light_antihash2.8'), threshold=0.80*scale ) + + # Blockages. + style.addDrawingStyle( group='Blockages', name='blockage1' , color=toRGB('Blue' ), pattern=toHexa('light_antislash0.8'), threshold=0.80*scale, border=4 ) + style.addDrawingStyle( group='Blockages', name='blockage2' , color=toRGB('Aqua' ), pattern=toHexa('poids4.8' ), threshold=0.80*scale, border=4 ) + style.addDrawingStyle( group='Blockages', name='blockage3' , color=toRGB('LightPink'), pattern=toHexa('poids4.8' ), threshold=0.80*scale, border=4 ) + style.addDrawingStyle( group='Blockages', name='blockage4' , color=toRGB('Green' ), pattern=toHexa('poids4.8' ), threshold=0.80*scale, border=4 ) + style.addDrawingStyle( group='Blockages', name='blockage5' , color=toRGB('Yellow' ), pattern=toHexa('poids4.8' ), threshold=0.80*scale, border=4 ) + style.addDrawingStyle( group='Blockages', name='blockage6' , color=toRGB('Violet' ), pattern=toHexa('poids4.8' ), threshold=0.80*scale, border=4 ) + style.addDrawingStyle( group='Blockages', name='blockage7' , color=toRGB('Red' ), pattern=toHexa('poids4.8' ), threshold=0.80*scale, border=4 ) + style.addDrawingStyle( group='Blockages', name='blockage8' , color=toRGB('Blue' ), pattern=toHexa('poids4.8' ), threshold=0.80*scale, border=4 ) + style.addDrawingStyle( group='Blockages', name='blockage9' , color=toRGB('Blue' ), pattern=toHexa('poids4.8' ), threshold=0.80*scale, border=4 ) + style.addDrawingStyle( group='Blockages', name='blockage10', color=toRGB('Blue' ), pattern=toHexa('poids4.8' ), threshold=0.80*scale, border=4 ) + + # Knick & Kite. + style.addDrawingStyle( group='Knik & Kite', name='SPL1' , color=toRGB('Red' ) ) + style.addDrawingStyle( group='Knik & Kite', name='AutoLayer' , color=toRGB('Magenta' ) ) + style.addDrawingStyle( group='Knik & Kite', name='gmetalh' , color=toRGB('128,255,200'), pattern=toHexa('antislash2.32' ), border=1 ) + style.addDrawingStyle( group='Knik & Kite', name='gmetalv' , color=toRGB('200,200,255'), pattern=toHexa('light_antihash1.8'), border=1 ) + style.addDrawingStyle( group='Knik & Kite', name='gcut' , color=toRGB('255,255,190'), border=1 ) + style.addDrawingStyle( group='Knik & Kite', name='Anabatic::Edge' , color=toRGB('255,255,190'), pattern='0000000000000000', border=4, threshold=0.02*scale ) + style.addDrawingStyle( group='Knik & Kite', name='Anabatic::GCell', color=toRGB('255,255,190'), pattern='0000000000000000', border=2, threshold=0.10*scale ) + + Viewer.Graphics.addStyle( style ) + + + # ---------------------------------------------------------------------- + # Style: Alliance.Classic [black] + + style = Viewer.DisplayStyle( 'Alliance.Classic [black]' ) + style.setDescription( 'Alliance Classic Look - black background' ) + style.setDarkening ( Viewer.DisplayStyle.HSVr(1.0, 3.0, 2.5) ) + + # Viewer. + style.addDrawingStyle( group='Viewer', name='fallback' , color=toRGB('Gray238' ), border=1, pattern='55AA55AA55AA55AA' ) + style.addDrawingStyle( group='Viewer', name='background' , color=toRGB('Gray50' ), border=1 ) + style.addDrawingStyle( group='Viewer', name='foreground' , color=toRGB('White' ), border=1 ) + style.addDrawingStyle( group='Viewer', name='rubber' , color=toRGB('192,0,192' ), border=4, threshold=0.02*scale ) + style.addDrawingStyle( group='Viewer', name='phantom' , color=toRGB('Seashell4' ), border=1 ) + style.addDrawingStyle( group='Viewer', name='boundaries' , color=toRGB('208,199,192'), border=1, pattern='0000000000000000', threshold=0 ) + style.addDrawingStyle( group='Viewer', name='marker' , color=toRGB('80,250,80' ), border=1 ) + style.addDrawingStyle( group='Viewer', name='selectionDraw' , color=toRGB('White' ), border=1 ) + style.addDrawingStyle( group='Viewer', name='selectionFill' , color=toRGB('White' ), border=1 ) + style.addDrawingStyle( group='Viewer', name='grid' , color=toRGB('White' ), border=1, threshold=2.0*scale ) + style.addDrawingStyle( group='Viewer', name='spot' , color=toRGB('White' ), border=2, threshold=6.0*scale ) + style.addDrawingStyle( group='Viewer', name='ghost' , color=toRGB('White' ), border=1 ) + style.addDrawingStyle( group='Viewer', name='text.ruler' , color=toRGB('White' ), border=1, threshold= 0.0*scale ) + style.addDrawingStyle( group='Viewer', name='text.instance' , color=toRGB('White' ), border=1, threshold=400.0*scale ) + style.addDrawingStyle( group='Viewer', name='text.reference', color=toRGB('White' ), border=1, threshold=200.0*scale ) + style.addDrawingStyle( group='Viewer', name='undef' , color=toRGB('Violet' ), border=0, pattern='2244118822441188' ) + + # Active Layers. + style.addDrawingStyle( group='Active Layers', name='nWell' , color=toRGB('Tan' ), pattern=toHexa('urgo.8' ), border=1, threshold=0.00*scale ) + style.addDrawingStyle( group='Active Layers', name='pWell' , color=toRGB('LightYellow'), pattern=toHexa('urgo.8' ), border=1, threshold=0.00*scale ) + style.addDrawingStyle( group='Active Layers', name='nImplant', color=toRGB('LawnGreen' ), pattern=toHexa('antihash0.8'), border=1, threshold=0.00*scale ) + style.addDrawingStyle( group='Active Layers', name='pImplant', color=toRGB('Yellow' ), pattern=toHexa('antihash0.8'), border=1, threshold=0.00*scale ) + style.addDrawingStyle( group='Active Layers', name='active' , color=toRGB('White' ), pattern=toHexa('antihash1.8'), border=1, threshold=0.00*scale ) + style.addDrawingStyle( group='Active Layers', name='poly' , color=toRGB('Red' ), pattern=toHexa('poids2.8' ), border=1, threshold=0.00*scale ) + style.addDrawingStyle( group='Active Layers', name='poly2' , color=toRGB('Orange' ), pattern=toHexa('poids2.8' ), border=1, threshold=0.00*scale ) + + # Routing Layers. + style.addDrawingStyle( group='Routing Layers', name='metal1' , color=toRGB('Blue' ), pattern=toHexa('slash.8' ), border=1, threshold=0.00*scale ) + style.addDrawingStyle( group='Routing Layers', name='metal2' , color=toRGB('Aqua' ), pattern=toHexa('poids4.8' ), border=1, threshold=0.00*scale ) + style.addDrawingStyle( group='Routing Layers', name='metcap' , color=toRGB('DarkTurquoise'), pattern=toHexa('poids2.8' ), border=2, threshold=0.00*scale ) + style.addDrawingStyle( group='Routing Layers', name='metal3' , color=toRGB('LightPink' ), pattern=toHexa('poids4.8' ), border=1, threshold=0.00*scale ) + style.addDrawingStyle( group='Routing Layers', name='metal4' , color=toRGB('Green' ), pattern=toHexa('poids4.8' ), border=1, threshold=0.00*scale ) + style.addDrawingStyle( group='Routing Layers', name='metal5' , color=toRGB('Yellow' ), pattern=toHexa('poids4.8' ), border=1, threshold=0.00*scale ) + style.addDrawingStyle( group='Routing Layers', name='metal6' , color=toRGB('Violet' ), pattern=toHexa('poids4.8' ), border=1, threshold=0.00*scale ) + style.addDrawingStyle( group='Routing Layers', name='metal7' , color=toRGB('Red' ), pattern=toHexa('poids4.8' ), border=1, threshold=0.00*scale ) + style.addDrawingStyle( group='Routing Layers', name='metal8' , color=toRGB('Blue' ), pattern=toHexa('poids4.8' ), border=1, threshold=0.00*scale ) + style.addDrawingStyle( group='Routing Layers', name='metal9' , color=toRGB('Blue' ), pattern=toHexa('poids4.8' ), border=1, threshold=0.00*scale ) + style.addDrawingStyle( group='Routing Layers', name='metal10', color=toRGB('Blue' ), pattern=toHexa('poids4.8' ), border=1, threshold=0.00*scale ) + + # Cuts (VIA holes). + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut0', color=toRGB('0,150,150'), threshold=0.0*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut1', color=toRGB('Aqua' ), threshold=0.0*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut2', color=toRGB('LightPink'), threshold=0.0*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut3', color=toRGB('Green' ), threshold=0.0*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut4', color=toRGB('Yellow' ), threshold=0.0*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut5', color=toRGB('Violet' ), threshold=0.0*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut6', color=toRGB('Red' ), threshold=0.0*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut7', color=toRGB('Blue' ), threshold=0.0*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut8', color=toRGB('Blue' ), threshold=0.0*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut9', color=toRGB('Blue' ), threshold=0.0*scale ) + + # MIM6. + style.addDrawingStyle( group='MIMI6', name='metbot_r', color=toRGB('Aqua' ), pattern=toHexa('light_antihash0.8'), threshold=0.80*scale ) + style.addDrawingStyle( group='MIMI6', name='metal7' , color=toRGB('Green'), pattern=toHexa('light_antihash2.8'), threshold=0.80*scale ) + + # Blockages. + style.addDrawingStyle( group='Blockages', name='blockage1' , color=toRGB('Blue' ), pattern=toHexa('light_antislash0.8'), threshold=0.80*scale, border=4 ) + style.addDrawingStyle( group='Blockages', name='blockage2' , color=toRGB('Aqua' ), pattern=toHexa('poids4.8' ), threshold=0.80*scale, border=4 ) + style.addDrawingStyle( group='Blockages', name='blockage3' , color=toRGB('LightPink'), pattern=toHexa('poids4.8' ), threshold=0.80*scale, border=4 ) + style.addDrawingStyle( group='Blockages', name='blockage4' , color=toRGB('Green' ), pattern=toHexa('poids4.8' ), threshold=0.80*scale, border=4 ) + style.addDrawingStyle( group='Blockages', name='blockage5' , color=toRGB('Yellow' ), pattern=toHexa('poids4.8' ), threshold=0.80*scale, border=4 ) + style.addDrawingStyle( group='Blockages', name='blockage6' , color=toRGB('Violet' ), pattern=toHexa('poids4.8' ), threshold=0.80*scale, border=4 ) + style.addDrawingStyle( group='Blockages', name='blockage7' , color=toRGB('Red' ), pattern=toHexa('poids4.8' ), threshold=0.80*scale, border=4 ) + style.addDrawingStyle( group='Blockages', name='blockage8' , color=toRGB('Blue' ), pattern=toHexa('poids4.8' ), threshold=0.80*scale, border=4 ) + style.addDrawingStyle( group='Blockages', name='blockage9' , color=toRGB('Blue' ), pattern=toHexa('poids4.8' ), threshold=0.80*scale, border=4 ) + style.addDrawingStyle( group='Blockages', name='blockage10', color=toRGB('Blue' ), pattern=toHexa('poids4.8' ), threshold=0.80*scale, border=4 ) + + # Knick & Kite. + style.addDrawingStyle( group='Knik & Kite', name='SPL1' , color=toRGB('Red' ) ) + style.addDrawingStyle( group='Knik & Kite', name='AutoLayer' , color=toRGB('Magenta' ) ) + style.addDrawingStyle( group='Knik & Kite', name='gmetalh' , color=toRGB('128,255,200'), pattern=toHexa('antislash2.32' ), border=1 ) + style.addDrawingStyle( group='Knik & Kite', name='gmetalv' , color=toRGB('200,200,255'), pattern=toHexa('light_antihash1.8'), border=1 ) + style.addDrawingStyle( group='Knik & Kite', name='gcut' , color=toRGB('255,255,190'), border=1 ) + style.addDrawingStyle( group='Knik & Kite', name='Anabatic::Edge' , color=toRGB('255,255,190'), pattern='0000000000000000' , border=4, threshold=0.02*scale ) + style.addDrawingStyle( group='Knik & Kite', name='Anabatic::GCell', color=toRGB('255,255,190'), pattern='0000000000000000' , border=2, threshold=0.10*scale ) + + Viewer.Graphics.addStyle( style ) + + + # ---------------------------------------------------------------------- + # Style: Alliance.Classic [white]. + + style = Viewer.DisplayStyle( 'Alliance.Classic [white]' ) + style.inheritFrom( 'Alliance.Classic [black]' ) + style.setDescription( 'Alliance Classic Look - white background' ) + style.setDarkening ( Viewer.DisplayStyle.HSVr(1.0, 3.0, 2.5) ) + + # Group: Viewer. + style.addDrawingStyle( group='Viewer', name='fallback' , color=toRGB('Black'), border=1, pattern='55AA55AA55AA55AA' ) + style.addDrawingStyle( group='Viewer', name='background' , color=toRGB('White'), border=1 ) + style.addDrawingStyle( group='Viewer', name='foreground' , color=toRGB('Black'), border=1 ) + style.addDrawingStyle( group='Viewer', name='selectionDraw' , color=toRGB('Black'), border=1 ) + style.addDrawingStyle( group='Viewer', name='selectionFill' , color=toRGB('Black'), border=1 ) + style.addDrawingStyle( group='Viewer', name='grid' , color=toRGB('Black'), border=1, threshold=6.0*scale ) + style.addDrawingStyle( group='Viewer', name='spot' , color=toRGB('Black'), border=1, threshold=6.0*scale ) + style.addDrawingStyle( group='Viewer', name='ghost' , color=toRGB('Black'), border=1 ) + style.addDrawingStyle( group='Viewer', name='text.ruler' , color=toRGB('Black'), border=1, threshold=0.0 *scale ) + style.addDrawingStyle( group='Viewer', name='text.instance' , color=toRGB('Black'), border=1, threshold=4.0 *scale ) + style.addDrawingStyle( group='Viewer', name='text.reference', color=toRGB('Black'), border=1, threshold=20.0*scale ) + style.addDrawingStyle( group='Viewer', name='undef' , color=toRGB('Black'), border=0, pattern='2244118822441188' ) + + Viewer.Graphics.addStyle( style ) + + + # ---------------------------------------------------------------------- + # Style: Layout Design [black] + + style = Viewer.DisplayStyle( 'Layout Design [black]' ) + style.inheritFrom( 'Alliance.Classic [black]' ) + style.setDescription( 'Alliance Classic Look - white background' ) + style.setDarkening ( Viewer.DisplayStyle.HSVr(1.0, 3.0, 2.5) ) + + # Active Layers. + style.addDrawingStyle( group='Active Layers', name='nWell' , color=toRGB('Tan' ), pattern='0000000000000000', threshold=1.50*scale, border=2 ) + style.addDrawingStyle( group='Active Layers', name='pWell' , color=toRGB('LightYellow'), pattern='0000000000000000', threshold=1.50*scale, border=2 ) + style.addDrawingStyle( group='Active Layers', name='nImplant', color=toRGB('LawnGreen' ), pattern='0000000000000000', threshold=1.50*scale, border=2 ) + style.addDrawingStyle( group='Active Layers', name='pImplant', color=toRGB('Yellow' ), pattern='0000000000000000', threshold=1.50*scale, border=2 ) + style.addDrawingStyle( group='Active Layers', name='active' , color=toRGB('White' ), pattern='0000000000000000', threshold=1.50*scale, border=2 ) + style.addDrawingStyle( group='Active Layers', name='poly' , color=toRGB('Red' ), pattern='0000000000000000', threshold=1.50*scale, border=2 ) + + # Routing Layers. + style.addDrawingStyle( group='Routing Layers', name='metal1' , color=toRGB('Blue' ), pattern='0000000000000000', threshold=0.80*scale, border=2 ) + style.addDrawingStyle( group='Routing Layers', name='metal2' , color=toRGB('Aqua' ), pattern='0000000000000000', threshold=0.40*scale, border=2 ) + style.addDrawingStyle( group='Routing Layers', name='metal3' , color=toRGB('LightPink'), pattern='0000000000000000', threshold=0.02*scale, border=2 ) + style.addDrawingStyle( group='Routing Layers', name='metal4' , color=toRGB('Green' ), pattern='0000000000000000', threshold=0.02*scale, border=2 ) + style.addDrawingStyle( group='Routing Layers', name='metal5' , color=toRGB('Yellow' ), pattern='0000000000000000', threshold=0.02*scale, border=2 ) + style.addDrawingStyle( group='Routing Layers', name='metal6' , color=toRGB('Violet' ), pattern='0000000000000000', threshold=0.02*scale, border=2 ) + style.addDrawingStyle( group='Routing Layers', name='metal7' , color=toRGB('Violet' ), pattern='0000000000000000', threshold=0.02*scale, border=2 ) + style.addDrawingStyle( group='Routing Layers', name='metal8' , color=toRGB('Violet' ), pattern='0000000000000000', threshold=0.02*scale, border=2 ) + style.addDrawingStyle( group='Routing Layers', name='metal9' , color=toRGB('Violet' ), pattern='0000000000000000', threshold=0.02*scale, border=2 ) + style.addDrawingStyle( group='Routing Layers', name='metal10', color=toRGB('Violet' ), pattern='0000000000000000', threshold=0.02*scale, border=2 ) + + # Cuts (VIA holes). + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut0', color=toRGB('0,150,150'), pattern=toHexa('poids4.8'), threshold=1.50*scale, border=1 ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut1', color=toRGB('Aqua' ), pattern='0000000000000000', threshold=0.80*scale, border=1 ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut2', color=toRGB('LightPink'), pattern='0000000000000000', threshold=0.80*scale, border=1 ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut3', color=toRGB('Green' ), pattern='0000000000000000', threshold=0.80*scale, border=1 ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut4', color=toRGB('Yellow' ), pattern='0000000000000000', threshold=0.80*scale, border=1 ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut5', color=toRGB('Violet' ), pattern='0000000000000000', threshold=0.80*scale, border=1 ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut6', color=toRGB('Violet' ), pattern='0000000000000000', threshold=0.80*scale, border=1 ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut7', color=toRGB('Violet' ), pattern='0000000000000000', threshold=0.80*scale, border=1 ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut8', color=toRGB('Violet' ), pattern='0000000000000000', threshold=0.80*scale, border=1 ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut9', color=toRGB('Violet' ), pattern='0000000000000000', threshold=0.80*scale, border=1 ) + + Viewer.Graphics.addStyle( style ) + + + # ---------------------------------------------------------------------- + # Style: Layout Design [white] + + style = Viewer.DisplayStyle( 'Layout Design [white]' ) + style.inheritFrom( 'Layout Design [black]' ) + style.setDescription( 'Layout Design Look - white background' ) + style.setDarkening ( Viewer.DisplayStyle.HSVr(1.0, 3.0, 2.5) ) + + + # Group: Viewer. + style.addDrawingStyle( group='Viewer', name='background' , color=toRGB('White'), border=1 ) + style.addDrawingStyle( group='Viewer', name='grid' , color=toRGB('Black'), border=1, threshold=2.0 *scale ) + style.addDrawingStyle( group='Viewer', name='spot' , color=toRGB('Black'), border=1, threshold=2.0 *scale ) + style.addDrawingStyle( group='Viewer', name='text.ruler' , color=toRGB('Black'), border=1, threshold=0.0 *scale ) + style.addDrawingStyle( group='Viewer', name='text.reference', color=toRGB('Black'), border=1, threshold=20.0*scale ) + + # Group: Active Layers. + style.addDrawingStyle( group='Active Layers', name='active', color=toRGB('175,175,175'), pattern='0000000000000000', threshold=1.50*scale, border=2 ) + + Viewer.Graphics.addStyle( style ) + + + # ---------------------------------------------------------------------- + # Style: For Printers [white] + + style = Viewer.DisplayStyle( 'For Printers' ) + style.setDescription( 'For Printers' ) + style.setDarkening ( Viewer.DisplayStyle.HSVr(1.0, 3.0, 2.5) ) + + # Group: Viewer. + style.addDrawingStyle( group='Viewer', name='fallback' , color=toRGB('Gray238' ), border=1, pattern='55AA55AA55AA55AA' ) + style.addDrawingStyle( group='Viewer', name='background' , color=toRGB('White' ), border=1 ) + style.addDrawingStyle( group='Viewer', name='foreground' , color=toRGB('Black' ), border=1 ) + style.addDrawingStyle( group='Viewer', name='rubber' , color=toRGB('192,0,192'), border=4, threshold=0.02*scale ) + style.addDrawingStyle( group='Viewer', name='phantom' , color=toRGB('Seashell4'), border=1 ) + style.addDrawingStyle( group='Viewer', name='boundaries' , color=toRGB('Black' ), border=1, pattern='0000000000000000', threshold=0 ) + style.addDrawingStyle( group='Viewer', name='marker' , color=toRGB('80,250,80'), border=1 ) + style.addDrawingStyle( group='Viewer', name='selectionDraw' , color=toRGB('Black' ), border=1 ) + style.addDrawingStyle( group='Viewer', name='selectionFill' , color=toRGB('Black' ), border=1 ) + style.addDrawingStyle( group='Viewer', name='grid' , color=toRGB('Black' ), border=1, threshold=2.0*scale ) + style.addDrawingStyle( group='Viewer', name='spot' , color=toRGB('Black' ), border=2, threshold=6.0*scale ) + style.addDrawingStyle( group='Viewer', name='ghost' , color=toRGB('Black' ), border=1 ) + style.addDrawingStyle( group='Viewer', name='text.ruler' , color=toRGB('Black' ), border=1, threshold=0.0 *scale ) + style.addDrawingStyle( group='Viewer', name='text.instance' , color=toRGB('Black' ), border=1, threshold=4.0 *scale ) + style.addDrawingStyle( group='Viewer', name='text.reference' , color=toRGB('Black' ), border=1, threshold=20.0*scale ) + style.addDrawingStyle( group='Viewer', name='undef' , color=toRGB('Violet' ), border=0, pattern='2244118822441188' ) + style.addDrawingStyle( group='Viewer', name='mauka.container', color=toRGB('Magenta4' ), border=4, pattern='0000000000000000', goMatched=False ) + + # Group: Active Layers. + style.addDrawingStyle( group='Active Layers', name='nWell' , color=toRGB('Tan' ), pattern=toHexa('antipoids2.32'), border=1, threshold=0.02*scale ) + style.addDrawingStyle( group='Active Layers', name='pWell' , color=toRGB('LightYellow'), pattern=toHexa('antipoids2.32'), border=1, threshold=0.02*scale ) + style.addDrawingStyle( group='Active Layers', name='nImplant', color=toRGB('LawnGreen' ), pattern=toHexa('diffusion.32' ), border=0, threshold=0.02*scale ) + style.addDrawingStyle( group='Active Layers', name='pImplant', color=toRGB('Yellow' ), pattern=toHexa('diffusion.32' ), border=0, threshold=0.02*scale ) + style.addDrawingStyle( group='Active Layers', name='active' , color=toRGB('White' ), pattern=toHexa('active.32' ), border=0, threshold=0.02*scale ) + style.addDrawingStyle( group='Active Layers', name='poly' , color=toRGB('Red' ), pattern=toHexa('antipoids2.32'), border=1, threshold=0.02*scale ) + style.addDrawingStyle( group='Active Layers', name='poly2' , color=toRGB('Orange' ), pattern=toHexa('antipoids2.32'), border=1, threshold=0.02*scale ) + + # Group: Routing Layers. + style.addDrawingStyle( group='Routing Layers', name='metal1' , color=toRGB('Blue' ), pattern=toHexa('slash.32' ), border=1, threshold=0.02*scale ) + style.addDrawingStyle( group='Routing Layers', name='metal2' , color=toRGB('Aqua' ), pattern=toHexa('antislash2.32'), border=1, threshold=0.02*scale ) + style.addDrawingStyle( group='Routing Layers', name='metcap' , color=toRGB('DarkTurquoise'), pattern=toHexa('poids2.32' ), border=2, threshold=0.02*scale ) + style.addDrawingStyle( group='Routing Layers', name='metal3' , color=toRGB('LightPink' ), pattern=toHexa('antislash3.32'), border=1, threshold=0.02*scale ) + style.addDrawingStyle( group='Routing Layers', name='metal4' , color=toRGB('Green' ), pattern=toHexa('antislash4.32'), border=1, threshold=0.02*scale ) + style.addDrawingStyle( group='Routing Layers', name='metal5' , color=toRGB('Yellow' ), pattern=toHexa('antislash5.32'), border=1, threshold=0.02*scale ) + style.addDrawingStyle( group='Routing Layers', name='metal6' , color=toRGB('Violet' ), pattern=toHexa('antislash2.32'), border=1, threshold=0.02*scale ) + style.addDrawingStyle( group='Routing Layers', name='metal7' , color=toRGB('Violet' ), pattern=toHexa('antislash2.32'), border=1, threshold=0.02*scale ) + style.addDrawingStyle( group='Routing Layers', name='metal8' , color=toRGB('Violet' ), pattern=toHexa('antislash2.32'), border=1, threshold=0.02*scale ) + style.addDrawingStyle( group='Routing Layers', name='metal9' , color=toRGB('Violet' ), pattern=toHexa('antislash2.32'), border=1, threshold=0.02*scale ) + style.addDrawingStyle( group='Routing Layers', name='metal10', color=toRGB('Violet' ), pattern=toHexa('antislash2.32'), border=1, threshold=0.02*scale ) + + # Group: Cuts (VIA holes) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut0', color=toRGB('Blue' ), pattern=toHexa('poids2.8' ), border=2, threshold=0.02*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut1', color=toRGB('Aqua' ), pattern=toHexa('antipoids2.8'), border=2, threshold=0.02*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut2', color=toRGB('LightPink'), pattern=toHexa('poids2.8' ), border=2, threshold=0.02*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut3', color=toRGB('Green' ), pattern=toHexa('antipoids2.8'), border=2, threshold=0.02*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut4', color=toRGB('Yellow' ), pattern=toHexa('poids2.8' ), border=2, threshold=0.02*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut5', color=toRGB('Violet' ), pattern=toHexa('antipoids2.8'), border=2, threshold=0.02*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut6', color=toRGB('Violet' ), pattern=toHexa('antipoids2.8'), border=2, threshold=0.02*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut7', color=toRGB('Violet' ), pattern=toHexa('antipoids2.8'), border=2, threshold=0.02*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut8', color=toRGB('Violet' ), pattern=toHexa('antipoids2.8'), border=2, threshold=0.02*scale ) + style.addDrawingStyle( group='Cuts (VIA holes)', name='cut9', color=toRGB('Violet' ), pattern=toHexa('antipoids2.8'), border=2, threshold=0.02*scale ) + + # Group: MIM6. + style.addDrawingStyle( group='MIM6', name='metbot_r', color=toRGB('Aqua' ), pattern=toHexa('light_antihash0.8'), threshold=0.80*scale ) + style.addDrawingStyle( group='MIM6', name='cut6' , color=toRGB('LightPink'), pattern=toHexa('light_antihash1.8'), threshold=0.80*scale ) + style.addDrawingStyle( group='MIM6', name='metal7' , color=toRGB('Green' ), pattern=toHexa('light_antihash2.8'), threshold=0.80*scale ) + + # Group: Blockages. + style.addDrawingStyle( group='Blockages', name='blockage1' , color=toRGB('Blue' ), pattern='006070381c0e0703' , threshold=0.80*scale, border=2 ) + style.addDrawingStyle( group='Blockages', name='blockage2' , color=toRGB('Aqua' ), pattern='8103060c183060c0' , threshold=0.80*scale, border=2 ) + style.addDrawingStyle( group='Blockages', name='blockage3' , color=toRGB('LightPink'), pattern=toHexa('poids4.8' ), threshold=0.80*scale, border=2 ) + style.addDrawingStyle( group='Blockages', name='blockage4' , color=toRGB('Green' ), pattern=toHexa('light_antihash2.8'), threshold=0.80*scale, border=2 ) + style.addDrawingStyle( group='Blockages', name='blockage5' , color=toRGB('Yellow' ), pattern='1144114411441144' , threshold=0.80*scale, border=2 ) + style.addDrawingStyle( group='Blockages', name='blockage6' , color=toRGB('Violet' ), pattern=toHexa('light_antihash0.8'), threshold=0.80*scale, border=2 ) + style.addDrawingStyle( group='Blockages', name='blockage7' , color=toRGB('Violet' ), pattern=toHexa('light_antihash0.8'), threshold=0.80*scale, border=2 ) + style.addDrawingStyle( group='Blockages', name='blockage8' , color=toRGB('Violet' ), pattern=toHexa('light_antihash0.8'), threshold=0.80*scale, border=2 ) + style.addDrawingStyle( group='Blockages', name='blockage9' , color=toRGB('Violet' ), pattern=toHexa('light_antihash0.8'), threshold=0.80*scale, border=2 ) + style.addDrawingStyle( group='Blockages', name='blockage10', color=toRGB('Violet' ), pattern=toHexa('light_antihash0.8'), threshold=0.80*scale, border=2 ) + + # Group: Knik & Kite. + style.addDrawingStyle( group='Knik & Kite', name='SPL1' , color=toRGB('Red' ) ) + style.addDrawingStyle( group='Knik & Kite', name='AutoLayer' , color=toRGB('Magenta' ) ) + style.addDrawingStyle( group='Knik & Kite', name='gmetalh' , color=toRGB('128,255,200'), pattern=toHexa('light_antihash0.8') , border=1 ) + style.addDrawingStyle( group='Knik & Kite', name='gmetalv' , color=toRGB('200,200,255'), pattern=toHexa('light_antihash1.8') , border=1 ) + style.addDrawingStyle( group='Knik & Kite', name='gcut' , color=toRGB('255,255,190'), border=1 ) + style.addDrawingStyle( group='Knik & Kite', name='Anabatic::Edge' , color=toRGB('255,255,190'), pattern='0000000000000000', border=2 ) + style.addDrawingStyle( group='Knik & Kite', name='Anabatic::GCell', color=toRGB('Black' ), pattern='0000000000000000', border=2, threshold=0.80*scale ) + + Viewer.Graphics.addStyle( style ) + + + Viewer.Graphics.setStyle( 'Alliance.Classic [black]' ) diff --git a/crlcore/etc/common/etesian.py b/crlcore/etc/common/etesian.py new file mode 100644 index 00000000..9781fb21 --- /dev/null +++ b/crlcore/etc/common/etesian.py @@ -0,0 +1,56 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@asim.lip6.fr | +# | =============================================================== | +# | Python : "./etc/common/etesian.py" | +# +-----------------------------------------------------------------+ + + +import Cfg + + +param = Cfg.getParamPercentage( 'etesian.aspectRatio' ) +param.setPercentage( 100 ) +param.setMin ( 10 ) +param.setMax ( 1000 ) + +Cfg.getParamPercentage( 'etesian.spaceMargin' ).setPercentage( 5 ) +Cfg.getParamBool ( 'etesian.uniformDensity' ).setBool ( False ) +Cfg.getParamBool ( 'etesian.routingDriven' ).setBool ( False ) +Cfg.getParamString ( 'etesian.feedNames' ).setString ( 'tie_x0,rowend_x0' ) +Cfg.getParamString ( 'etesian.cell.zero' ).setString ( 'zero_x0' ) +Cfg.getParamString ( 'etesian.cell.one' ).setString ( 'one_x0' ) +Cfg.getParamString ( 'etesian.bloat' ).setString ( 'disabled' ) + +param = Cfg.getParamEnumerate( 'etesian.effort' ) +param.setInt( 2 ) +param.addValue( 'Fast' , 1 ) +param.addValue( 'Standard', 2 ) +param.addValue( 'High' , 3 ) +param.addValue( 'Extreme' , 4 ) + +param = Cfg.getParamEnumerate( 'etesian.graphics' ) +param.setInt( 2 ) +param.addValue( 'Show every step' , 1 ) +param.addValue( 'Show lower bound', 2 ) +param.addValue( 'Show result only', 3 ) + +layout = Cfg.Configuration.get().getLayout() +layout.addTab ( 'Etesian', 'etesian' ) +layout.addTitle ( 'Etesian', 'Placement area' ) +layout.addParameter( 'Etesian', 'etesian.aspectRatio' , 'Aspect Ratio, X/Y (%)', 0 ) +layout.addParameter( 'Etesian', 'etesian.spaceMargin' , 'Space Margin' , 1 ) +layout.addRule ( 'Etesian' ) +layout.addTitle ( 'Etesian', 'Etesian - Placer') +layout.addParameter( 'Etesian', 'etesian.uniformDensity', 'Uniform density' , 0 ) +layout.addParameter( 'Etesian', 'etesian.routingDriven' , 'Routing driven' , 0 ) +layout.addParameter( 'Etesian', 'etesian.effort' , 'Placement effort' , 1 ) +layout.addParameter( 'Etesian', 'etesian.graphics' , 'Placement view' , 1 ) +layout.addRule ( 'Etesian' ) diff --git a/crlcore/etc/common/kite.py b/crlcore/etc/common/kite.py new file mode 100644 index 00000000..c330b09a --- /dev/null +++ b/crlcore/etc/common/kite.py @@ -0,0 +1,40 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@asim.lip6.fr | +# | =============================================================== | +# | Python : "./etc/common/kite.py" | +# +-----------------------------------------------------------------+ + + +import Cfg + + +layout = Cfg.Configuration.get().getLayout() + +# Kite Layout. +layout.addTab ( 'Kite', 'kite' ) +layout.addTitle ( 'Kite', 'Katabatic - Routing Database' ) +layout.addParameter( 'Kite', 'katabatic.saturateRatio' , 'Saturate Ratio (%)' , 0, 1 ) +layout.addParameter( 'Kite', 'katabatic.saturateRp' , 'Saturate RoutingPad' , 0, 1 ) +layout.addParameter( 'Kite', 'katabatic.globalLengthThreshold', 'Global Length Threshold', 0, 1 ) +layout.addParameter( 'Kite', 'katabatic.topRoutingLayer' , 'Top Routing Layer' , 0, 1 ) +layout.addParameter( 'Kite', 'anabatic.gcell.displayMode' , 'GCell Display Mode' , 1, 1 ) +layout.addRule ( 'Kite' ) +layout.addTitle ( 'Kite', 'Kite - Detailed Router' ) +layout.addParameter( 'Kite', 'kite.hTracksReservedLocal', 'Vert. Locally Reserved Tracks', 0 ) +layout.addParameter( 'Kite', 'kite.vTracksReservedLocal', 'Hor. Locally Reserved Tracks' , 0 ) +layout.addParameter( 'Kite', 'kite.eventsLimit' , 'Events Limit' , 0 ) +layout.addParameter( 'Kite', 'kite.ripupCost' , 'Ripup Cost' , 1, 1, Cfg.ParameterWidgetFlags.UseSpinBox ) +layout.addSection ( 'Kite', 'Ripup Limits', 1 ) +layout.addParameter( 'Kite', 'kite.strapRipupLimit' , 'Straps' , 1, 1, Cfg.ParameterWidgetFlags.UseSpinBox ) +layout.addParameter( 'Kite', 'kite.localRipupLimit' , 'Locals' , 1, 1, Cfg.ParameterWidgetFlags.UseSpinBox ) +layout.addParameter( 'Kite', 'kite.globalRipupLimit' , 'Globals' , 1, 1, Cfg.ParameterWidgetFlags.UseSpinBox ) +layout.addParameter( 'Kite', 'kite.longGlobalRipupLimit', 'Long Globals', 1, 1, Cfg.ParameterWidgetFlags.UseSpinBox ) +layout.addRule ( 'Kite' ) diff --git a/crlcore/etc/common/misc.py b/crlcore/etc/common/misc.py new file mode 100644 index 00000000..d225a8e6 --- /dev/null +++ b/crlcore/etc/common/misc.py @@ -0,0 +1,100 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@asim.lip6.fr | +# | =============================================================== | +# | Python : "./etc/common/misc.py" | +# +-----------------------------------------------------------------+ + + +import Cfg + + +Cfg.getParamBool( 'misc.catchCore' ).setBool( False ) +Cfg.getParamBool( 'misc.info' ).setBool( False ) +Cfg.getParamBool( 'misc.bug' ).setBool( False ) +Cfg.getParamBool( 'misc.logMode' ).setBool( False ) +Cfg.getParamBool( 'misc.verboseLevel1').setBool( True ) +Cfg.getParamBool( 'misc.verboseLevel2').setBool( True ) + +param = Cfg.getParamInt( 'misc.minTraceLevel' ) +param.setInt( 100000 ) +param.setMin( 0 ) + +param = Cfg.getParamInt( 'misc.maxTraceLevel' ) +param.setInt( 0 ) +param.setMin( 0 ) + +param = Cfg.getParamInt( 'viewer.printer.DPI' ) +param.setInt( 150 ) +param.setMin( 100 ) + +param = Cfg.getParamEnumerate( 'viewer.printer.mode' ) +param.addValue( 'Cell mode' , 1 ) +param.addValue( 'Design mode', 2 ) +param.setInt ( 1 ) + +# Those enumerated values *must* match QPrinter::Orientation. +param = Cfg.getParamEnumerate( 'viewer.printer.orientation' ) +param.addValue( 'Portrait' , 0 ) +param.addValue( 'Landscape', 1 ) +param.setInt ( 0 ) + +# Those enumerated values *must* match QPrinter::PaperSize. +param = Cfg.getParamEnumerate( 'viewer.printer.paper' ) +param.addValue( "A4" , 0 ) +param.addValue( "B5" , 1 ) +param.addValue( "Letter" , 2 ) +param.addValue( "Legal" , 3 ) +param.addValue( "Executive", 4 ) +param.addValue( "A0" , 5 ) +param.addValue( "A1" , 6 ) +param.addValue( "A2" , 7 ) +param.addValue( "A3" , 8 ) +param.addValue( "A5" , 9 ) +param.addValue( "A6" , 10 ) +param.addValue( "A7" , 11 ) +param.addValue( "A8" , 12 ) +param.addValue( "A9" , 13 ) +param.addValue( "B0" , 14 ) +param.addValue( "B1" , 15 ) +param.addValue( "B10" , 16 ) +param.addValue( "B2" , 17 ) +param.addValue( "B3" , 18 ) +param.addValue( "B4" , 19 ) +param.addValue( "B6" , 20 ) +param.addValue( "B7" , 21 ) +param.addValue( "B8" , 22 ) +param.addValue( "B9" , 23 ) +param.addValue( "C5E" , 24 ) +param.addValue( "Comm10E" , 25 ) +param.addValue( "DLE" , 26 ) +param.addValue( "Folio" , 27 ) +param.addValue( "Ledger" , 28 ) +param.addValue( "Tabloid" , 29 ) +param.addValue( "Custom" , 30 ) +param.setInt ( 0 ) + +layout = Cfg.Configuration.get().getLayout() +layout.addTab ( 'misc', 'Misc.' ) +layout.addTitle ( 'misc', 'Miscellaneous' ) +layout.addParameter( 'misc', 'misc.catchCore' , 'Catch Core Dumps' , 1 ) +layout.addParameter( 'misc', 'misc.verboseLevel1' , 'Verbose' , 0 ) +layout.addParameter( 'misc', 'misc.verboseLevel2' , 'Very Verbose' , 0 ) +layout.addParameter( 'misc', 'misc.info' , 'Show Info' , 0 ) +layout.addParameter( 'misc', 'misc.logMode' , 'Output is a TTY' , 0 ) +layout.addParameter( 'misc', 'misc.minTraceLevel' , 'Min. Trace Level' , 1 ) +layout.addParameter( 'misc', 'misc.maxTraceLevel' , 'Max. Trace Level' , 1 ) +layout.addTitle ( 'misc', 'Print/Snapshot Parameters' ) +layout.addParameter( 'misc', 'viewer.printer.mode' , 'Printer/Snapshot Mode', 1 ) +layout.addParameter( 'misc', 'viewer.printer.paper' , 'Paper Size' , 0 ) +layout.addParameter( 'misc', 'viewer.printer.orientation', 'Orientation' , 0 ) +layout.addParameter( 'misc', 'viewer.printer.DPI' , 'DPI' , 0 ) + + diff --git a/crlcore/etc/common/patterns.py b/crlcore/etc/common/patterns.py new file mode 100644 index 00000000..e82a3f25 --- /dev/null +++ b/crlcore/etc/common/patterns.py @@ -0,0 +1,784 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/common/patterns.py" | +# +-----------------------------------------------------------------+ + + +import sys +import math +import helpers +from helpers.io import ErrorMessage +from helpers.io import WarningMessage + + +class Pattern ( object ): + + hexaToPatternLUT = { '0':' ' + , '1':' X' + , '2':' X ' + , '3':' XX' + , '4':' X ' + , '5':' X X' + , '6':' XX ' + , '7':' XXX' + , '8':'X ' + , '9':'X X' + , 'a':'X X ' + , 'b':'X XX' + , 'c':'XX ' + , 'd':'XX X' + , 'e':'XXX ' + , 'f':'XXXX'} + + def __init__ ( self, name='noname', bits=[], hexa='' ): + self._name = name + self._bits = [] + self._hexa = '' + self._side = 0 + + if bits: self._setFromBits(bits) + if hexa: self._setFromHexa(hexa) + return + + def empty ( self ): + if not self._bits and not self._hexa: return True + return False + + def _setName ( self, name ): self._name = name + def _getName ( self ): return self._name + + def _toHexa ( self ): + hexasLSB = [] + for line in self._bits: + byte = 0 + for i in range(len(line)): + if i != 0 and i%4 == 0: + hexasLSB += [ hex(byte)[2:] ] + byte = 0 + byte = byte << 1 + if line[i] != ' ': byte += 1 + hexasLSB += [ hex(byte)[2:] ] + + # Convert in MSB mode. Invert the bytes by pairs. + self._hexa = '' + for i in range(len(hexasLSB)/2): + self._hexa += hexasLSB[i*2+1] + hexasLSB[i*2] + return self._hexa + + def _fromHexa ( self ): + self._bits = [] + + side = math.sqrt(4*len(self._hexa)) + if pow(side,2) != 4*len(self._hexa): + print '[ERROR] The pattern is not square (%d self._bits).' % (4*len(self._hexa)) + return None + + side /= 4 + + # Convert from MSB mode. Invert the bytes by pairs. + hexasLSB = '' + for i in range(len(self._hexa)/2): + hexasLSB += self._hexa[i*2+1] + self._hexa[i*2] + + line = '' + for i in range(len(hexasLSB)): + if i != 0 and i%side == 0: + self._bits += [ line ] + line = '' + line += Pattern.hexaToPatternLUT[hexasLSB[i].lower()] + self._bits += [ line ] + #self._bits.reverse() + return self._bits + + def _setFromHexa ( self, hexa ): + self._hexa = hexa + self._side = math.sqrt(4*len(self._hexa)) + + if pow(self._side,2) != 4*len(self._hexa): + raise ErrorMessage( 1, 'The pattern is not square (%d bits).' + % (4*len(self._hexa)) ) + return + + self._fromHexa() + return + + def _setFromBits ( self, bits ): + self._bits = bits + self._side = len(bits) + + for line in bits: + if self._side != len(line): + raise ErrorMessage( 1, 'The pattern is not square (%dx%d bits).' + % (len(line),len(self._bits)) ) + + self._toHexa() + return + + def _getHexa ( self ): return self._hexa + def _getBits ( self ): return self._bits + + def printBits ( self ): + s = '' + side = len(self._bits[0]) + + s += '+%s+\n' % ('-'*side) + for line in self._bits: + s += '|%s|\n' % line + s += '+%s+' % ('-'*side) + return s + + def printHexa ( self ): + return self._hexa + + def __str__ ( self ): + return self._hexa + + hexa = property(_getName,_setName) + hexa = property(_getHexa,_setFromHexa) + bits = property(_getBits,_setFromBits) + + +LUT = {} + + +def add ( **keywords ): + global LUT + + try: + if not keywords.has_key('name'): + raise ErrorMessage(1,['patterns.add(): Malformed pattern, missing "name" argument.', str(keywords) ]) + + if keywords.has_key('bits') and keywords.has_key('hexa'): + w = WarningMessage( 'patterns.add(): Pattern "%s" has both bits & hexa, ignoring hexa.' % keywords['name'] ) + print w + del keywords['hexa'] + + LUT[ keywords['name'] ] = Pattern( **keywords ) + + except Exception, e: + helpers.io.catch( e ) + + return + + +def toHexa ( key ): + global LUT + + if isinstance(key,int) or isinstance(key,long) or not LUT.has_key(key): return key + return LUT[key].hexa + + +add( name='crux.8' + , bits=[ ' ' + , ' X ' + , ' X ' + , ' XXXXX ' + , ' X ' + , ' X ' + , ' ' + , ' ' ] ) + +add( name='slash.8' + , bits=[ ' X X' + , ' X X ' + , ' X X ' + , 'X X ' + , ' X X' + , ' X X ' + , ' X X ' + , 'X X ' ] ) + +add( name='hash.8' + , bits=[ 'XXX XXX ' + , 'XX XXX X' + , 'X XXX XX' + , ' XXX XXX' + , 'XXX XXX ' + , 'XX XXX X' + , 'X XXX XX' + , ' XXX XXX' ] ) + +add( name='urgo.8' + , bits=[ 'XXX XXXX' # feffffffefffffff + , 'XXXXXXXX' + , 'XXXXXXXX' + , 'XXXXXXXX' + , 'XXXXXXX ' + , 'XXXXXXXX' + , 'XXXXXXXX' + , 'XXXXXXXX' ] ) + +add( name='antihash0.8' + , bits=[ ' XXX XXX' # 77bbddee77bbddee + , 'X XXX XX' + , 'XX XXX X' + , 'XXX XXX ' + , ' XXX XXX' + , 'X XXX XX' + , 'XX XXX X' + , 'XXX XXX ' ] ) + +add( name='antihash1.8' + , bits=[ 'X XXX XX' # bbddee77bbddee77 + , 'XX XXX X' + , 'XXX XXX ' + , ' XXX XXX' + , 'X XXX XX' + , 'XX XXX X' + , 'XXX XXX ' + , ' XXX XXX' ] ) + +add( name='poids2.8' + , bits=[ 'X X X X ' # aa55aa55aa55aa55 + , ' X X X X' + , 'X X X X ' + , ' X X X X' + , 'X X X X ' + , ' X X X X' + , 'X X X X ' + , ' X X X X' ] ) + +add( name='poids4.8' + , bits=[ 'X X ' # 8800220088002200 + , ' ' + , ' X X ' + , ' ' + , 'X X ' + , ' ' + , ' X X ' + , ' ' ] ) + +add( name='antipoids2.8' + , bits=[ ' # # # #' # 55aa55aa55aa55aa + , '# # # # ' + , ' # # # #' + , '# # # # ' + , ' # # # #' + , '# # # # ' + , ' # # # #' + , '# # # # ' ] ) + +add( name='light_antihash0.8' + , bits=[ 'X X ' # 8822882288228822 + , ' X X ' + , 'X X ' + , ' X X ' + , 'X X ' + , ' X X ' + , 'X X ' + , ' X X ' ] ) + +add( name='light_antihash1.8' + , bits=[ ' X X ' # 4411441144114411 + , ' X X' + , ' X X ' + , ' X X' + , ' X X ' + , ' X X' + , ' X X ' + , ' X X' ] ) + +add( name='light_antihash2.8' + , bits=[ ' X X ' # 2288228822882288 + , 'X X ' + , ' X X ' + , 'X X ' + , ' X X ' + , 'X X ' + , ' X X ' + , 'X X ' ] ) + +add( name='light_antislash0.8' + , bits=[ 'X X ' # 8844221188442211 + , ' X X ' + , ' X X ' + , ' X X' + , 'X X ' + , ' X X ' + , ' X X ' + , ' X X' ] ) + +add( name='urgo.32' + , bits=[ 'XXXXXXXXXXXXX XXXXXXXXXXXXXXXXX' + , 'XXXXXXXXXXX XXXXXXXXXXXXXXX' + , 'XXXXXXXXXXX XXXXXXXXXXXXXXX' + , 'XXXXXXXXXXXXX XXXXXXXXXXXXXXXXX' + , 'XXXXXXXXXXXXX XXXXXXXXXXXXXXXXX' + , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' + , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' + , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' + , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' + , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' + , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' + , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' + , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' + , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' + , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' + , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX X' + , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX X' + , ' XXXXXXXXXXXXXXXXXXXXXXXXXX ' + , ' XXXXXXXXXXXXXXXXXXXXXXXXXX ' + , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX X' + , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXX X' + , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' + , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' + , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' + , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' + , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' + , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' + , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' + , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' + , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' + , 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' + , 'XXXXXXXXXXXXX XXXXXXXXXXXXXXXXX' ] ) + +add( name='slash.32' + , bits=[ ' X X' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , 'X X ' + , ' X X' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , 'X X ' ] ) + +add( name='antihash0.32' + , bits=[ ' XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX' + , 'X XXXXXXXXXXXXXXX XXXXXXXXXXXXXX' + , 'XX XXXXXXXXXXXXXXX XXXXXXXXXXXXX' + , 'XXX XXXXXXXXXXXXXXX XXXXXXXXXXXX' + , 'XXXX XXXXXXXXXXXXXXX XXXXXXXXXXX' + , 'XXXXX XXXXXXXXXXXXXXX XXXXXXXXXX' + , 'XXXXXX XXXXXXXXXXXXXXX XXXXXXXXX' + , 'XXXXXXX XXXXXXXXXXXXXXX XXXXXXXX' + , 'XXXXXXXX XXXXXXXXXXXXXXX XXXXXXX' + , 'XXXXXXXXX XXXXXXXXXXXXXXX XXXXXX' + , 'XXXXXXXXXX XXXXXXXXXXXXXXX XXXXX' + , 'XXXXXXXXXXX XXXXXXXXXXXXXXX XXXX' + , 'XXXXXXXXXXXX XXXXXXXXXXXXXXX XXX' + , 'XXXXXXXXXXXXX XXXXXXXXXXXXXXX XX' + , 'XXXXXXXXXXXXXX XXXXXXXXXXXXXXX X' + , 'XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX ' + , ' XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX' + , 'X XXXXXXXXXXXXXXX XXXXXXXXXXXXXX' + , 'XX XXXXXXXXXXXXXXX XXXXXXXXXXXXX' + , 'XXX XXXXXXXXXXXXXXX XXXXXXXXXXXX' + , 'XXXX XXXXXXXXXXXXXXX XXXXXXXXXXX' + , 'XXXXX XXXXXXXXXXXXXXX XXXXXXXXXX' + , 'XXXXXX XXXXXXXXXXXXXXX XXXXXXXXX' + , 'XXXXXXX XXXXXXXXXXXXXXX XXXXXXXX' + , 'XXXXXXXX XXXXXXXXXXXXXXX XXXXXXX' + , 'XXXXXXXXX XXXXXXXXXXXXXXX XXXXXX' + , 'XXXXXXXXXX XXXXXXXXXXXXXXX XXXXX' + , 'XXXXXXXXXXX XXXXXXXXXXXXXXX XXXX' + , 'XXXXXXXXXXXX XXXXXXXXXXXXXXX XXX' + , 'XXXXXXXXXXXXX XXXXXXXXXXXXXXX XX' + , 'XXXXXXXXXXXXXX XXXXXXXXXXXXXXX X' + , 'XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX ' ] ) + +add( name='antihash1.32' + , bits=[ 'XXXX XXXXXXXXXXXXXXX XXXXXXXXXXX' + , 'XXXXX XXXXXXXXXXXXXXX XXXXXXXXXX' + , 'XXXXXX XXXXXXXXXXXXXXX XXXXXXXXX' + , 'XXXXXXX XXXXXXXXXXXXXXX XXXXXXXX' + , 'XXXXXXXX XXXXXXXXXXXXXXX XXXXXXX' + , 'XXXXXXXXX XXXXXXXXXXXXXXX XXXXXX' + , 'XXXXXXXXXX XXXXXXXXXXXXXXX XXXXX' + , 'XXXXXXXXXXX XXXXXXXXXXXXXXX XXXX' + , 'XXXXXXXXXXXX XXXXXXXXXXXXXXX XXX' + , 'XXXXXXXXXXXXX XXXXXXXXXXXXXXX XX' + , 'XXXXXXXXXXXXXX XXXXXXXXXXXXXXX X' + , 'XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX ' + , ' XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX' + , 'X XXXXXXXXXXXXXXX XXXXXXXXXXXXXX' + , 'XX XXXXXXXXXXXXXXX XXXXXXXXXXXXX' + , 'XXX XXXXXXXXXXXXXXX XXXXXXXXXXXX' + , 'XXXX XXXXXXXXXXXXXXX XXXXXXXXXXX' + , 'XXXXX XXXXXXXXXXXXXXX XXXXXXXXXX' + , 'XXXXXX XXXXXXXXXXXXXXX XXXXXXXXX' + , 'XXXXXXX XXXXXXXXXXXXXXX XXXXXXXX' + , 'XXXXXXXX XXXXXXXXXXXXXXX XXXXXXX' + , 'XXXXXXXXX XXXXXXXXXXXXXXX XXXXXX' + , 'XXXXXXXXXX XXXXXXXXXXXXXXX XXXXX' + , 'XXXXXXXXXXX XXXXXXXXXXXXXXX XXXX' + , 'XXXXXXXXXXXX XXXXXXXXXXXXXXX XXX' + , 'XXXXXXXXXXXXX XXXXXXXXXXXXXXX XX' + , 'XXXXXXXXXXXXXX XXXXXXXXXXXXXXX X' + , 'XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX ' + , ' XXXXXXXXXXXXXXX XXXXXXXXXXXXXXX' + , 'X XXXXXXXXXXXXXXX XXXXXXXXXXXXXX' + , 'XX XXXXXXXXXXXXXXX XXXXXXXXXXXXX' + , 'XXX XXXXXXXXXXXXXXX XXXXXXXXXXXX' ] ) + +add( name='poids2.32' + , bits=[ ' ' + , ' XX XX XX XX ' + , ' XX XX XX XX ' + , ' ' + , ' ' + , ' XX XX XX XX ' + , ' XX XX XX XX ' + , ' ' + , ' ' + , ' XX XX XX XX ' + , ' XX XX XX XX ' + , ' ' + , ' ' + , ' XX XX XX XX ' + , ' XX XX XX XX ' + , ' ' + , ' ' + , ' XX XX XX XX ' + , ' XX XX XX XX ' + , ' ' + , ' ' + , ' XX XX XX XX ' + , ' XX XX XX XX ' + , ' ' + , ' ' + , ' XX XX XX XX ' + , ' XX XX XX XX ' + , ' ' + , ' ' + , ' XX XX XX XX ' + , ' XX XX XX XX ' + , ' ' ] ) + +add( name='poids4.32' + , bits=[ ' ' + , ' XX XX ' + , ' XX XX ' + , ' ' + , ' ' + , ' XX XX ' + , ' XX XX ' + , ' ' + , ' ' + , ' XX XX ' + , ' XX XX ' + , ' ' + , ' ' + , ' XX XX ' + , ' XX XX ' + , ' ' + , ' ' + , ' XX XX ' + , ' XX XX ' + , ' ' + , ' ' + , ' XX XX ' + , ' XX XX ' + , ' ' + , ' ' + , ' XX XX ' + , ' XX XX ' + , ' ' + , ' ' + , ' XX XX ' + , ' XX XX ' + , ' ' ] ) + +add( name='antipoids2.32' + , bits=[ ' ' + , ' XX XX XX XX ' + , ' XX XX XX XX ' + , ' ' + , ' ' + , ' XX XX XX XX ' + , ' XX XX XX XX ' + , ' ' + , ' ' + , ' XX XX XX XX ' + , ' XX XX XX XX ' + , ' ' + , ' ' + , ' XX XX XX XX ' + , ' XX XX XX XX ' + , ' ' + , ' ' + , ' XX XX XX XX ' + , ' XX XX XX XX ' + , ' ' + , ' ' + , ' XX XX XX XX ' + , ' XX XX XX XX ' + , ' ' + , ' ' + , ' XX XX XX XX ' + , ' XX XX XX XX ' + , ' ' + , ' ' + , ' XX XX XX XX ' + , ' XX XX XX XX ' + , ' ' ] ) + +add( name='antislash.32' + , bits=[ 'X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X' + , 'X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X' ] ) + +add( name='antislash2.32' + , bits=[ 'X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , 'X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , 'X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , 'X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' ] ) + +add( name='antislash3.32' + , bits=[ ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , 'X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , 'X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , 'X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , 'X X ' + , ' X X ' ] ) + +add( name='antislash4.32' + , bits=[ ' X X ' + , ' X X ' + , ' X X ' + , 'X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , 'X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , 'X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , 'X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' ] ) + +add( name='antislash5.32' + , bits=[ ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , 'X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , 'X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , 'X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , ' X X ' + , 'X X ' ] ) + +add( name='diffusion.32' + , bits=[ 'XXXXXXXXXX XXXXXXXXXX ' + , ' XXXXXXXXXX XXXXXXXXXX ' + , ' XXXXXXXXXX XXXXXXXXXX ' + , ' XXXXXXXXXX XXXXXXXXXX ' + , ' XXXXXXXXXX XXXXXXXXXX ' + , ' XXXXXXXXXX XXXXXXXXXX ' + , ' XXXXXXXXXX XXXXXXXXXX' + , 'X XXXXXXXXXX XXXXXXXXX' + , 'XX XXXXXXXXXX XXXXXXXX' + , 'XXX XXXXXXXXXX XXXXXXX' + , 'XXXX XXXXXXXXXX XXXXXX' + , 'XXXXX XXXXXXXXXX XXXXX' + , 'XXXXXX XXXXXXXXXX XXXX' + , 'XXXXXXX XXXXXXXXXX XXX' + , 'XXXXXXXX XXXXXXXXXX XX' + , 'XXXXXXXXX XXXXXXXXXX X' + , 'XXXXXXXXXX XXXXXXXXXX ' + , ' XXXXXXXXXX XXXXXXXXXX ' + , ' XXXXXXXXXX XXXXXXXXXX ' + , ' XXXXXXXXXX XXXXXXXXXX ' + , ' XXXXXXXXXX XXXXXXXXXX ' + , ' XXXXXXXXXX XXXXXXXXXX ' + , ' XXXXXXXXXX XXXXXXXXXX' + , 'X XXXXXXXXXX XXXXXXXXX' + , 'XX XXXXXXXXXX XXXXXXXX' + , 'XXX XXXXXXXXXX XXXXXXX' + , 'XXXX XXXXXXXXXX XXXXXX' + , 'XXXXX XXXXXXXXXX XXXXX' + , 'XXXXXX XXXXXXXXXX XXXX' + , 'XXXXXXX XXXXXXXXXX XXX' + , 'XXXXXXXX XXXXXXXXXX XX' + , 'XXXXXXXXX XXXXXXXXXX X' ] ) + +add( name='active.32' + , bits=[ ' XXXXXXXXXXXXX XXXXXXXXXXXXX' + , 'X XXXXXXXXXXXXX XXXXXXXXXXXX' + , 'XX XXXXXXXXXXXXX XXXXXXXXXXX' + , 'XXX XXXXXXXXXXXXX XXXXXXXXXX' + , 'XXXX XXXXXXXXXXXXX XXXXXXXXX' + , 'XXXXX XXXXXXXXXXXXX XXXXXXXX' + , 'XXXXXX XXXXXXXXXXXXX XXXXXXX' + , 'XXXXXXX XXXXXXXXXXXXX XXXXXX' + , 'XXXXXXXX XXXXXXXXXXXXX XXXXX' + , 'XXXXXXXXX XXXXXXXXXXXXX XXXX' + , 'XXXXXXXXXX XXXXXXXXXXXXX XXX' + , 'XXXXXXXXXXX XXXXXXXXXXXXX XX' + , 'XXXXXXXXXXXX XXXXXXXXXXXXX X' + , 'XXXXXXXXXXXXX XXXXXXXXXXXXX ' + , ' XXXXXXXXXXXXX XXXXXXXXXXXXX ' + , ' XXXXXXXXXXXXX XXXXXXXXXXXXX ' + , ' XXXXXXXXXXXXX XXXXXXXXXXXXX' + , 'X XXXXXXXXXXXXX XXXXXXXXXXXX' + , 'XX XXXXXXXXXXXXX XXXXXXXXXXX' + , 'XXX XXXXXXXXXXXXX XXXXXXXXXX' + , 'XXXX XXXXXXXXXXXXX XXXXXXXXX' + , 'XXXXX XXXXXXXXXXXXX XXXXXXXX' + , 'XXXXXX XXXXXXXXXXXXX XXXXXXX' + , 'XXXXXXX XXXXXXXXXXXXX XXXXXX' + , 'XXXXXXXX XXXXXXXXXXXXX XXXXX' + , 'XXXXXXXXX XXXXXXXXXXXXX XXXX' + , 'XXXXXXXXXX XXXXXXXXXXXXX XXX' + , 'XXXXXXXXXXX XXXXXXXXXXXXX XX' + , 'XXXXXXXXXXXX XXXXXXXXXXXXX X' + , 'XXXXXXXXXXXXX XXXXXXXXXXXXX ' + , ' XXXXXXXXXXXXX XXXXXXXXXXXXX ' + , ' XXXXXXXXXXXXX XXXXXXXXXXXXX ' ] ) diff --git a/crlcore/etc/common/stratus1.py b/crlcore/etc/common/stratus1.py new file mode 100644 index 00000000..b010574e --- /dev/null +++ b/crlcore/etc/common/stratus1.py @@ -0,0 +1,23 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@asim.lip6.fr | +# | =============================================================== | +# | Python : "./etc/common/stratus1.py" | +# +-----------------------------------------------------------------+ + + +import Cfg + +layout = Cfg.Configuration.get().getLayout() +layout.addTab ( 'stratus1', 'Stratus1' ) +layout.addTitle ( 'stratus1', 'Stratus1 - Netlist & Layout Capture' ) +layout.addParameter( 'stratus1', 'stratus1.mappingName', 'Virtual Library Translation', 0, 2 ) +layout.addParameter( 'stratus1', 'stratus1.format' , 'Netlist Format (vst, vhd)' , 0, 2 ) +layout.addParameter( 'stratus1', 'stratus1.simulator' , 'Simulator' , 0, 2 ) diff --git a/crlcore/etc/common/technology.py b/crlcore/etc/common/technology.py new file mode 100644 index 00000000..bd3b1504 --- /dev/null +++ b/crlcore/etc/common/technology.py @@ -0,0 +1,357 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/common/technology.py" | +# +-----------------------------------------------------------------+ + + +from helpers import l, u, n +from Hurricane import DataBase +from Hurricane import Technology +from Hurricane import Layer +from Hurricane import BasicLayer +from Hurricane import DiffusionLayer +from Hurricane import TransistorLayer +from Hurricane import RegularLayer +from Hurricane import ContactLayer +from Hurricane import ViaLayer + + +tech = DataBase.getDB().getTechnology() + + +def createBL ( layerName, material ): + global tech + return BasicLayer.create( tech, layerName, BasicLayer.Material(material) ) + + +nWell = createBL( 'nWell' , BasicLayer.Material.nWell ) # Non-Routing Layers. +pWell = createBL( 'pWell' , BasicLayer.Material.pWell ) +nImplant = createBL( 'nImplant' , BasicLayer.Material.nImplant ) +pImplant = createBL( 'pImplant' , BasicLayer.Material.pImplant ) +active = createBL( 'active' , BasicLayer.Material.active ) +poly = createBL( 'poly' , BasicLayer.Material.poly ) +poly2 = createBL( 'poly2' , BasicLayer.Material.poly ) +cut0 = createBL( 'cut0' , BasicLayer.Material.cut ) # Routing Layers & VIA Cuts. +metal1 = createBL( 'metal1' , BasicLayer.Material.metal ) # WARNING: order *is* meaningful. +cut1 = createBL( 'cut1' , BasicLayer.Material.cut ) +metal2 = createBL( 'metal2' , BasicLayer.Material.metal ) +metcap = createBL( 'metcap' , BasicLayer.Material.other ) +cut2 = createBL( 'cut2' , BasicLayer.Material.cut ) +metal3 = createBL( 'metal3' , BasicLayer.Material.metal ) +cut3 = createBL( 'cut3' , BasicLayer.Material.cut ) +metal4 = createBL( 'metal4' , BasicLayer.Material.metal ) +cut4 = createBL( 'cut4' , BasicLayer.Material.cut ) +metal5 = createBL( 'metal5' , BasicLayer.Material.metal ) +cut5 = createBL( 'cut5' , BasicLayer.Material.cut ) +metal6 = createBL( 'metal6' , BasicLayer.Material.metal ) +cut6 = createBL( 'cut6' , BasicLayer.Material.cut ) +metal7 = createBL( 'metal7' , BasicLayer.Material.metal ) +cut7 = createBL( 'cut7' , BasicLayer.Material.cut ) +metal8 = createBL( 'metal8' , BasicLayer.Material.metal ) +cut8 = createBL( 'cut8' , BasicLayer.Material.cut ) +metal9 = createBL( 'metal9' , BasicLayer.Material.metal ) +cut9 = createBL( 'cut9' , BasicLayer.Material.cut ) +metal10 = createBL( 'metal10' , BasicLayer.Material.metal ) + +blockage1 = createBL( 'blockage1' , BasicLayer.Material.blockage ) +blockage2 = createBL( 'blockage2' , BasicLayer.Material.blockage ) +blockage3 = createBL( 'blockage3' , BasicLayer.Material.blockage ) +blockage4 = createBL( 'blockage4' , BasicLayer.Material.blockage ) +blockage5 = createBL( 'blockage5' , BasicLayer.Material.blockage ) +blockage6 = createBL( 'blockage6' , BasicLayer.Material.blockage ) +blockage7 = createBL( 'blockage7' , BasicLayer.Material.blockage ) +blockage8 = createBL( 'blockage8' , BasicLayer.Material.blockage ) +blockage9 = createBL( 'blockage9' , BasicLayer.Material.blockage ) +blockage10 = createBL( 'blockage10', BasicLayer.Material.blockage ) + +metal1 .setBlockageLayer( blockage1 ) +metal2 .setBlockageLayer( blockage2 ) +metal3 .setBlockageLayer( blockage3 ) +metal4 .setBlockageLayer( blockage4 ) +metal5 .setBlockageLayer( blockage5 ) +metal6 .setBlockageLayer( blockage6 ) +metal7 .setBlockageLayer( blockage7 ) +metal8 .setBlockageLayer( blockage8 ) +metal9 .setBlockageLayer( blockage9 ) +metal10.setBlockageLayer( blockage10 ) + +textCell = createBL( 'text.cell' , BasicLayer.Material.other ) # Misc. non-physical layers. +textInst = createBL( 'text.instance', BasicLayer.Material.other ) # Used by the software for visualization +SPL1 = createBL( 'SPL1' , BasicLayer.Material.other ) # purposes only. +AutoLayer = createBL( 'AutoLayer' , BasicLayer.Material.other ) +gmetalh = createBL( 'gmetalh' , BasicLayer.Material.metal ) # Special BasicLayers for Knik & Kite Routers. +gcut = createBL( 'gcut' , BasicLayer.Material.cut ) # *Must be after all others* +gmetalv = createBL( 'gmetalv' , BasicLayer.Material.metal ) + +# VIAs for real technologies. +ViaLayer.create( tech, 'via12' , metal1, cut1, metal2 ) +ViaLayer.create( tech, 'via23' , metal2, cut2, metal3 ) +ViaLayer.create( tech, 'via34' , metal3, cut3, metal4 ) +ViaLayer.create( tech, 'via45' , metal4, cut4, metal5 ) +ViaLayer.create( tech, 'via56' , metal5, cut5, metal6 ) +ViaLayer.create( tech, 'via67' , metal6, cut6, metal7 ) +ViaLayer.create( tech, 'via78' , metal7, cut7, metal8 ) +ViaLayer.create( tech, 'via89' , metal8, cut8, metal9 ) +ViaLayer.create( tech, 'via910', metal9, cut9, metal10 ) + +# Composite/Symbolic layers. +NWELL = RegularLayer .create( tech, 'NWELL' , nWell ) +PWELL = RegularLayer .create( tech, 'PWELL' , pWell ) +NTIE = DiffusionLayer .create( tech, 'NTIE' , nImplant , active, nWell) +PTIE = DiffusionLayer .create( tech, 'PTIE' , pImplant , active, pWell) +NDIF = DiffusionLayer .create( tech, 'NDIF' , nImplant , active, None ) +PDIF = DiffusionLayer .create( tech, 'PDIF' , pImplant , active, None ) +GATE = DiffusionLayer .create( tech, 'GATE' , poly , active, None ) +NTRANS = TransistorLayer.create( tech, 'NTRANS' , nImplant , active, poly, None ) +PTRANS = TransistorLayer.create( tech, 'PTRANS' , pImplant , active, poly, nWell ) +POLY = RegularLayer .create( tech, 'POLY' , poly ) +POLY2 = RegularLayer .create( tech, 'POLY2' , poly2 ) +METAL1 = RegularLayer .create( tech, 'METAL1' , metal1 ) +METAL2 = RegularLayer .create( tech, 'METAL2' , metal2 ) +metcapdum = RegularLayer .create( tech, 'metcapdum' , metcap ) +metbot = RegularLayer .create( tech, 'metbot' , metal2 ) +METAL3 = RegularLayer .create( tech, 'METAL3' , metal3 ) +METAL4 = RegularLayer .create( tech, 'METAL4' , metal4 ) +METAL5 = RegularLayer .create( tech, 'METAL5' , metal5 ) +METAL6 = RegularLayer .create( tech, 'METAL6' , metal6 ) +METAL7 = RegularLayer .create( tech, 'METAL7' , metal7 ) +METAL8 = RegularLayer .create( tech, 'METAL8' , metal8 ) +METAL9 = RegularLayer .create( tech, 'METAL9' , metal9 ) +METAL10 = RegularLayer .create( tech, 'METAL10' , metal10 ) +CONT_BODY_N = ContactLayer .create( tech, 'CONT_BODY_N', nImplant , active, cut0, metal1, nWell ) +CONT_BODY_P = ContactLayer .create( tech, 'CONT_BODY_P', pImplant , active, cut0, metal1, pWell ) +CONT_DIF_N = ContactLayer .create( tech, 'CONT_DIF_N' , nImplant , active, cut0, metal1, None ) +CONT_DIF_P = ContactLayer .create( tech, 'CONT_DIF_P' , pImplant , active, cut0, metal1, None ) +CONT_POLY = ViaLayer .create( tech, 'CONT_POLY' , poly, cut0, metal1 ) + +# VIAs for symbolic technologies. +VIA12 = ViaLayer .create( tech, 'VIA12' , metal1, cut1, metal2 ) +VIA23 = ViaLayer .create( tech, 'VIA23' , metal2, cut2, metal3 ) +VIA23cap = ViaLayer .create( tech, 'VIA23cap' , metcap, cut2, metal3 ) +VIA34 = ViaLayer .create( tech, 'VIA34' , metal3, cut3, metal4 ) +VIA45 = ViaLayer .create( tech, 'VIA45' , metal4, cut4, metal5 ) +VIA56 = ViaLayer .create( tech, 'VIA56' , metal5, cut5, metal6 ) +VIA67 = ViaLayer .create( tech, 'VIA67' , metal6, cut6, metal7 ) +VIA78 = ViaLayer .create( tech, 'VIA78' , metal7, cut7, metal8 ) +VIA89 = ViaLayer .create( tech, 'VIA89' , metal8, cut8, metal9 ) +VIA910 = ViaLayer .create( tech, 'VIA910' , metal9, cut9, metal10 ) +BLOCKAGE1 = RegularLayer.create( tech, 'BLOCKAGE1' , blockage1 ) +BLOCKAGE2 = RegularLayer.create( tech, 'BLOCKAGE2' , blockage2 ) +BLOCKAGE3 = RegularLayer.create( tech, 'BLOCKAGE3' , blockage3 ) +BLOCKAGE4 = RegularLayer.create( tech, 'BLOCKAGE4' , blockage4 ) +BLOCKAGE5 = RegularLayer.create( tech, 'BLOCKAGE5' , blockage5 ) +BLOCKAGE6 = RegularLayer.create( tech, 'BLOCKAGE6' , blockage6 ) +BLOCKAGE7 = RegularLayer.create( tech, 'BLOCKAGE7' , blockage7 ) +BLOCKAGE8 = RegularLayer.create( tech, 'BLOCKAGE8' , blockage8 ) +BLOCKAGE9 = RegularLayer.create( tech, 'BLOCKAGE9' , blockage9 ) +BLOCKAGE10 = RegularLayer.create( tech, 'BLOCKAGE10', blockage10 ) +gcontact = ViaLayer .create( tech, 'gcontact' , gmetalh , gcut, gmetalv ) + +tech.setSymbolicLayer( POLY .getName() ) +tech.setSymbolicLayer( POLY2 .getName() ) +tech.setSymbolicLayer( METAL1 .getName() ) +tech.setSymbolicLayer( METAL2 .getName() ) +tech.setSymbolicLayer( METAL3 .getName() ) +tech.setSymbolicLayer( METAL4 .getName() ) +tech.setSymbolicLayer( METAL5 .getName() ) +tech.setSymbolicLayer( METAL6 .getName() ) +tech.setSymbolicLayer( METAL7 .getName() ) +tech.setSymbolicLayer( METAL8 .getName() ) +tech.setSymbolicLayer( METAL9 .getName() ) +tech.setSymbolicLayer( METAL10 .getName() ) +tech.setSymbolicLayer( BLOCKAGE1 .getName() ) +tech.setSymbolicLayer( BLOCKAGE2 .getName() ) +tech.setSymbolicLayer( BLOCKAGE3 .getName() ) +tech.setSymbolicLayer( BLOCKAGE4 .getName() ) +tech.setSymbolicLayer( BLOCKAGE5 .getName() ) +tech.setSymbolicLayer( BLOCKAGE6 .getName() ) +tech.setSymbolicLayer( BLOCKAGE7 .getName() ) +tech.setSymbolicLayer( BLOCKAGE8 .getName() ) +tech.setSymbolicLayer( BLOCKAGE9 .getName() ) +tech.setSymbolicLayer( BLOCKAGE10.getName() ) +tech.setSymbolicLayer( VIA12 .getName() ) +tech.setSymbolicLayer( VIA23 .getName() ) +tech.setSymbolicLayer( VIA34 .getName() ) +tech.setSymbolicLayer( VIA45 .getName() ) +tech.setSymbolicLayer( VIA56 .getName() ) +tech.setSymbolicLayer( VIA67 .getName() ) +tech.setSymbolicLayer( VIA78 .getName() ) +tech.setSymbolicLayer( VIA89 .getName() ) +tech.setSymbolicLayer( VIA910 .getName() ) +tech.setSymbolicLayer( gcut .getName() ) +tech.setSymbolicLayer( gmetalh .getName() ) +tech.setSymbolicLayer( gmetalv .getName() ) +tech.setSymbolicLayer( gcontact .getName() ) + +NWELL.setExtentionCap( nWell, l(0.0) ) +PWELL.setExtentionCap( pWell, l(0.0) ) + +NTIE.setMinimalSize ( l(3.0) ) +NTIE.setExtentionCap ( nWell , l(1.5) ) +NTIE.setExtentionWidth( nWell , l(0.5) ) +NTIE.setExtentionCap ( nImplant, l(1.0) ) +NTIE.setExtentionWidth( nImplant, l(0.5) ) +NTIE.setExtentionCap ( active , l(0.5) ) +NTIE.setExtentionWidth( active , l(0.0) ) + +PTIE.setMinimalSize ( l(3.0) ) +PTIE.setExtentionCap ( nWell , l(1.5) ) +PTIE.setExtentionWidth( nWell , l(0.5) ) +PTIE.setExtentionCap ( nImplant, l(1.0) ) +PTIE.setExtentionWidth( nImplant, l(0.5) ) +PTIE.setExtentionCap ( active , l(0.5) ) +PTIE.setExtentionWidth( active , l(0.0) ) + +NDIF.setMinimalSize ( l(3.0) ) +NDIF.setExtentionCap ( nImplant, l(1.0) ) +NDIF.setExtentionWidth( nImplant, l(0.5) ) +NDIF.setExtentionCap ( active , l(0.5) ) +NDIF.setExtentionWidth( active , l(0.0) ) + +PDIF.setMinimalSize ( l(3.0) ) +PDIF.setExtentionCap ( pImplant, l(1.0) ) +PDIF.setExtentionWidth( pImplant, l(0.5) ) +PDIF.setExtentionCap ( active , l(0.5) ) +PDIF.setExtentionWidth( active , l(0.0) ) + +GATE.setMinimalSize ( l(1.0) ) +GATE.setExtentionCap ( poly , l(1.5) ) + +NTRANS.setMinimalSize ( l( 1.0) ) +NTRANS.setExtentionCap ( nImplant, l(-1.0) ) +NTRANS.setExtentionWidth( nImplant, l( 2.5) ) +NTRANS.setExtentionCap ( active , l(-1.5) ) +NTRANS.setExtentionWidth( active , l( 2.0) ) + +PTRANS.setMinimalSize ( l( 1.0) ) +PTRANS.setExtentionCap ( nWell , l(-1.0) ) +PTRANS.setExtentionWidth( nWell , l( 4.5) ) +PTRANS.setExtentionCap ( pImplant, l(-1.0) ) +PTRANS.setExtentionWidth( pImplant, l( 4.0) ) +PTRANS.setExtentionCap ( active , l(-1.5) ) +PTRANS.setExtentionWidth( active , l( 3.0) ) + +POLY .setMinimalSize ( l(1.0) ) +POLY .setExtentionCap ( poly , l(0.5) ) +POLY2.setMinimalSize ( l(1.0) ) +POLY2.setExtentionCap ( poly , l(0.5) ) + +METAL1 .setMinimalSize ( l(1.0) ) +METAL1 .setExtentionCap ( metal1 , l(0.5) ) +METAL2 .setMinimalSize ( l(1.0) ) +METAL2 .setExtentionCap ( metal2 , l(1.0) ) +METAL3 .setMinimalSize ( l(1.0) ) +METAL3 .setExtentionCap ( metal3 , l(1.0) ) +METAL4 .setMinimalSize ( l(1.0) ) +METAL4 .setExtentionCap ( metal4 , l(1.0) ) +METAL4 .setMinimalSpacing( l(3.0) ) +METAL5 .setMinimalSize ( l(2.0) ) +METAL5 .setExtentionCap ( metal5 , l(1.0) ) +METAL6 .setMinimalSize ( l(2.0) ) +METAL6 .setExtentionCap ( metal6 , l(1.0) ) +METAL7 .setMinimalSize ( l(2.0) ) +METAL7 .setExtentionCap ( metal7 , l(1.0) ) +METAL8 .setMinimalSize ( l(2.0) ) +METAL8 .setExtentionCap ( metal8 , l(1.0) ) +METAL9 .setMinimalSize ( l(2.0) ) +METAL9 .setExtentionCap ( metal9 , l(1.0) ) +METAL10.setMinimalSize ( l(2.0) ) +METAL10.setExtentionCap ( metal10 , l(1.0) ) + +# Contacts (i.e. Active <--> Metal) (symbolic). +CONT_BODY_N.setMinimalSize( l( 1.0) ) +CONT_BODY_N.setEnclosure ( nWell , l( 1.5), Layer.EnclosureH|Layer.EnclosureV ) +CONT_BODY_N.setEnclosure ( nImplant, l( 1.5), Layer.EnclosureH|Layer.EnclosureV ) +CONT_BODY_N.setEnclosure ( active , l( 1.0), Layer.EnclosureH|Layer.EnclosureV ) +CONT_BODY_N.setEnclosure ( metal1 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) + +CONT_BODY_P.setMinimalSize( l( 1.0) ) +CONT_BODY_P.setEnclosure ( pWell , l( 1.5), Layer.EnclosureH|Layer.EnclosureV ) +CONT_BODY_P.setEnclosure ( pImplant, l( 1.5), Layer.EnclosureH|Layer.EnclosureV ) +CONT_BODY_P.setEnclosure ( active , l( 1.0), Layer.EnclosureH|Layer.EnclosureV ) +CONT_BODY_P.setEnclosure ( metal1 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) + +CONT_DIF_N.setMinimalSize( l( 1.0) ) +CONT_DIF_N.setEnclosure ( nImplant, l( 1.0), Layer.EnclosureH|Layer.EnclosureV ) +CONT_DIF_N.setEnclosure ( active , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +CONT_DIF_N.setEnclosure ( metal1 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) + +CONT_DIF_P.setMinimalSize( l( 1.0) ) +CONT_DIF_P.setEnclosure ( pImplant, l( 1.0), Layer.EnclosureH|Layer.EnclosureV ) +CONT_DIF_P.setEnclosure ( active , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +CONT_DIF_P.setEnclosure ( metal1 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) + +CONT_POLY.setMinimalSize( l( 1.0) ) +CONT_POLY.setEnclosure ( poly , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +CONT_POLY.setEnclosure ( metal1 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) + +# VIAs (i.e. Metal <--> Metal) (symbolic). +VIA12 .setMinimalSize ( l( 1.0) ) +VIA12 .setEnclosure ( metal1 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +VIA12 .setEnclosure ( metal2 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +VIA12 .setMinimalSpacing( l( 4.0) ) +VIA23 .setMinimalSize ( l( 1.0) ) +VIA23 .setEnclosure ( metal2 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +VIA23 .setEnclosure ( metal3 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +VIA23 .setMinimalSpacing( l( 4.0) ) +VIA34 .setMinimalSize ( l( 1.0) ) +VIA34 .setEnclosure ( metal3 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +VIA34 .setEnclosure ( metal4 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +VIA34 .setMinimalSpacing( l( 4.0) ) +VIA45 .setMinimalSize ( l( 1.0) ) +VIA45 .setEnclosure ( metal4 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +VIA45 .setEnclosure ( metal5 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +VIA45 .setMinimalSpacing( l( 4.0) ) +VIA56 .setMinimalSize ( l( 1.0) ) +VIA56 .setEnclosure ( metal5 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +VIA56 .setEnclosure ( metal6 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +VIA56 .setMinimalSpacing( l( 4.0) ) +VIA67 .setMinimalSize ( l( 1.0) ) +VIA67 .setEnclosure ( metal6 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +VIA67 .setEnclosure ( metal7 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +VIA67 .setMinimalSpacing( l( 4.0) ) +VIA78 .setMinimalSpacing( l( 4.0) ) +VIA78 .setMinimalSize ( l( 1.0) ) +VIA78 .setEnclosure ( metal7 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +VIA78 .setEnclosure ( metal8 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +VIA78 .setMinimalSpacing( l( 4.0) ) +VIA89 .setMinimalSize ( l( 1.0) ) +VIA89 .setEnclosure ( metal8 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +VIA89 .setEnclosure ( metal9 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +VIA89 .setMinimalSpacing( l( 4.0) ) +VIA910.setMinimalSize ( l( 1.0) ) +VIA910.setEnclosure ( metal9 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +VIA910.setEnclosure ( metal10 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +VIA910.setMinimalSpacing( l( 4.0) ) + +# Blockages (symbolic). +BLOCKAGE1 .setMinimalSize ( l( 1.0) ) +BLOCKAGE1 .setExtentionCap( blockage1 , l( 0.5) ) +BLOCKAGE2 .setMinimalSize ( l( 2.0) ) +BLOCKAGE2 .setExtentionCap( blockage2 , l( 0.5) ) +BLOCKAGE3 .setMinimalSize ( l( 2.0) ) +BLOCKAGE3 .setExtentionCap( blockage3 , l( 0.5) ) +BLOCKAGE4 .setMinimalSize ( l( 2.0) ) +BLOCKAGE4 .setExtentionCap( blockage4 , l( 0.5) ) +BLOCKAGE5 .setMinimalSize ( l( 2.0) ) +BLOCKAGE5 .setExtentionCap( blockage5 , l( 1.0) ) +BLOCKAGE6 .setMinimalSize ( l( 2.0) ) +BLOCKAGE6 .setExtentionCap( blockage6 , l( 1.0) ) +BLOCKAGE7 .setMinimalSize ( l( 2.0) ) +BLOCKAGE7 .setExtentionCap( blockage7 , l( 1.0) ) +BLOCKAGE8 .setMinimalSize ( l( 2.0) ) +BLOCKAGE8 .setExtentionCap( blockage8 , l( 1.0) ) +BLOCKAGE9 .setMinimalSize ( l( 2.0) ) +BLOCKAGE9 .setExtentionCap( blockage9 , l( 1.0) ) +BLOCKAGE10.setMinimalSize ( l( 2.0) ) +BLOCKAGE10.setExtentionCap( blockage10, l( 1.0) ) + diff --git a/crlcore/etc/node180/__init__.py b/crlcore/etc/node180/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/crlcore/etc/node180/scn6m_deep_09/__init__.py b/crlcore/etc/node180/scn6m_deep_09/__init__.py new file mode 100644 index 00000000..818db7fb --- /dev/null +++ b/crlcore/etc/node180/scn6m_deep_09/__init__.py @@ -0,0 +1,37 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/node180/scn6m_deep_09/__init__.py" | +# +-----------------------------------------------------------------+ + + +import Cfg +from Hurricane import DataBase +from CRL import System + +Cfg.Configuration.pushDefaultPriority( Cfg.Parameter.Priority.ConfigurationFile ) + +DataBase.create() +System.get() + +import node180.scn6m_deep_09.misc +import node180.scn6m_deep_09.technology +import node180.scn6m_deep_09.display +import node180.scn6m_deep_09.analog +import node180.scn6m_deep_09.alliance +import node180.scn6m_deep_09.etesian +import node180.scn6m_deep_09.kite +import node180.scn6m_deep_09.plugins +import node180.scn6m_deep_09.stratus1 +import node180.scn6m_deep_09.devices +import node180.scn6m_deep_09.dtr_scn6m_deep_09 + +Cfg.Configuration.popDefaultPriority() diff --git a/crlcore/etc/node180/scn6m_deep_09/alliance.py b/crlcore/etc/node180/scn6m_deep_09/alliance.py new file mode 100644 index 00000000..967a73c9 --- /dev/null +++ b/crlcore/etc/node180/scn6m_deep_09/alliance.py @@ -0,0 +1,49 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/node180.scn6m_deep_09/alliance.py" | +# +-----------------------------------------------------------------+ + + +import os +import os.path +from CRL import Environment +from CRL import AllianceFramework + + +allianceTop = None +if os.environ.has_key('ALLIANCE_TOP'): + allianceTop = os.environ['ALLIANCE_TOP'] + if not os.path.isdir(allianceTop): + allianceTop = None + +if not allianceTop: allianceTop = '/soc/alliance' + +cellsTop = allianceTop+'/cells' + +af = AllianceFramework.get() +env = af.getEnvironment() + +env.setSCALE_X ( 100 ) +env.setCATALOG ( 'CATAL' ) +env.setIN_LO ( 'vst' ) +env.setIN_PH ( 'ap' ) +env.setOUT_LO ( 'vst' ) +env.setOUT_PH ( 'ap' ) +env.setPOWER ( 'vdd' ) +env.setGROUND ( 'vss' ) +env.setCLOCK ( '.*ck.*|.*nck.*' ) +env.setBLOCKAGE ( 'blockage[Nn]et.*' ) +env.setPad ( '.*_mpx$' ) + +env.setWORKING_LIBRARY( '.' ) +env.addSYSTEM_LIBRARY ( library=cellsTop+'/nsxlib', mode=Environment.Append ) +env.addSYSTEM_LIBRARY ( library=cellsTop+'/mpxlib', mode=Environment.Append ) diff --git a/crlcore/etc/node180/scn6m_deep_09/analog.py b/crlcore/etc/node180/scn6m_deep_09/analog.py new file mode 100644 index 00000000..d8ecd2fc --- /dev/null +++ b/crlcore/etc/node180/scn6m_deep_09/analog.py @@ -0,0 +1,16 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/node180.scn6m_deep_09/analog.py" | +# +-----------------------------------------------------------------+ + + +#import common.analog diff --git a/crlcore/etc/node180/scn6m_deep_09/devices.py b/crlcore/etc/node180/scn6m_deep_09/devices.py new file mode 100644 index 00000000..13096c2f --- /dev/null +++ b/crlcore/etc/node180/scn6m_deep_09/devices.py @@ -0,0 +1,130 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./node180/scn6m_deep_09/devices.py" | +# +-----------------------------------------------------------------+ + + +import helpers +import common.devices +from common.devices import addDevice + + +chamsDir = helpers.sysConfDir + '/share/coriolis2/' +spiceDir = chamsDir + 'spice/' + + +addDevice( name = 'DifferentialPairBulkConnected' + , spice = spiceDir+'DiffPairBulkConnected.spi' + , connectors = ( 'D1', 'D2', 'G1', 'G2', 'S' ) + , layouts = ( ('Horizontal M2' , 'DP_horizontalM2.py' ) + , ('Symmetrical' , 'DP_symmetrical.py' ) + , ('Common centroid', 'DP_2DCommonCentroid.py') + , ('Interdigitated' , 'DP_interdigitated.py' ) + , ('WIP DP' , 'WIP_DP.py' ) + ) + ) +addDevice( name = 'DifferentialPairBulkUnconnected' + , spice = spiceDir+'DiffPairBulkUnconnected.spi' + , connectors = ( 'D1', 'D2', 'G1', 'G2', 'S', 'B' ) + , layouts = ( ('Horizontal M2' , 'DP_horizontalM2.py' ) + , ('Symmetrical' , 'DP_symmetrical.py' ) + , ('Common centroid', 'DP_2DCommonCentroid.py') + , ('Interdigitated' , 'DP_interdigitated.py' ) + , ('WIP DP' , 'WIP_DP.py' ) + ) + ) +addDevice( name = 'LevelShifterBulkUnconnected' + , spice = spiceDir+'LevelShifterBulkUnconnected.spi' + , connectors = ( 'D1', 'D2', 'S1', 'S2', 'B' ) + , layouts = ( ('Horizontal M2' , 'LS_horizontalM2.py' ) + , ('Symmetrical' , 'LS_symmetrical.py' ) + , ('Common centroid', 'LS_2DCommonCentroid.py') + , ('Interdigitated' , 'LS_interdigitated.py' ) + ) + ) +addDevice( name = 'TransistorBulkConnected' + , spice = spiceDir+'TransistorBulkConnected.spi' + , connectors = ( 'D', 'G', 'S' ) + , layouts = ( ('Rotate transistor', 'Transistor_rotate.py') + , ('Common transistor', 'Transistor_common.py') + , ('WIP Transistor' , 'WIP_Transistor.py' ) + ) + ) +addDevice( name = 'TransistorBulkUnconnected' + , spice = spiceDir+'TransistorBulkUnconnected.spi' + , connectors = ( 'D', 'G', 'S', 'B' ) + , layouts = ( ('Rotate transistor', 'Transistor_rotate.py') + , ('Common transistor', 'Transistor_common.py') + , ('WIP Transistor' , 'WIP_Transistor.py' ) + ) + ) +addDevice( name = 'CrossCoupledPairBulkConnected' + , spice = spiceDir+'CCPairBulkConnected.spi' + , connectors = ( 'D1', 'D2', 'S' ) + , layouts = ( ('Horizontal M2' , 'CCP_horizontalM2.py' ) + , ('Symmetrical' , 'CCP_symmetrical.py' ) + , ('Common centroid', 'CCP_2DCommonCentroid.py') + , ('Interdigitated' , 'CCP_interdigitated.py' ) + ) + ) +addDevice( name = 'CrossCoupledPairBulkUnconnected' + , spice = spiceDir+'CCPairBulkUnconnected.spi' + , connectors = ( 'D1', 'D2', 'S', 'B' ) + , layouts = ( ('Horizontal M2' , 'CCP_horizontalM2.py' ) + , ('Symmetrical' , 'CCP_symmetrical.py' ) + , ('Common centroid', 'CCP_2DCommonCentroid.py') + , ('Interdigitated' , 'CCP_interdigitated.py' ) + ) + ) +addDevice( name = 'CommonSourcePairBulkConnected' + , spice = spiceDir+'CommonSourcePairBulkConnected.spi' + , connectors = ( 'D1', 'D2', 'S', 'G' ) + , layouts = ( ('Horizontal M2' , 'CSP_horizontalM2.py' ) + , ('Symmetrical' , 'CSP_symmetrical.py' ) + , ('Interdigitated' , 'CSP_interdigitated.py' ) + , ('WIP CSP' , 'WIP_CSP.py' ) + ) + ) +addDevice( name = 'CommonSourcePairBulkUnconnected' + , spice = spiceDir+'CommonSourcePairBulkUnconnected.spi' + , connectors = ( 'D1', 'D2', 'S', 'G', 'B' ) + , layouts = ( ('Horizontal M2' , 'CSP_horizontalM2.py' ) + , ('Symmetrical' , 'CSP_symmetrical.py' ) + , ('Interdigitated' , 'CSP_interdigitated.py' ) + , ('WIP CSP' , 'WIP_CSP.py' ) + ) + ) +addDevice( name = 'SimpleCurrentMirrorBulkConnected' + , spice = spiceDir+'CurrMirBulkConnected.spi' + , connectors = ( 'D1', 'D2', 'S' ) + , layouts = ( ('Horizontal M2' , 'SCM_horizontalM2.py' ) + , ('Symmetrical' , 'SCM_symmetrical.py' ) + , ('Common centroid', 'SCM_2DCommonCentroid.py') + , ('Interdigitated' , 'SCM_interdigitated.py' ) + ) + ) +addDevice( name = 'SimpleCurrentMirrorBulkUnconnected' + , spice = spiceDir+'CurrMirBulkUnconnected.spi' + , connectors = ( 'D1', 'D2', 'S', 'B' ) + , layouts = ( ('Horizontal M2' , 'SCM_horizontalM2.py' ) + , ('Symmetrical' , 'SCM_symmetrical.py' ) + , ('Common centroid', 'SCM_2DCommonCentroid.py') + , ('Interdigitated' , 'SCM_interdigitated.py' ) + ) + ) +addDevice( name = 'MIMCapacitor' + , spice = spiceDir+'MIMCapacitor.spi' + , connectors = ( 'P1', 'P2' ) + , layouts = ( ('SimpleMatrix' , 'MIM_simpleMatrix.py' ), + ) + ) + diff --git a/crlcore/etc/node180/scn6m_deep_09/display.py b/crlcore/etc/node180/scn6m_deep_09/display.py new file mode 100644 index 00000000..5ad9f6d8 --- /dev/null +++ b/crlcore/etc/node180/scn6m_deep_09/display.py @@ -0,0 +1,19 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/node180.scn6m_deep_09/display.py" | +# +-----------------------------------------------------------------+ + + +import common.display + + +common.display.createStyles( scale=0.5 ) diff --git a/crlcore/etc/node180/scn6m_deep_09/dtr_scn6m_deep_09.py b/crlcore/etc/node180/scn6m_deep_09/dtr_scn6m_deep_09.py new file mode 100644 index 00000000..b6a2d53b --- /dev/null +++ b/crlcore/etc/node180/scn6m_deep_09/dtr_scn6m_deep_09.py @@ -0,0 +1,167 @@ + +# Name: dtr_scn6m_deep_09.py -- mosis scalable CMOS SCN6M_DEEP General Purpose with MIM capacitor +# Unit: micro +# version: rev.LIP6-1 +# +# The MOSIS Scalable (SCMOS) design rules can be found here: +# https://www.mosis.com/files/scmos/scmos.pdf +# +# Used revision 8.00 of May 11, 2009. + +from Hurricane import DbU +from helpers.AnalogTechno import Length +from helpers.AnalogTechno import Area +from helpers.AnalogTechno import Asymmetric +from helpers.AnalogTechno import loadAnalogTechno + + +analogTechnologyTable = \ + ( ('Header', 'scmos6m_deep_09', DbU.UnitPowerMicro, 'rev.LIP6-1') + # ------------------------------------------------------------------------------------ + # ( Rule name , [Layer1] , [Layer2] , Value, Rule flags , Reference ) + , ('physicalGrid' , 0.09 , Length , 'N/A') + , ('transistorMinL' , 0.18 , Length , '2l rule 3.1 p.26') + , ('transistorMaxL' , 18 , Length , '200l arbitrary') + , ('transistorMinW' , 0.27 , Length , '3l arbitrary') + , ('transistorMaxW' , 270 , Length , '300l arbitrary') + + , ('minWidth' , 'nWell' , 1.08 , Length , '12l rule 1.1 p.16') + , ('minSpacing' , 'nWell' , 1.62 , Length , '18l rule 1.2 p.16') + , ('minArea' , 'nWell' , 0 , Area , 'N/A') + , ('minWidth' , 'active' , 0.27 , Length , '3l rule 2.1 p.19') + , ('minSpacing' , 'active' , 0.27 , Length , '3l rule 2.2 p.19') + , ('minArea' , 'active' , 0 , Area , 'N/A') + , ('minEnclosure' , 'nWell' , 'active' , 0.54 , Length|Asymmetric, 'rule X.Y, p.Z') + , ('minEnclosure' , 'nImplant', 'nWell' , 0 , Length|Asymmetric, 'rule X.Y, p.Z') + , ('minWidth' , 'poly' , 0.18 , Length , '2l rule 3.1 p.26') + , ('minSpacing' , 'poly' , 0.27 , Length , '3l rule 3.2 p.26') + , ('minGateSpacing' , 'poly' , 0.36 , Length , '4l rule 3.2.a p.26') + , ('minArea' , 'poly' , 0 , Area , 'N/A') + , ('minGateExtension' , 'poly' , 'active' , 0.225, Length|Asymmetric, '2.5l rule 3.3 p.26') + , ('minGateExtension' , 'active' , 'poly' , 0.225, Length|Asymmetric, 'N/A') + , ('minExtension' , 'poly' , 'active' , 0.225, Length|Asymmetric, 'N/A') + , ('minExtension' , 'active' , 'poly' , 0.36 , Length|Asymmetric, '4l rule 3.4 p.26') + , ('minSpacing' , 'poly' , 'active' , 0.09 , Length , '1l rule 3.5 p.26') + + , ('minGateSpacing' , 'nImplant', 'poly' , 0.27 , Length , '3l rule 4.1 N+ p.29') + , ('minEnclosure' , 'nImplant', 'active' , 0.18 , Length|Asymmetric, '2l rule 4.2 N+ p.29') + , ('minExtension' , 'nImplant', 'active' , 0.18 , Length|Asymmetric, 'dup. 4.2 N+' ) + , ('minEnclosure' , 'nImplant', 'cut0' , 0.135, Length|Asymmetric, '1.5l rule 4.3 N+ p.29') + , ('minExtension' , 'nImplant', 'cut0' , 0.135, Length|Asymmetric, 'dup. 4.3 N+' ) + , ('minWidth' , 'nImplant' , 0.36 , Length , '4l rule 4.4 N+ p.29') + , ('minSpacing' , 'nImplant' , 0.36 , Length , '4l rule 4.4 N+ p.29') + , ('minArea' , 'nImplant' , 0 , Area , 'N/A') + , ('minSpacing' , 'nImplant', 'active' , 0 , Length , 'N/A') + , ('minEnclosure' , 'nImplant', 'poly' , 0 , Length|Asymmetric, 'N/A') + , ('minLengthEnclosure', 'nImplant', 'active' , 0 , Length|Asymmetric, 'N/A') + , ('minWidthEnclosure' , 'nImplant', 'poly' , 0 , Length|Asymmetric, 'N/A') + , ('minGateEnclosure' , 'nImplant', 'poly' , 0 , Length|Asymmetric, 'N/A') + , ('minStrapEnclosure' , 'nImplant' , 0.135, Length , 'N/A') + , ('minSpacing' , 'nImplant', 'pImplant', 0 , Length , 'N/A') + + , ('minGateSpacing' , 'pImplant', 'poly' , 0.27 , Length , '3l rule 4.1 P+ p.29') + , ('minEnclosure' , 'pImplant', 'active' , 0.18 , Length|Asymmetric, '2l rule 4.2 P+ p.29') + , ('minExtension' , 'pImplant', 'active' , 0.18 , Length|Asymmetric, 'dup. 4.2 P+' ) + , ('minEnclosure' , 'pImplant', 'cut0' , 0.135, Length|Asymmetric, '1.5l rule 4.3 P+ p.29') + , ('minExtension' , 'pImplant', 'cut0' , 0.135, Length|Asymmetric, 'dup. 4.3 P-' ) + , ('minWidth' , 'pImplant' , 0.36 , Length , '4l rule 4.4 P+ p.29') + , ('minSpacing' , 'pImplant' , 0.36 , Length , '4l rule 4.4 P+ p.29') + , ('minArea' , 'pImplant' , 0 , Area , 'N/A') + , ('minSpacing' , 'pImplant', 'active' , 0 , Length , 'N/A') + , ('minEnclosure' , 'pImplant', 'poly' , 0 , Length|Asymmetric, 'N/A') + , ('minLengthEnclosure', 'pImplant', 'active' , 0 , Length|Asymmetric, 'N/A') + , ('minWidthEnclosure' , 'pImplant', 'poly' , 0 , Length|Asymmetric, 'N/A') + , ('minGateEnclosure' , 'pImplant', 'poly' , 0 , Length|Asymmetric, 'N/A') + , ('minStrapEnclosure' , 'pImplant' , 0.135, Length , 'N/A') + + , ('minWidth' , 'cut0' , 0.18 , Length , '2l rule 5.1 p.35') + , ('minEnclosure' , 'poly' , 'cut0' , 0.135, Length|Asymmetric, '1.5l rule 5.2 p.35') + , ('minExtension' , 'poly' , 'cut0' , 0.135, Length|Asymmetric, 'dup. 5.2' ) + , ('minSpacing' , 'cut0' , 0.36 , Length , '4l rule 5.3 p.35') + , ('minGateSpacing' , 'cut0' , 'poly' , 0.18 , Length|Asymmetric, '2l rule 5.4 p.35') + , ('minSpacing' , 'cut0' , 'poly' , 0.18 , Length , 'dup. 5.4' ) + , ('minSpacing' , 'cut0' , 'active' , 0.18 , Length , 'dup. 5.4' ) + # Rule 6.1, 6.3 & 6.4 are the same as 5.1, 5.3 & 5.4. + , ('minEnclosure' , 'active' , 'cut0' , 0.135, Length|Asymmetric, '1.5l rule 6.2 p.37') + + , ('minWidth' , 'metal1' , 0.27 , Length , '3l rule 7.1 p.39') + , ('minSpacing' , 'metal1' , 0.27 , Length , '3l rule 7.2 p.39') + , ('minArea' , 'metal1' , 0 , Area , 'N/A') + , ('minEnclosure' , 'metal1' , 'cut0' , 0.09 , Length|Asymmetric, '1l rule 7.3 p.39') + , ('minExtension' , 'metal1' , 'cut0' , 0.09 , Length|Asymmetric, 'dup. 7.3' ) + + , ('minWidth' , 'cut1' , 0.27 , Length , '3l rule 8.1 p.40') + , ('minSpacing' , 'cut1' , 0.27 , Length , '3l rule 8.2 p.40') + , ('minEnclosure' , 'metal1' , 'cut1' , 0.09 , Length|Asymmetric, '1l rule 8.3 p.40') + , ('lineExtension' , 'metal1' , 'cut1' , 0.09 , Length|Asymmetric, 'N/A') + + , ('minWidth' , 'metal2' , 0.27 , Length , '3l rule 9.1 p.41') + , ('minSpacing' , 'metal2' , 0.36 , Length , '4l rule 9.2 p.41') + , ('minArea' , 'metal2' , 0 , Area , 'N/A') + , ('minExtension' , 'metal2' , 'cut1' , 0.09 , Length|Asymmetric, '1l rule 9.3 p.41') + , ('minEnclosure' , 'metal2' , 'cut1' , 0.09 , Length|Asymmetric, 'dup. 9.3' ) + + , ('minWidth' , 'cut2' , 0.27 , Length , '3l rule 14.1 p.42') + , ('minSpacing' , 'cut2' , 0.27 , Length , '3l rule 14.2 p.42') + , ('minEnclosure' , 'metal2' , 'cut2' , 0.09 , Length|Asymmetric, '1l rule 14.3 p.42') + + , ('minWidth' , 'metal3' , 0.27 , Length , '3l rule 15.1 p.43') + , ('minSpacing' , 'metal3' , 0.36 , Length , '4l rule 15.2 p.43') + , ('minArea' , 'metal3' , 0 , Area , 'N/A') + , ('minExtension' , 'metal3' , 'cut2' , 0.09 , Length|Asymmetric, '1l rule 15.3 p.43') + , ('minEnclosure' , 'metal3' , 'cut2' , 0.09 , Length|Asymmetric, 'dup. 15.3' ) + + , ('minWidth' , 'cut3' , 0.27 , Length , '3l rule 21.1 p.44') + , ('minSpacing' , 'cut3' , 0.27 , Length , '3l rule 21.2 p.44') + , ('minEnclosure' , 'metal3' , 'cut3' , 0.09 , Length|Asymmetric, '1l rule 21.3 p.44') + + , ('minWidth' , 'metal4' , 0.27 , Length , '3l rule 22.1 p.45') + , ('minSpacing' , 'metal4' , 0.36 , Length , '4l rule 22.2 p.45') + , ('minArea' , 'metal4' , 0 , Area , 'N/A') + , ('minExtension' , 'metal4' , 'cut3' , 0.09 , Length|Asymmetric, '1l rule 22.3 p.45') + , ('minEnclosure' , 'metal4' , 'cut3' , 0.09 , Length|Asymmetric, 'dup. 22.3' ) + + , ('minWidth' , 'cut4' , 0.27 , Length , '3l rule 25.1 p.49') + , ('minSpacing' , 'cut4' , 0.27 , Length , '3l rule 25.2 p.49') + , ('minEnclosure' , 'metal4' , 'cut4' , 0.09 , Length|Asymmetric, '1l rule 25.3 p.49') + + , ('minWidth' , 'metal5' , 0.27 , Length , '3l rule 26.1 p.50') + , ('minSpacing' , 'metal5' , 0.36 , Length , '4l rule 26.2 p.50') + , ('minArea' , 'metal5' , 0 , Area , 'N/A') + , ('minExtension' , 'metal5' , 'cut4' , 0.09 , Length|Asymmetric, '1l rule 26.3 p.50') + , ('minEnclosure' , 'metal5' , 'cut4' , 0.09 , Length|Asymmetric, 'dup. 26.3' ) + + , ('minWidth' , 'cut5' , 0.36 , Length , '4l rule 29.1 p.51') + , ('minSpacing' , 'cut5' , 0.36 , Length , '4l rule 29.2 p.51') + , ('minEnclosure' , 'metal5' , 'cut5' , 0.09 , Length|Asymmetric, '1l rule 29.3 p.51') + + , ('minWidth' , 'metal6' , 0.45 , Length , '5l rule 30.1 p.52') + , ('minSpacing' , 'metal6' , 0.45 , Length , '5l rule 30.2 p.52') + , ('minArea' , 'metal6' , 0 , Area , 'N/A') + , ('minExtension' , 'metal6' , 'cut5' , 0.18 , Length|Asymmetric, '2l rule 30.3 p.52') + , ('minEnclosure' , 'metal6' , 'cut5' , 0.18 , Length|Asymmetric, 'dup. 30.3' ) + + # MIM Rules (Metal In Metal Capacitor). + # In SCN6M_DEEP metbot is metal5 and metcap is *below* metal6. + # metbot can be accessed with cut4 (down) and via5 (up). + # metcap can only be accessed *from* up with cut5. + , ('minWidth' , 'metcap' , 4.05 , Length , '45l rule 28.1 p.46') + , ('minWidth' , 'metcapdum' , 0.45 , Length , '9l rule 28.8 p.47') + , ('maxWidth' , 'metcap' , 30.0 , Length , '30um rule 28.12 p.47') + , ('maxWidth' , 'metbot' , 35.0 , Length , '35um rule 28.13 p.47') + , ('minSpacing' , 'metcap' , 1.26 , Length , '14l rule 28.2 p.46') + , ('minSpacing' , 'metbot' , 0.81 , Length , '9l rule 28.9 p.47') + , ('minSpacing' , 'cut4' , 'metcap' , 0.45 , Length , '5l rule 28.5 D p.46') + , ('minSpacing' , 'cut5' , 'metcap' , 0.45 , Length , '5l rule 28.5 U p.46') + , ('minSpacingOnMetbot', 'cut5' , 4.05 , Length , '45l rule 28.11 p.47') + , ('minSpacingOnMetcap', 'cut5' , 2.07 , Length , '23l rule 28.10 p.47') + , ('minEnclosure' , 'metbot' , 'metcap' , 0.45 , Length|Asymmetric, '5l rule 28.3 p.46') + , ('minEnclosure' , 'metbot' , 'cut4' , 0.18 , Length|Asymmetric, '2l rule 28.6 D p.46') + , ('minEnclosure' , 'metbot' , 'cut5' , 0.18 , Length|Asymmetric, '2l rule 28.6 U p.46') + , ('minEnclosure' , 'metcap' , 'cut5' , 0.27 , Length|Asymmetric, '3l rule 28.4 p.46') + , ('minArea' , 'metcap' , 0 , Area , 'N/A') + , ('minAreaInMetcap' , 'cut5' , 0 , Area , 'N/A') + ) + + +loadAnalogTechno( analogTechnologyTable, __file__ ) diff --git a/crlcore/etc/node180/scn6m_deep_09/etesian.py b/crlcore/etc/node180/scn6m_deep_09/etesian.py new file mode 100644 index 00000000..2ef250e8 --- /dev/null +++ b/crlcore/etc/node180/scn6m_deep_09/etesian.py @@ -0,0 +1,16 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/node180.scn6m_deep_09/etesian.py" | +# +-----------------------------------------------------------------+ + + +import common.etesian diff --git a/crlcore/etc/node180/scn6m_deep_09/kite.py b/crlcore/etc/node180/scn6m_deep_09/kite.py new file mode 100644 index 00000000..7195995e --- /dev/null +++ b/crlcore/etc/node180/scn6m_deep_09/kite.py @@ -0,0 +1,257 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/node180.scn6m_deep_09/kite.py" | +# +-----------------------------------------------------------------+ + + +import Cfg +from Hurricane import DataBase +from CRL import AllianceFramework +from CRL import RoutingGauge +from CRL import RoutingLayerGauge +from CRL import CellGauge +import helpers +from helpers import l, n, u +import common.kite + + +p = Cfg.getParamDouble ( 'lefImport.minTerminalWidth' ).setDouble ( 0.0 ) +p = Cfg.getParamString ( 'katabatic.routingGauge' ).setString ( 'sxlib' ) +p = Cfg.getParamInt ( "katabatic.globalLengthThreshold" ).setInt ( 1450 ) +p = Cfg.getParamPercentage( "katabatic.saturateRatio" ).setPercentage( 80 ) +p = Cfg.getParamInt ( "katabatic.saturateRp" ).setInt ( 8 ) +p = Cfg.getParamString ( 'katabatic.topRoutingLayer' ).setString ( 'METAL6' ) + + # Kite parameters. +p = Cfg.getParamInt( "kite.hTracksReservedLocal" ); p.setInt( 4 ); p.setMin( 0 ); p.setMax( 18 ) +p = Cfg.getParamInt( "kite.vTracksReservedLocal" ); p.setInt( 3 ); p.setMin( 0 ); p.setMax( 18 ) +p = Cfg.getParamInt( "kite.eventsLimit" ); p.setInt( 4000002 ) +p = Cfg.getParamInt( "kite.ripupCost" ); p.setInt( 3 ); p.setMin( 0 ) +p = Cfg.getParamInt( "kite.strapRipupLimit" ); p.setInt( 16 ); p.setMin( 1 ) +p = Cfg.getParamInt( "kite.localRipupLimit" ); p.setInt( 9 ); p.setMin( 1 ) +p = Cfg.getParamInt( "kite.globalRipupLimit" ); p.setInt( 5 ); p.setMin( 1 ) +p = Cfg.getParamInt( "kite.longGlobalRipupLimit" ); p.setInt( 5 ); p.setMin( 1 ) + +# Anabatic & Katana parameters are temporarily hosted here. +p = Cfg.getParamString ( 'anabatic.routingGauge' ); p.setString ( 'msxlib' ) +p = Cfg.getParamInt ( "anabatic.globalLengthThreshold" ); p.setInt ( 1450 ) +p = Cfg.getParamPercentage( "anabatic.saturateRatio" ); p.setPercentage( 80 ) +p = Cfg.getParamInt ( "anabatic.saturateRp" ); p.setInt ( 8 ) +p = Cfg.getParamString ( 'anabatic.topRoutingLayer' ); p.setString ( 'METAL5' ) +p = Cfg.getParamInt ( "anabatic.edgeLength" ); p.setInt ( 48 ) +p = Cfg.getParamInt ( "anabatic.edgeWidth" ); p.setInt ( 8 ) +p = Cfg.getParamDouble ( "anabatic.edgeCostH" ); p.setDouble ( 19.0 ) +p = Cfg.getParamDouble ( "anabatic.edgeCostK" ); p.setDouble ( -60.0 ) +p = Cfg.getParamDouble ( "anabatic.edgeHInc" ); p.setDouble ( 1.0 ) +p = Cfg.getParamDouble ( "anabatic.edgeHScaling" ); p.setDouble ( 1.0 ) +p = Cfg.getParamInt ( "anabatic.globalIterations" ); p.setInt ( 10 ); p.setMin(1); p.setMax(100) +p = Cfg.getParamEnumerate ( "anabatic.gcell.displayMode" ); p.setInt ( 1 ) +p.addValue( "Boundary", 1 ) +p.addValue( "Density" , 2 ) + +p = Cfg.getParamInt ( "katana.hTracksReservedLocal" ); p.setInt ( 3 ); p.setMin(0); p.setMax(20) +p = Cfg.getParamInt ( "katana.vTracksReservedLocal" ); p.setInt ( 3 ); p.setMin(0); p.setMax(20) +p = Cfg.getParamInt ( "katana.termSatReservedLocal" ); p.setInt ( 8 ) +p = Cfg.getParamInt ( "katana.termSatThreshold" ); p.setInt ( 9 ) +p = Cfg.getParamInt ( "katana.eventsLimit" ); p.setInt ( 4000002 ) +p = Cfg.getParamInt ( "katana.ripupCost" ); p.setInt ( 3 ); p.setMin(0) +p = Cfg.getParamInt ( "katana.strapRipupLimit" ); p.setInt ( 16 ); p.setMin(1) +p = Cfg.getParamInt ( "katana.localRipupLimit" ); p.setInt ( 9 ); p.setMin(1) +p = Cfg.getParamInt ( "katana.globalRipupLimit" ); p.setInt ( 5 ); p.setMin(1) +p = Cfg.getParamInt ( "katana.longGlobalRipupLimit" ); p.setInt ( 5 ); p.setMin(1) +p = Cfg.getParamString( 'chip.padCoreSide' ); p.setString( 'South' ) + + +tech = DataBase.getDB().getTechnology() +af = AllianceFramework.get() +rg = RoutingGauge.create( 'msxlib' ) + +rg.addLayerGauge( RoutingLayerGauge.create( tech.getLayer('METAL1') # metal. + , RoutingLayerGauge.Vertical # preferred routing direction. + , RoutingLayerGauge.PinOnly # layer usage. + , 0 # depth. + , 0.0 # density (deprecated). + , l(0) # track offset from AB. + , l(10) # track pitch. + , l(3) # wire width. + , l(2) # VIA side (that is VIA12). + , l(7) # obstacle dW. + ) ) + +rg.addLayerGauge( RoutingLayerGauge.create( tech.getLayer('METAL2') # metal. + , RoutingLayerGauge.Horizontal # preferred routing direction. + , RoutingLayerGauge.Default # layer usage. + , 1 # depth. + , 0.0 # density (deprecated). + , l(0) # track offset from AB. + , l(10) # track pitch. + , l(3) # wire width. + , l(2) # VIA side (that is VIA23). + , l(8) # obstacle dW. + ) ) + +rg.addLayerGauge( RoutingLayerGauge.create( tech.getLayer('METAL3') # metal. + , RoutingLayerGauge.Vertical # preferred routing direction. + , RoutingLayerGauge.Default # layer usage. + , 2 # depth. + , 0.0 # density (deprecated). + , l(0) # track offset from AB. + , l(10) # track pitch. + , l(3) # wire width. + , l(2) # VIA side (that is VIA34). + , l(8) # obstacle dW. + ) ) + +rg.addLayerGauge( RoutingLayerGauge.create( tech.getLayer('METAL4') # metal. + , RoutingLayerGauge.Horizontal # preferred routing direction. + , RoutingLayerGauge.Default # layer usage. + , 3 # depth. + , 0.0 # density (deprecated). + , l(0) # track offset from AB. + , l(15) # track pitch. + , l(6) # wire width. + , l(4) # VIA side (that is VIA23). + , l(8) # obstacle dW. + ) ) + +rg.addLayerGauge( RoutingLayerGauge.create( tech.getLayer('METAL5') # metal. + , RoutingLayerGauge.Vertical # preferred routing direction. + , RoutingLayerGauge.Default # layer usage. + , 4 # depth. + , 0.0 # density (deprecated). + , l(0) # track offset from AB. + , l(15) # track pitch. + , l(6) # wire width. + , l(4) # VIA side (that is VIA23). + , l(8) # obstacle dW. + ) ) + +rg.addLayerGauge( RoutingLayerGauge.create( tech.getLayer('METAL6') # metal. + , RoutingLayerGauge.Horizontal # preferred routing direction. + , RoutingLayerGauge.Default # layer usage. + , 5 # depth. + , 0.0 # density (deprecated). + , l(0) # track offset from AB. + , l(15) # track pitch. + , l(6) # wire width. + , l(4) # VIA side (that is VIA23). + , l(8) # obstacle dW. + ) ) + +af.addRoutingGauge( rg ) + +rg = RoutingGauge.create( 'msxlib4' ) + +rg.addLayerGauge( RoutingLayerGauge.create( tech.getLayer('METAL1') # metal. + , RoutingLayerGauge.Vertical # preferred routing direction. + , RoutingLayerGauge.PinOnly # layer usage. + , 0 # depth. + , 0.0 # density (deprecated). + , l(0) # track offset from AB. + , l(10) # track pitch. + , l(3) # wire width. + , l(2) # VIA side (that is VIA12). + , l(7) # obstacle dW. + ) ) + +rg.addLayerGauge( RoutingLayerGauge.create( tech.getLayer('METAL2') # metal. + , RoutingLayerGauge.Horizontal # preferred routing direction. + , RoutingLayerGauge.Default # layer usage. + , 1 # depth. + , 0.0 # density (deprecated). + , l(0) # track offset from AB. + , l(10) # track pitch. + , l(3) # wire width. + , l(2) # VIA side (that is VIA23). + , l(8) # obstacle dW. + ) ) + +rg.addLayerGauge( RoutingLayerGauge.create( tech.getLayer('METAL3') # metal. + , RoutingLayerGauge.Vertical # preferred routing direction. + , RoutingLayerGauge.Default # layer usage. + , 2 # depth. + , 0.0 # density (deprecated). + , l(0) # track offset from AB. + , l(8) # track pitch. + , l(3) # wire width. + , l(2) # VIA side (that is VIA12). + , l(8) # obstacle dW. + ) ) + +rg.addLayerGauge( RoutingLayerGauge.create( tech.getLayer('METAL4') # metal. + , RoutingLayerGauge.Horizontal # preferred routing direction. + , RoutingLayerGauge.Default # layer usage. + , 3 # depth. + , 0.0 # density (deprecated). + , l(0) # track offset from AB. + , l(10) # track pitch. + , l(3) # wire width. + , l(2) # VIA side (that is VIA23). + , l(8) # obstacle dW. + ) ) + +af.addRoutingGauge( rg ) + +rg = RoutingGauge.create( 'msxlib-2M' ) + +rg.addLayerGauge( RoutingLayerGauge.create( tech.getLayer('METAL1') # metal. + , RoutingLayerGauge.Vertical # preferred routing direction. + , RoutingLayerGauge.PinOnly # layer usage. + , 0 # depth. + , 0.0 # density (deprecated). + , l(0) # track offset from AB. + , l(10) # track pitch. + , l(3) # wire width. + , l(3) # VIA side (that is VIA12). + , l(7) # obstacle dW. + ) ) + +rg.addLayerGauge( RoutingLayerGauge.create( tech.getLayer('METAL2') # metal. + , RoutingLayerGauge.Horizontal # preferred routing direction. + , RoutingLayerGauge.Default # layer usage. + , 1 # depth. + , 0.0 # density (deprecated). + , l(0) # track offset from AB. + , l(10) # track pitch. + , l(3) # wire width. + , l(3) # VIA side (that is VIA23). + , l(8) # obstacle dW. + ) ) + +af.addRoutingGauge( rg ) + +af.setRoutingGauge( 'msxlib' ) + +# Gauge for standard cells. +cg = CellGauge.create( 'msxlib' + , 'metal2' # pin layer name. + , l( 10.0) # pitch. + , l(100.0) # cell slice height. + , l( 10.0) # cell slice step. + ) +af.addCellGauge( cg ) +cg = CellGauge.create( 'msxlib4' + , 'metal2' # pin layer name. + , l( 10.0) # pitch. + , l(100.0) # cell slice height. + , l( 10.0) # cell slice step. + ) +af.addCellGauge( cg ) + +# Gauge for Alliance symbolic I/O pads. +cg = CellGauge.create( 'phlib80' + , 'metal2' # pin layer name. + , l( 10.0) # pitch. + , l(312.0) # cell slice height. + , l(246.0) # cell slice step. + ) +af.addCellGauge( cg ) diff --git a/crlcore/etc/node180/scn6m_deep_09/misc.py b/crlcore/etc/node180/scn6m_deep_09/misc.py new file mode 100644 index 00000000..1b53c56e --- /dev/null +++ b/crlcore/etc/node180/scn6m_deep_09/misc.py @@ -0,0 +1,16 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/node180.scn6m_deep_09/misc.py" | +# +-----------------------------------------------------------------+ + + +import common.misc diff --git a/crlcore/etc/node180/scn6m_deep_09/patterns.py b/crlcore/etc/node180/scn6m_deep_09/patterns.py new file mode 100644 index 00000000..9063aa64 --- /dev/null +++ b/crlcore/etc/node180/scn6m_deep_09/patterns.py @@ -0,0 +1,16 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/node180.scn6m_deep_09/patterns.py" | +# +-----------------------------------------------------------------+ + + +import common.patterns diff --git a/crlcore/etc/node180/scn6m_deep_09/plugins.py b/crlcore/etc/node180/scn6m_deep_09/plugins.py new file mode 100644 index 00000000..7a45a121 --- /dev/null +++ b/crlcore/etc/node180/scn6m_deep_09/plugins.py @@ -0,0 +1,27 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/node180.scn6m_deep_09/plugins.py" | +# +-----------------------------------------------------------------+ + + +import Cfg +from helpers import l, u, n + + +Cfg.getParamInt ( "chip.block.rails.count" ).setInt ( 5 ) +Cfg.getParamInt ( "chip.block.rails.hWidth" ).setInt ( l( 24) ) +Cfg.getParamInt ( "chip.block.rails.vWidth" ).setInt ( l( 24) ) +Cfg.getParamInt ( "chip.block.rails.hSpacing" ).setInt ( l( 12) ) +Cfg.getParamInt ( "chip.block.rails.vSpacing" ).setInt ( l( 12) ) +Cfg.getParamInt ( 'clockTree.minimumSide' ).setInt ( l(1200) ) +Cfg.getParamString( 'clockTree.buffer' ).setString( 'buf_x2') +Cfg.getParamString( 'clockTree.placerEngine' ).setString( 'Etesian') diff --git a/crlcore/etc/node180/scn6m_deep_09/stratus1.py b/crlcore/etc/node180/scn6m_deep_09/stratus1.py new file mode 100644 index 00000000..2da63f9a --- /dev/null +++ b/crlcore/etc/node180/scn6m_deep_09/stratus1.py @@ -0,0 +1,21 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/node180.scn6m_deep_09/stratus1.py" | +# +-----------------------------------------------------------------+ + + +import Cfg +import common.stratus1 + + +Cfg.getParamString( "stratus1.format" ).setString( "vst" ) +Cfg.getParamString( "stratus1.simulator" ).setString( "asimut" ) diff --git a/crlcore/etc/node180/scn6m_deep_09/technology.py b/crlcore/etc/node180/scn6m_deep_09/technology.py new file mode 100644 index 00000000..898f03d6 --- /dev/null +++ b/crlcore/etc/node180/scn6m_deep_09/technology.py @@ -0,0 +1,228 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/node180.scn6m_deep_09/technology.py" | +# +-----------------------------------------------------------------+ + + +from helpers import l, u, n +from Hurricane import DbU +from Hurricane import DataBase +from Hurricane import Technology + + +tech = DataBase.getDB().getTechnology() +if tech: + print WarningMessage( 'cmos.technology: Technology already exists, "%s"' % tech.getName() ) +else: + tech = Technology.create( DataBase.getDB(), 'scn6m_deep_09' ) + +DbU.setPrecision ( 2 ) +DbU.setPhysicalsPerGrid ( 0.005, DbU.UnitPowerMicro ) +DbU.setGridsPerLambda ( 18 ) +DbU.setSymbolicSnapGridStep( DbU.fromLambda( 1.0) ) +DbU.setPolygonStep ( DbU.fromGrid ( 9.0) ) + + +import common +from common.technology import * + +# Redefine all size from the "cmos" common part. +NWELL.setExtentionCap( nWell, l(4.0) ) +PWELL.setExtentionCap( pWell, l(4.0) ) + +NTIE.setMinimalSize ( l( 3.0) ) +NTIE.setExtentionCap ( nWell , l( 3.0) ) +NTIE.setExtentionWidth( nWell , l( 2.0) ) +NTIE.setExtentionCap ( nImplant, l( 2.5) ) +NTIE.setExtentionWidth( nImplant, l( 1.5) ) +NTIE.setExtentionCap ( active , l( 0.5) ) +NTIE.setExtentionWidth( active , l(-0.5) ) + +PTIE.setMinimalSize ( l( 3.0) ) +PTIE.setExtentionCap ( nWell , l( 3.0) ) +PTIE.setExtentionWidth( nWell , l( 2.0) ) +PTIE.setExtentionCap ( nImplant, l( 2.5) ) +PTIE.setExtentionWidth( nImplant, l( 1.5) ) +PTIE.setExtentionCap ( active , l( 0.5) ) +PTIE.setExtentionWidth( active , l(-0.5) ) + +NDIF.setMinimalSize ( l(3.0) ) +NDIF.setExtentionCap ( nImplant, l(4.0) ) +NDIF.setExtentionWidth( nImplant, l(2.0) ) +NDIF.setExtentionCap ( active , l(2.0) ) +NDIF.setExtentionWidth( active , l(0.0) ) + +PDIF.setMinimalSize ( l(3.0) ) +PDIF.setExtentionCap ( pImplant, l(4.0) ) +PDIF.setExtentionWidth( pImplant, l(2.0) ) +PDIF.setExtentionCap ( active , l(2.0) ) +PDIF.setExtentionWidth( active , l(0.0) ) + +GATE.setMinimalSize ( l(2.0) ) +GATE.setExtentionCap ( poly , l(2.5) ) + +NTRANS.setMinimalSize ( l( 2.0) ) +NTRANS.setExtentionCap ( nImplant, l( 2.0) ) +NTRANS.setExtentionWidth( nImplant, l( 7.0) ) +NTRANS.setExtentionCap ( active , l( 0.0) ) +NTRANS.setExtentionWidth( active , l( 3.0) ) +NTRANS.setExtentionCap ( poly , l( 3.0) ) +NTRANS.setExtentionWidth( poly , l( 0.0) ) + +PTRANS.setMinimalSize ( l( 2.0) ) +PTRANS.setExtentionCap ( nWell , l( 2.5) ) +PTRANS.setExtentionWidth( nWell , l( 7.5) ) +PTRANS.setExtentionCap ( pImplant, l( 2.0) ) +PTRANS.setExtentionWidth( pImplant, l( 7.0) ) +PTRANS.setExtentionCap ( active , l( 0.0) ) +PTRANS.setExtentionWidth( active , l( 3.0) ) +PTRANS.setExtentionCap ( poly , l( 3.0) ) +PTRANS.setExtentionWidth( poly , l( 0.0) ) + +POLY .setMinimalSize ( l(2.0) ) +POLY .setExtentionCap ( poly , l(1.0) ) +POLY2.setMinimalSize ( l(2.0) ) +POLY2.setExtentionCap ( poly , l(1.0) ) + +# Routing Layers (symbolic). +METAL1 .setMinimalSize ( l( 2.0) ) +METAL1 .setExtentionCap ( metal1 , l( 2.0) ) +METAL1 .setExtentionWidth( metal1 , l( 1.0) ) +METAL1 .setMinimalSpacing( l( 6.0) ) +METAL2 .setMinimalSize ( l( 4.0) ) +METAL2 .setExtentionCap ( metal2 , l( 2.0) ) +METAL2 .setMinimalSpacing( l( 6.0) ) +METAL3 .setMinimalSize ( l( 4.0) ) +METAL3 .setExtentionCap ( metal3 , l( 2.0) ) +METAL3 .setMinimalSpacing( l( 6.0) ) +METAL4 .setMinimalSize ( l( 4.0) ) +METAL4 .setExtentionCap ( metal4 , l( 2.0) ) +METAL4 .setMinimalSpacing( l( 6.0) ) +METAL5 .setMinimalSize ( l( 4.0) ) +METAL5 .setExtentionCap ( metal5 , l( 2.0) ) +METAL5 .setMinimalSpacing( l( 6.0) ) +METAL6 .setMinimalSize ( l(10.0) ) +METAL6 .setExtentionCap ( metal6 , l( 5.0) ) +METAL6 .setMinimalSpacing( l( 6.0) ) +#METAL7 .setMinimalSize ( l( 2.0) ) +#METAL7 .setExtentionCap ( metal7 , l( 1.0) ) +#METAL8 .setMinimalSize ( l( 2.0) ) +#METAL8 .setExtentionCap ( metal8 , l( 1.0) ) +#METAL9 .setMinimalSize ( l( 2.0) ) +#METAL9 .setExtentionCap ( metal9 , l( 1.0) ) +#METAL10.setMinimalSize ( l( 2.0) ) +#METAL10.setExtentionCap ( metal10 , l( 1.0) ) + +# Contacts (i.e. Active <--> Metal) (symbolic). +CONT_BODY_N.setMinimalSize( l( 2.0) ) +CONT_BODY_N.setEnclosure ( nWell , l( 4.0), Layer.EnclosureH|Layer.EnclosureV ) +CONT_BODY_N.setEnclosure ( nImplant, l( 3.5), Layer.EnclosureH|Layer.EnclosureV ) +CONT_BODY_N.setEnclosure ( active , l( 1.5), Layer.EnclosureH|Layer.EnclosureV ) +CONT_BODY_N.setEnclosure ( metal1 , l( 1.0), Layer.EnclosureH|Layer.EnclosureV ) + +CONT_BODY_P.setMinimalSize( l( 2.0) ) +CONT_BODY_P.setEnclosure ( pWell , l( 4.0), Layer.EnclosureH|Layer.EnclosureV ) +CONT_BODY_P.setEnclosure ( pImplant, l( 3.5), Layer.EnclosureH|Layer.EnclosureV ) +CONT_BODY_P.setEnclosure ( active , l( 1.5), Layer.EnclosureH|Layer.EnclosureV ) +CONT_BODY_P.setEnclosure ( metal1 , l( 1.0), Layer.EnclosureH|Layer.EnclosureV ) + +CONT_DIF_N.setMinimalSize( l( 2.0) ) +CONT_DIF_N.setEnclosure ( nImplant, l( 4.0), Layer.EnclosureH|Layer.EnclosureV ) +CONT_DIF_N.setEnclosure ( active , l( 2.0), Layer.EnclosureH|Layer.EnclosureV ) +CONT_DIF_N.setEnclosure ( metal1 , l( 1.0), Layer.EnclosureH|Layer.EnclosureV ) + +CONT_DIF_P.setMinimalSize( l( 2.0) ) +CONT_DIF_P.setEnclosure ( pImplant, l( 4.0), Layer.EnclosureH|Layer.EnclosureV ) +CONT_DIF_P.setEnclosure ( active , l( 2.0), Layer.EnclosureH|Layer.EnclosureV ) +CONT_DIF_P.setEnclosure ( metal1 , l( 1.0), Layer.EnclosureH|Layer.EnclosureV ) + +CONT_POLY.setMinimalSize( l( 2.0) ) +CONT_POLY.setEnclosure ( poly , l( 2.0), Layer.EnclosureH|Layer.EnclosureV ) +CONT_POLY.setEnclosure ( metal1 , l( 1.0), Layer.EnclosureH|Layer.EnclosureV ) + +# VIAs (i.e. Metal <--> Metal) (symbolic). +VIA12 .setMinimalSize( l( 2.0) ) +VIA12 .setEnclosure ( metal1 , l( 1.0), Layer.EnclosureH|Layer.EnclosureV ) +VIA12 .setEnclosure ( metal2 , l( 1.0), Layer.EnclosureH|Layer.EnclosureV ) +VIA23 .setMinimalSize( l( 2.0) ) +VIA23 .setEnclosure ( metal2 , l( 1.0), Layer.EnclosureH|Layer.EnclosureV ) +VIA23 .setEnclosure ( metal3 , l( 1.0), Layer.EnclosureH|Layer.EnclosureV ) +VIA34 .setMinimalSize( l( 2.0) ) +VIA34 .setEnclosure ( metal3 , l( 1.0), Layer.EnclosureH|Layer.EnclosureV ) +VIA34 .setEnclosure ( metal4 , l( 1.0), Layer.EnclosureH|Layer.EnclosureV ) +VIA45 .setMinimalSize( l( 2.0) ) +VIA45 .setEnclosure ( metal4 , l( 1.0), Layer.EnclosureH|Layer.EnclosureV ) +VIA45 .setEnclosure ( metal5 , l( 1.0), Layer.EnclosureH|Layer.EnclosureV ) +VIA56 .setMinimalSize( l( 5.0) ) +VIA56 .setEnclosure ( metal5 , l( 1.0), Layer.EnclosureH|Layer.EnclosureV ) +VIA56 .setEnclosure ( metal6 , l( 1.5), Layer.EnclosureH|Layer.EnclosureV ) +#VIA67 .setMinimalSize( l( 1.0) ) +#VIA67 .setEnclosure ( metal6 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +#VIA67 .setEnclosure ( metal7 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +#VIA78 .setMinimalSize( l( 1.0) ) +#VIA78 .setEnclosure ( metal7 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +#VIA78 .setEnclosure ( metal8 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +#VIA89 .setMinimalSize( l( 1.0) ) +#VIA89 .setEnclosure ( metal8 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +#VIA89 .setEnclosure ( metal9 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +#VIA910.setMinimalSize( l( 1.0) ) +#VIA910.setEnclosure ( metal9 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +#VIA910.setEnclosure ( metal10 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) + +# Blockages (symbolic). +BLOCKAGE1 .setMinimalSize ( l( 4.0) ) +BLOCKAGE1 .setExtentionCap ( blockage1 , l( 2.0) ) +BLOCKAGE1 .setExtentionWidth( blockage1 , l( 0.5) ) +BLOCKAGE2 .setMinimalSize ( l( 4.0) ) +BLOCKAGE2 .setExtentionCap ( blockage2 , l( 2.0) ) +BLOCKAGE3 .setMinimalSize ( l( 4.0) ) +BLOCKAGE3 .setExtentionCap ( blockage3 , l( 2.0) ) +BLOCKAGE4 .setMinimalSize ( l( 4.0) ) +BLOCKAGE4 .setExtentionCap ( blockage4 , l( 2.0) ) +BLOCKAGE5 .setMinimalSize ( l( 4.0) ) +BLOCKAGE5 .setExtentionCap ( blockage5 , l( 2.0) ) +BLOCKAGE6 .setMinimalSize ( l( 8.0) ) +BLOCKAGE6 .setExtentionCap ( blockage6 , l( 2.5) ) +#BLOCKAGE7 .setMinimalSize ( l( 2.0) ) +#BLOCKAGE7 .setExtentionCap ( blockage7 , l( 1.0) ) +#BLOCKAGE8 .setMinimalSize ( l( 2.0) ) +#BLOCKAGE8 .setExtentionCap ( blockage8 , l( 1.0) ) +#BLOCKAGE9 .setMinimalSize ( l( 2.0) ) +#BLOCKAGE9 .setExtentionCap ( blockage9 , l( 1.0) ) +#BLOCKAGE10.setMinimalSize ( l( 2.0) ) +#BLOCKAGE10.setExtentionCap ( blockage10, l( 1.0) ) + + +gdsLayersTable = \ + [ ("pWell" , "CWN" , 41, 0) + , ("nWell" , "CWP" , 42, 0) + , ("active" , "CAA" , 43, 0) + , ("pImplant", "CSP" , 44, 0) + , ("nImplant", "CSN" , 45, 0) + , ("poly" , "CPG" , 46, 0) + , ("poly2" , "CM1" , 49, 0) # poly2 is in fact metal1. + , ("cut0" , "CCC" , 25, 0) + , ("metal1" , "CM1" , 49, 0) + , ("cut1" , "CV1" , 50, 0) + , ("metal2" , "CM2" , 51, 0) + , ("cut2" , "CV2" , 61, 0) + , ("metal3" , "CM3" , 62, 0) + , ("cut3" , "CV3" , 30, 0) + , ("metal4" , "CM4" , 31, 0) + , ("cut4" , "CV4" , 32, 0) + , ("metal5" , "CM5" , 33, 0) + , ("cut5" , "CV5" , 36, 0) + , ("metal6" , "CM6" , 37, 0) + ] + + +common.loadGdsLayers( gdsLayersTable ) diff --git a/crlcore/etc/symbolic/__init__.py b/crlcore/etc/symbolic/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/crlcore/etc/symbolic/cmos/__init__.py b/crlcore/etc/symbolic/cmos/__init__.py new file mode 100644 index 00000000..df454324 --- /dev/null +++ b/crlcore/etc/symbolic/cmos/__init__.py @@ -0,0 +1,35 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/symbolic/cmos/__init__.py" | +# +-----------------------------------------------------------------+ + + +import Cfg +from Hurricane import DataBase +from CRL import System + +Cfg.Configuration.pushDefaultPriority( Cfg.Parameter.Priority.ConfigurationFile ) + +if not DataBase.getDB(): DataBase.create() +System.get() + +import symbolic.cmos.misc +import symbolic.cmos.technology +import symbolic.cmos.display +import symbolic.cmos.analog +import symbolic.cmos.alliance +import symbolic.cmos.etesian +import symbolic.cmos.kite +import symbolic.cmos.plugins +import symbolic.cmos.stratus1 + +Cfg.Configuration.popDefaultPriority() diff --git a/crlcore/etc/symbolic/cmos/alliance.py b/crlcore/etc/symbolic/cmos/alliance.py new file mode 100644 index 00000000..95450e0c --- /dev/null +++ b/crlcore/etc/symbolic/cmos/alliance.py @@ -0,0 +1,55 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/symbolic/cmos/alliance.py" | +# +-----------------------------------------------------------------+ + + +import os +import os.path +from CRL import Environment +from CRL import AllianceFramework + + +allianceTop = None +if os.environ.has_key('ALLIANCE_TOP'): + allianceTop = os.environ['ALLIANCE_TOP'] + if not os.path.isdir(allianceTop): + allianceTop = None + +if not allianceTop: allianceTop = '/soc/alliance' + +cellsTop = allianceTop+'/cells' + +af = AllianceFramework.get() +env = af.getEnvironment() + +env.setSCALE_X ( 100 ) +env.setCATALOG ( 'CATAL' ) +env.setIN_LO ( 'vst' ) +env.setIN_PH ( 'ap' ) +env.setOUT_LO ( 'vst' ) +env.setOUT_PH ( 'ap' ) +env.setPOWER ( 'vdd' ) +env.setGROUND ( 'vss' ) +env.setCLOCK ( '.*ck.*|.*nck.*' ) +env.setBLOCKAGE ( 'blockage[Nn]et.*' ) +env.setPad ( '.*_px$' ) + +env.setWORKING_LIBRARY( '.' ) +env.addSYSTEM_LIBRARY ( library=cellsTop+'/sxlib' , mode=Environment.Append ) +env.addSYSTEM_LIBRARY ( library=cellsTop+'/dp_sxlib', mode=Environment.Append ) +env.addSYSTEM_LIBRARY ( library=cellsTop+'/ramlib' , mode=Environment.Append ) +env.addSYSTEM_LIBRARY ( library=cellsTop+'/romlib' , mode=Environment.Append ) +env.addSYSTEM_LIBRARY ( library=cellsTop+'/rflib' , mode=Environment.Append ) +env.addSYSTEM_LIBRARY ( library=cellsTop+'/rf2lib' , mode=Environment.Append ) +env.addSYSTEM_LIBRARY ( library=cellsTop+'/pxlib' , mode=Environment.Append ) +env.addSYSTEM_LIBRARY ( library=cellsTop+'/padlib' , mode=Environment.Append ) diff --git a/crlcore/etc/symbolic/cmos/analog.py b/crlcore/etc/symbolic/cmos/analog.py new file mode 100644 index 00000000..ba5cdd26 --- /dev/null +++ b/crlcore/etc/symbolic/cmos/analog.py @@ -0,0 +1,16 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/symbolic/cmos/analog.py" | +# +-----------------------------------------------------------------+ + + +import common.analog diff --git a/crlcore/etc/symbolic/cmos/display.py b/crlcore/etc/symbolic/cmos/display.py new file mode 100644 index 00000000..5d04aa06 --- /dev/null +++ b/crlcore/etc/symbolic/cmos/display.py @@ -0,0 +1,19 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/symbolic/cmos/display.py" | +# +-----------------------------------------------------------------+ + + +import common.display + + +common.display.createStyles( scale=1.0 ) diff --git a/crlcore/etc/symbolic/cmos/etesian.py b/crlcore/etc/symbolic/cmos/etesian.py new file mode 100644 index 00000000..7e380e25 --- /dev/null +++ b/crlcore/etc/symbolic/cmos/etesian.py @@ -0,0 +1,16 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/symbolic/cmos/etesian.py" | +# +-----------------------------------------------------------------+ + + +import common.etesian diff --git a/crlcore/etc/symbolic/cmos/kite.py b/crlcore/etc/symbolic/cmos/kite.py new file mode 100644 index 00000000..1a325478 --- /dev/null +++ b/crlcore/etc/symbolic/cmos/kite.py @@ -0,0 +1,184 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/symbolic/cmos/kite.py" | +# +-----------------------------------------------------------------+ + + +import Cfg +from Hurricane import DataBase +from CRL import AllianceFramework +from CRL import RoutingGauge +from CRL import RoutingLayerGauge +from CRL import CellGauge +import helpers +from helpers import l, n, u +import common.kite + + +p = Cfg.getParamDouble ( 'lefImport.minTerminalWidth' ).setDouble ( 0.0 ) +p = Cfg.getParamString ( 'katabatic.routingGauge' ).setString ( 'sxlib' ) +p = Cfg.getParamInt ( "katabatic.globalLengthThreshold" ).setInt ( 1450 ) +p = Cfg.getParamPercentage( "katabatic.saturateRatio" ).setPercentage( 80 ) +p = Cfg.getParamInt ( "katabatic.saturateRp" ).setInt ( 8 ) +p = Cfg.getParamString ( 'katabatic.topRoutingLayer' ).setString ( 'METAL5' ) + + # Kite parameters. +p = Cfg.getParamInt( "kite.hTracksReservedLocal" ); p.setInt( 3 ); p.setMin( 0 ); p.setMax( 20 ) +p = Cfg.getParamInt( "kite.vTracksReservedLocal" ); p.setInt( 3 ); p.setMin( 0 ); p.setMax( 20 ) +p = Cfg.getParamInt( "kite.eventsLimit" ); p.setInt( 4000002 ) +p = Cfg.getParamInt( "kite.ripupCost" ); p.setInt( 3 ); p.setMin( 0 ) +p = Cfg.getParamInt( "kite.strapRipupLimit" ); p.setInt( 16 ); p.setMin( 1 ) +p = Cfg.getParamInt( "kite.localRipupLimit" ); p.setInt( 9 ); p.setMin( 1 ) +p = Cfg.getParamInt( "kite.globalRipupLimit" ); p.setInt( 5 ); p.setMin( 1 ) +p = Cfg.getParamInt( "kite.longGlobalRipupLimit" ); p.setInt( 5 ); p.setMin( 1 ) + +# Anabatic & Katana parameters are temporarily hosted here. +p = Cfg.getParamString ( 'anabatic.routingGauge' ); p.setString ( 'sxlib' ) +p = Cfg.getParamInt ( "anabatic.globalLengthThreshold" ); p.setInt ( 1450 ) +p = Cfg.getParamPercentage( "anabatic.saturateRatio" ); p.setPercentage( 80 ) +p = Cfg.getParamInt ( "anabatic.saturateRp" ); p.setInt ( 8 ) +p = Cfg.getParamString ( 'anabatic.topRoutingLayer' ); p.setString ( 'METAL5' ) +p = Cfg.getParamInt ( "anabatic.edgeLength" ); p.setInt ( 24 ) +p = Cfg.getParamInt ( "anabatic.edgeWidth" ); p.setInt ( 4 ) +p = Cfg.getParamDouble ( "anabatic.edgeCostH" ); p.setDouble ( 19.0 ) +p = Cfg.getParamDouble ( "anabatic.edgeCostK" ); p.setDouble ( -60.0 ) +p = Cfg.getParamDouble ( "anabatic.edgeHScaling" ); p.setDouble ( 1.0 ) +p = Cfg.getParamInt ( "anabatic.globalIterations" ); p.setInt ( 10 ); p.setMin(1); p.setMax(100) +p = Cfg.getParamEnumerate ( "anabatic.gcell.displayMode" ); p.setInt ( 1 ) +p.addValue( "Boundary", 1 ) +p.addValue( "Density" , 2 ) + +p = Cfg.getParamInt ( "katana.hTracksReservedLocal" ); p.setInt ( 3 ); p.setMin(0); p.setMax(20) +p = Cfg.getParamInt ( "katana.vTracksReservedLocal" ); p.setInt ( 3 ); p.setMin(0); p.setMax(20) +p = Cfg.getParamInt ( "katana.termSatReservedLocal" ); p.setInt ( 8 ) +p = Cfg.getParamInt ( "katana.termSatThreshold" ); p.setInt ( 9 ) +p = Cfg.getParamInt ( "katana.eventsLimit" ); p.setInt ( 4000002 ) +p = Cfg.getParamInt ( "katana.ripupCost" ); p.setInt ( 3 ); p.setMin(0) +p = Cfg.getParamInt ( "katana.strapRipupLimit" ); p.setInt ( 16 ); p.setMin(1) +p = Cfg.getParamInt ( "katana.localRipupLimit" ); p.setInt ( 9 ); p.setMin(1) +p = Cfg.getParamInt ( "katana.globalRipupLimit" ); p.setInt ( 5 ); p.setMin(1) +p = Cfg.getParamInt ( "katana.longGlobalRipupLimit" ); p.setInt ( 5 ); p.setMin(1) +p = Cfg.getParamString( 'chip.padCoreSide' ); p.setString( 'South' ) + + +tech = DataBase.getDB().getTechnology() +af = AllianceFramework.get() +rg = RoutingGauge.create( 'sxlib' ) + +rg.addLayerGauge( RoutingLayerGauge.create( tech.getLayer('METAL1') # metal. + , RoutingLayerGauge.Vertical # preferred routing direction. + , RoutingLayerGauge.PinOnly # layer usage. + , 0 # depth. + , 0.0 # density (deprecated). + , l(0) # track offset from AB. + , l(5) # track pitch. + , l(2) # wire width. + , l(1) # VIA side (that is VIA12). + , l(4) # obstacle dW. + ) ) + +rg.addLayerGauge( RoutingLayerGauge.create( tech.getLayer('METAL2') # metal. + , RoutingLayerGauge.Horizontal # preferred routing direction. + , RoutingLayerGauge.Default # layer usage. + , 1 # depth. + , 0.0 # density (deprecated). + , l(0) # track offset from AB. + , l(5) # track pitch. + , l(2) # wire width. + , l(1) # VIA side (that is VIA23). + , l(4) # obstacle dW. + ) ) + +rg.addLayerGauge( RoutingLayerGauge.create( tech.getLayer('METAL3') # metal. + , RoutingLayerGauge.Vertical # preferred routing direction. + , RoutingLayerGauge.Default # layer usage. + , 2 # depth. + , 0.0 # density (deprecated). + , l(0) # track offset from AB. + , l(5) # track pitch. + , l(2) # wire width. + , l(1) # VIA side (that is VIA34). + , l(4) # obstacle dW. + ) ) + +rg.addLayerGauge( RoutingLayerGauge.create( tech.getLayer('METAL4') # metal. + , RoutingLayerGauge.Horizontal # preferred routing direction. + , RoutingLayerGauge.Default # layer usage. + , 3 # depth. + , 0.0 # density (deprecated). + , l(0) # track offset from AB. + , l(5) # track pitch. + , l(2) # wire width. + , l(1) # VIA side (that is VIA23). + , l(4) # obstacle dW. + ) ) + +rg.addLayerGauge( RoutingLayerGauge.create( tech.getLayer('METAL5') # metal. + , RoutingLayerGauge.Vertical # preferred routing direction. + , RoutingLayerGauge.Default # layer usage. + , 4 # depth. + , 0.0 # density (deprecated). + , l(0) # track offset from AB. + , l(5) # track pitch. + , l(2) # wire width. + , l(1) # VIA side (that is VIA23). + , l(4) # obstacle dW. + ) ) + +af.addRoutingGauge( rg ) + +rg = RoutingGauge.create( 'sxlib-2M' ) + +rg.addLayerGauge( RoutingLayerGauge.create( tech.getLayer('METAL1') # metal. + , RoutingLayerGauge.Vertical # preferred routing direction. + , RoutingLayerGauge.PinOnly # layer usage. + , 0 # depth. + , 0.0 # density (deprecated). + , l(0) # track offset from AB. + , l(5) # track pitch. + , l(2) # wire width. + , l(1) # VIA side (that is VIA12). + , l(4) # obstacle dW. + ) ) + +rg.addLayerGauge( RoutingLayerGauge.create( tech.getLayer('METAL2') # metal. + , RoutingLayerGauge.Horizontal # preferred routing direction. + , RoutingLayerGauge.Default # layer usage. + , 1 # depth. + , 0.0 # density (deprecated). + , l(0) # track offset from AB. + , l(5) # track pitch. + , l(2) # wire width. + , l(1) # VIA side (that is VIA23). + , l(4) # obstacle dW. + ) ) + +af.addRoutingGauge( rg ) +af.setRoutingGauge( 'sxlib' ) + +# Gauge for standard cells. +cg = CellGauge.create( 'sxlib' + , 'metal2' # pin layer name. + , l( 5.0) # pitch. + , l( 50.0) # cell slice height. + , l( 5.0) # cell slice step. + ) +af.addCellGauge( cg ) + +# Gauge for Alliance symbolic I/O pads. +cg = CellGauge.create( 'pxlib' + , 'metal2' # pin layer name. + , l( 5.0) # pitch. + , l(400.0) # cell slice height. + , l(200.0) # cell slice step. + ) +af.addCellGauge( cg ) diff --git a/crlcore/etc/symbolic/cmos/misc.py b/crlcore/etc/symbolic/cmos/misc.py new file mode 100644 index 00000000..a1d731f7 --- /dev/null +++ b/crlcore/etc/symbolic/cmos/misc.py @@ -0,0 +1,16 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/symbolic/cmos/misc.py" | +# +-----------------------------------------------------------------+ + + +import common.misc diff --git a/crlcore/etc/symbolic/cmos/patterns.py b/crlcore/etc/symbolic/cmos/patterns.py new file mode 100644 index 00000000..84059a1a --- /dev/null +++ b/crlcore/etc/symbolic/cmos/patterns.py @@ -0,0 +1,16 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/symbolic/cmos/patterns.py" | +# +-----------------------------------------------------------------+ + + +import common.patterns diff --git a/crlcore/etc/symbolic/cmos/plugins.py b/crlcore/etc/symbolic/cmos/plugins.py new file mode 100644 index 00000000..3a65e050 --- /dev/null +++ b/crlcore/etc/symbolic/cmos/plugins.py @@ -0,0 +1,27 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/symbolic/cmos/plugins.py" | +# +-----------------------------------------------------------------+ + + +import Cfg +from helpers import l, u, n + + +Cfg.getParamInt ( "chip.block.rails.count" ).setInt ( 5 ) +Cfg.getParamInt ( "chip.block.rails.hWidth" ).setInt ( l( 12) ) +Cfg.getParamInt ( "chip.block.rails.vWidth" ).setInt ( l( 12) ) +Cfg.getParamInt ( "chip.block.rails.hSpacing" ).setInt ( l( 6) ) +Cfg.getParamInt ( "chip.block.rails.vSpacing" ).setInt ( l( 6) ) +Cfg.getParamInt ( 'clockTree.minimumSide' ).setInt ( l(600) ) +Cfg.getParamString( 'clockTree.buffer' ).setString( 'buf_x2') +Cfg.getParamString( 'clockTree.placerEngine' ).setString( 'Etesian') diff --git a/crlcore/etc/symbolic/cmos/stratus1.py b/crlcore/etc/symbolic/cmos/stratus1.py new file mode 100644 index 00000000..5c0537a2 --- /dev/null +++ b/crlcore/etc/symbolic/cmos/stratus1.py @@ -0,0 +1,24 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/symbolic/cmos/stratus1.py" | +# +-----------------------------------------------------------------+ + + +import os.path +import Cfg +import helpers +import common.stratus1 + + +Cfg.getParamString( "stratus1.format" ).setString( "vst" ) +Cfg.getParamString( "stratus1.simulator" ).setString( "asimut" ) +Cfg.getParamString( "stratus1.mappingName" ).setString( os.path.join(helpers.sysConfDir,'symbolic/cmos/stratus2sxlib.xml') ) diff --git a/crlcore/etc/symbolic/cmos/technology.py b/crlcore/etc/symbolic/cmos/technology.py new file mode 100644 index 00000000..9c9a84b5 --- /dev/null +++ b/crlcore/etc/symbolic/cmos/technology.py @@ -0,0 +1,59 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/symbolic/cmos/technology.py" | +# +-----------------------------------------------------------------+ + + +from helpers import l, u, n +from Hurricane import DbU +from Hurricane import DataBase +from Hurricane import Technology + + +tech = DataBase.getDB().getTechnology() +if tech: + print WarningMessage( 'cmos.technology: Technology already exists, "%s"' % tech.getName() ) +else: + tech = Technology.create( DataBase.getDB(), 'cmos' ) + +DbU.setPrecision ( 2 ) +DbU.setPhysicalsPerGrid ( 0.5, DbU.UnitPowerMicro ) +DbU.setGridsPerLambda ( 2 ) +DbU.setSymbolicSnapGridStep( DbU.fromLambda(1.0) ) +DbU.setPolygonStep ( DbU.fromGrid (2.0) ) + + +import common.technology + + +gdsLayersTable = \ + [ ("nWell" , "LNWELL" , 1, 0) + , ("nImplant", "LNIF" , 3, 0) + , ("pImplant", "LPDIF" , 4, 0) + , ("active" , "LACTIVE" , 2, 0) + , ("poly" , "LPOLY" , 7, 0) + , ("cut0" , "LCONT" , 10, 0) + , ("metal1" , "LALU1" , 11, 0) + , ("cut1" , "LVIA" , 14, 0) + , ("metal2" , "LALU2" , 16, 0) + , ("cut2" , "LVIA2" , 18, 0) + , ("metal3" , "LALU3" , 19, 0) + , ("cut3" , "LVIA3" , 21, 0) + , ("metal4" , "LALU4" , 22, 0) + , ("cut4" , "LVIA4" , 25, 0) + , ("metal5" , "LALU5" , 26, 0) + , ("cut5" , "LVIA5" , 28, 0) + , ("metal6" , "LALU6" , 29, 0) + ] + + +common.loadGdsLayers( gdsLayersTable ) diff --git a/crlcore/etc/symbolic/cmos45/__init__.py b/crlcore/etc/symbolic/cmos45/__init__.py new file mode 100644 index 00000000..f9d0887d --- /dev/null +++ b/crlcore/etc/symbolic/cmos45/__init__.py @@ -0,0 +1,35 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/symbolic/cmos45/__init__.py" | +# +-----------------------------------------------------------------+ + + +import Cfg +from Hurricane import DataBase +from CRL import System + +Cfg.Configuration.pushDefaultPriority( Cfg.Parameter.Priority.ConfigurationFile ) + +DataBase.create() +System.get() + +import symbolic.cmos45.misc +import symbolic.cmos45.technology +import symbolic.cmos45.display +import symbolic.cmos45.analog +import symbolic.cmos45.alliance +import symbolic.cmos45.etesian +import symbolic.cmos45.kite +import symbolic.cmos45.plugins +import symbolic.cmos45.stratus1 + +Cfg.Configuration.popDefaultPriority() diff --git a/crlcore/etc/symbolic/cmos45/alliance.py b/crlcore/etc/symbolic/cmos45/alliance.py new file mode 100644 index 00000000..b7574946 --- /dev/null +++ b/crlcore/etc/symbolic/cmos45/alliance.py @@ -0,0 +1,49 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/symbolic/cmos/alliance.py" | +# +-----------------------------------------------------------------+ + + +import os +import os.path +from CRL import Environment +from CRL import AllianceFramework + + +allianceTop = None +if os.environ.has_key('ALLIANCE_TOP'): + allianceTop = os.environ['ALLIANCE_TOP'] + if not os.path.isdir(allianceTop): + allianceTop = None + +if not allianceTop: allianceTop = '/soc/alliance' + +cellsTop = allianceTop+'/cells' + +af = AllianceFramework.get() +env = af.getEnvironment() + +env.setSCALE_X ( 100 ) +env.setCATALOG ( 'CATAL' ) +env.setIN_LO ( 'vst' ) +env.setIN_PH ( 'ap' ) +env.setOUT_LO ( 'vst' ) +env.setOUT_PH ( 'ap' ) +env.setPOWER ( 'vdd' ) +env.setGROUND ( 'vss' ) +env.setCLOCK ( '.*ck.*|.*nck.*' ) +env.setBLOCKAGE ( 'blockage[Nn]et.*' ) +env.setPad ( '.*_mpx$' ) + +env.setWORKING_LIBRARY( '.' ) +env.addSYSTEM_LIBRARY ( library=cellsTop+'/nsxlib', mode=Environment.Append ) +env.addSYSTEM_LIBRARY ( library=cellsTop+'/mpxlib', mode=Environment.Append ) diff --git a/crlcore/etc/symbolic/cmos45/analog.py b/crlcore/etc/symbolic/cmos45/analog.py new file mode 100644 index 00000000..ba5cdd26 --- /dev/null +++ b/crlcore/etc/symbolic/cmos45/analog.py @@ -0,0 +1,16 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/symbolic/cmos/analog.py" | +# +-----------------------------------------------------------------+ + + +import common.analog diff --git a/crlcore/etc/symbolic/cmos45/display.py b/crlcore/etc/symbolic/cmos45/display.py new file mode 100644 index 00000000..dff46448 --- /dev/null +++ b/crlcore/etc/symbolic/cmos45/display.py @@ -0,0 +1,19 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/symbolic/cmos/display.py" | +# +-----------------------------------------------------------------+ + + +import common.display + + +common.display.createStyles( scale=0.5 ) diff --git a/crlcore/etc/symbolic/cmos45/etesian.py b/crlcore/etc/symbolic/cmos45/etesian.py new file mode 100644 index 00000000..7e380e25 --- /dev/null +++ b/crlcore/etc/symbolic/cmos45/etesian.py @@ -0,0 +1,16 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/symbolic/cmos/etesian.py" | +# +-----------------------------------------------------------------+ + + +import common.etesian diff --git a/crlcore/etc/symbolic/cmos45/kite.conf b/crlcore/etc/symbolic/cmos45/kite.conf index 9177fe25..6920eacb 100644 --- a/crlcore/etc/symbolic/cmos45/kite.conf +++ b/crlcore/etc/symbolic/cmos45/kite.conf @@ -67,7 +67,7 @@ routingGaugesTable['msxlib'] = \ routingGaugesTable['msxlib4'] = \ ( ( 'METAL1' , ( Gauge.Vertical , Gauge.PinOnly, 0, 0.0, l(0), l(10), l(3), l(2), l(7) ) ) , ( 'METAL2' , ( Gauge.Horizontal, Gauge.Default, 1, 0.0, l(0), l(10), l(3), l(2), l(8) ) ) - , ( 'METAL3' , ( Gauge.Vertical , Gauge.Default, 2, 0.0, l(0), l(10), l(3), l(2), l(8) ) ) + , ( 'METAL3' , ( Gauge.Vertical , Gauge.Default, 2, 0.0, l(0), l( 8), l(3), l(2), l(8) ) ) , ( 'METAL4' , ( Gauge.Horizontal, Gauge.Default, 3, 0.0, l(0), l(10), l(3), l(2), l(8) ) ) ) diff --git a/crlcore/etc/symbolic/cmos45/kite.py b/crlcore/etc/symbolic/cmos45/kite.py new file mode 100644 index 00000000..89d6ce2f --- /dev/null +++ b/crlcore/etc/symbolic/cmos45/kite.py @@ -0,0 +1,257 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/symbolic/cmos/kite.py" | +# +-----------------------------------------------------------------+ + + +import Cfg +from Hurricane import DataBase +from CRL import AllianceFramework +from CRL import RoutingGauge +from CRL import RoutingLayerGauge +from CRL import CellGauge +import helpers +from helpers import l, n, u +import common.kite + + +p = Cfg.getParamDouble ( 'lefImport.minTerminalWidth' ).setDouble ( 0.0 ) +p = Cfg.getParamString ( 'katabatic.routingGauge' ).setString ( 'sxlib' ) +p = Cfg.getParamInt ( "katabatic.globalLengthThreshold" ).setInt ( 1450 ) +p = Cfg.getParamPercentage( "katabatic.saturateRatio" ).setPercentage( 80 ) +p = Cfg.getParamInt ( "katabatic.saturateRp" ).setInt ( 8 ) +p = Cfg.getParamString ( 'katabatic.topRoutingLayer' ).setString ( 'METAL6' ) + + # Kite parameters. +p = Cfg.getParamInt( "kite.hTracksReservedLocal" ); p.setInt( 4 ); p.setMin( 0 ); p.setMax( 18 ) +p = Cfg.getParamInt( "kite.vTracksReservedLocal" ); p.setInt( 3 ); p.setMin( 0 ); p.setMax( 18 ) +p = Cfg.getParamInt( "kite.eventsLimit" ); p.setInt( 4000002 ) +p = Cfg.getParamInt( "kite.ripupCost" ); p.setInt( 3 ); p.setMin( 0 ) +p = Cfg.getParamInt( "kite.strapRipupLimit" ); p.setInt( 16 ); p.setMin( 1 ) +p = Cfg.getParamInt( "kite.localRipupLimit" ); p.setInt( 9 ); p.setMin( 1 ) +p = Cfg.getParamInt( "kite.globalRipupLimit" ); p.setInt( 5 ); p.setMin( 1 ) +p = Cfg.getParamInt( "kite.longGlobalRipupLimit" ); p.setInt( 5 ); p.setMin( 1 ) + +# Anabatic & Katana parameters are temporarily hosted here. +p = Cfg.getParamString ( 'anabatic.routingGauge' ); p.setString ( 'msxlib' ) +p = Cfg.getParamInt ( "anabatic.globalLengthThreshold" ); p.setInt ( 1450 ) +p = Cfg.getParamPercentage( "anabatic.saturateRatio" ); p.setPercentage( 80 ) +p = Cfg.getParamInt ( "anabatic.saturateRp" ); p.setInt ( 8 ) +p = Cfg.getParamString ( 'anabatic.topRoutingLayer' ); p.setString ( 'METAL5' ) +p = Cfg.getParamInt ( "anabatic.edgeLength" ); p.setInt ( 48 ) +p = Cfg.getParamInt ( "anabatic.edgeWidth" ); p.setInt ( 8 ) +p = Cfg.getParamDouble ( "anabatic.edgeCostH" ); p.setDouble ( 19.0 ) +p = Cfg.getParamDouble ( "anabatic.edgeCostK" ); p.setDouble ( -60.0 ) +p = Cfg.getParamDouble ( "anabatic.edgeHInc" ); p.setDouble ( 1.0 ) +p = Cfg.getParamDouble ( "anabatic.edgeHScaling" ); p.setDouble ( 1.0 ) +p = Cfg.getParamInt ( "anabatic.globalIterations" ); p.setInt ( 10 ); p.setMin(1); p.setMax(100) +p = Cfg.getParamEnumerate ( "anabatic.gcell.displayMode" ); p.setInt ( 1 ) +p.addValue( "Boundary", 1 ) +p.addValue( "Density" , 2 ) + +p = Cfg.getParamInt ( "katana.hTracksReservedLocal" ); p.setInt ( 3 ); p.setMin(0); p.setMax(20) +p = Cfg.getParamInt ( "katana.vTracksReservedLocal" ); p.setInt ( 3 ); p.setMin(0); p.setMax(20) +p = Cfg.getParamInt ( "katana.termSatReservedLocal" ); p.setInt ( 8 ) +p = Cfg.getParamInt ( "katana.termSatThreshold" ); p.setInt ( 9 ) +p = Cfg.getParamInt ( "katana.eventsLimit" ); p.setInt ( 4000002 ) +p = Cfg.getParamInt ( "katana.ripupCost" ); p.setInt ( 3 ); p.setMin(0) +p = Cfg.getParamInt ( "katana.strapRipupLimit" ); p.setInt ( 16 ); p.setMin(1) +p = Cfg.getParamInt ( "katana.localRipupLimit" ); p.setInt ( 9 ); p.setMin(1) +p = Cfg.getParamInt ( "katana.globalRipupLimit" ); p.setInt ( 5 ); p.setMin(1) +p = Cfg.getParamInt ( "katana.longGlobalRipupLimit" ); p.setInt ( 5 ); p.setMin(1) +p = Cfg.getParamString( 'chip.padCoreSide' ); p.setString( 'South' ) + + +tech = DataBase.getDB().getTechnology() +af = AllianceFramework.get() +rg = RoutingGauge.create( 'msxlib' ) + +rg.addLayerGauge( RoutingLayerGauge.create( tech.getLayer('METAL1') # metal. + , RoutingLayerGauge.Vertical # preferred routing direction. + , RoutingLayerGauge.PinOnly # layer usage. + , 0 # depth. + , 0.0 # density (deprecated). + , l(0) # track offset from AB. + , l(10) # track pitch. + , l(3) # wire width. + , l(2) # VIA side (that is VIA12). + , l(7) # obstacle dW. + ) ) + +rg.addLayerGauge( RoutingLayerGauge.create( tech.getLayer('METAL2') # metal. + , RoutingLayerGauge.Horizontal # preferred routing direction. + , RoutingLayerGauge.Default # layer usage. + , 1 # depth. + , 0.0 # density (deprecated). + , l(0) # track offset from AB. + , l(10) # track pitch. + , l(3) # wire width. + , l(2) # VIA side (that is VIA23). + , l(8) # obstacle dW. + ) ) + +rg.addLayerGauge( RoutingLayerGauge.create( tech.getLayer('METAL3') # metal. + , RoutingLayerGauge.Vertical # preferred routing direction. + , RoutingLayerGauge.Default # layer usage. + , 2 # depth. + , 0.0 # density (deprecated). + , l(0) # track offset from AB. + , l(10) # track pitch. + , l(3) # wire width. + , l(2) # VIA side (that is VIA34). + , l(8) # obstacle dW. + ) ) + +rg.addLayerGauge( RoutingLayerGauge.create( tech.getLayer('METAL4') # metal. + , RoutingLayerGauge.Horizontal # preferred routing direction. + , RoutingLayerGauge.Default # layer usage. + , 3 # depth. + , 0.0 # density (deprecated). + , l(0) # track offset from AB. + , l(15) # track pitch. + , l(6) # wire width. + , l(4) # VIA side (that is VIA23). + , l(8) # obstacle dW. + ) ) + +rg.addLayerGauge( RoutingLayerGauge.create( tech.getLayer('METAL5') # metal. + , RoutingLayerGauge.Vertical # preferred routing direction. + , RoutingLayerGauge.Default # layer usage. + , 4 # depth. + , 0.0 # density (deprecated). + , l(0) # track offset from AB. + , l(15) # track pitch. + , l(6) # wire width. + , l(4) # VIA side (that is VIA23). + , l(8) # obstacle dW. + ) ) + +rg.addLayerGauge( RoutingLayerGauge.create( tech.getLayer('METAL6') # metal. + , RoutingLayerGauge.Horizontal # preferred routing direction. + , RoutingLayerGauge.Default # layer usage. + , 5 # depth. + , 0.0 # density (deprecated). + , l(0) # track offset from AB. + , l(15) # track pitch. + , l(6) # wire width. + , l(4) # VIA side (that is VIA23). + , l(8) # obstacle dW. + ) ) + +af.addRoutingGauge( rg ) + +rg = RoutingGauge.create( 'msxlib4' ) + +rg.addLayerGauge( RoutingLayerGauge.create( tech.getLayer('METAL1') # metal. + , RoutingLayerGauge.Vertical # preferred routing direction. + , RoutingLayerGauge.PinOnly # layer usage. + , 0 # depth. + , 0.0 # density (deprecated). + , l(0) # track offset from AB. + , l(10) # track pitch. + , l(3) # wire width. + , l(2) # VIA side (that is VIA12). + , l(7) # obstacle dW. + ) ) + +rg.addLayerGauge( RoutingLayerGauge.create( tech.getLayer('METAL2') # metal. + , RoutingLayerGauge.Horizontal # preferred routing direction. + , RoutingLayerGauge.Default # layer usage. + , 1 # depth. + , 0.0 # density (deprecated). + , l(0) # track offset from AB. + , l(10) # track pitch. + , l(3) # wire width. + , l(2) # VIA side (that is VIA23). + , l(8) # obstacle dW. + ) ) + +rg.addLayerGauge( RoutingLayerGauge.create( tech.getLayer('METAL3') # metal. + , RoutingLayerGauge.Vertical # preferred routing direction. + , RoutingLayerGauge.Default # layer usage. + , 2 # depth. + , 0.0 # density (deprecated). + , l(0) # track offset from AB. + , l(8) # track pitch. + , l(3) # wire width. + , l(2) # VIA side (that is VIA12). + , l(8) # obstacle dW. + ) ) + +rg.addLayerGauge( RoutingLayerGauge.create( tech.getLayer('METAL4') # metal. + , RoutingLayerGauge.Horizontal # preferred routing direction. + , RoutingLayerGauge.Default # layer usage. + , 3 # depth. + , 0.0 # density (deprecated). + , l(0) # track offset from AB. + , l(10) # track pitch. + , l(3) # wire width. + , l(2) # VIA side (that is VIA23). + , l(8) # obstacle dW. + ) ) + +af.addRoutingGauge( rg ) + +rg = RoutingGauge.create( 'msxlib-2M' ) + +rg.addLayerGauge( RoutingLayerGauge.create( tech.getLayer('METAL1') # metal. + , RoutingLayerGauge.Vertical # preferred routing direction. + , RoutingLayerGauge.PinOnly # layer usage. + , 0 # depth. + , 0.0 # density (deprecated). + , l(0) # track offset from AB. + , l(10) # track pitch. + , l(3) # wire width. + , l(3) # VIA side (that is VIA12). + , l(7) # obstacle dW. + ) ) + +rg.addLayerGauge( RoutingLayerGauge.create( tech.getLayer('METAL2') # metal. + , RoutingLayerGauge.Horizontal # preferred routing direction. + , RoutingLayerGauge.Default # layer usage. + , 1 # depth. + , 0.0 # density (deprecated). + , l(0) # track offset from AB. + , l(10) # track pitch. + , l(3) # wire width. + , l(3) # VIA side (that is VIA23). + , l(8) # obstacle dW. + ) ) + +af.addRoutingGauge( rg ) + +af.setRoutingGauge( 'msxlib' ) + +# Gauge for standard cells. +cg = CellGauge.create( 'msxlib' + , 'metal2' # pin layer name. + , l( 10.0) # pitch. + , l(100.0) # cell slice height. + , l( 10.0) # cell slice step. + ) +af.addCellGauge( cg ) +cg = CellGauge.create( 'msxlib4' + , 'metal2' # pin layer name. + , l( 10.0) # pitch. + , l(100.0) # cell slice height. + , l( 10.0) # cell slice step. + ) +af.addCellGauge( cg ) + +# Gauge for Alliance symbolic I/O pads. +cg = CellGauge.create( 'phlib80' + , 'metal2' # pin layer name. + , l( 10.0) # pitch. + , l(312.0) # cell slice height. + , l(246.0) # cell slice step. + ) +af.addCellGauge( cg ) diff --git a/crlcore/etc/symbolic/cmos45/misc.py b/crlcore/etc/symbolic/cmos45/misc.py new file mode 100644 index 00000000..a1d731f7 --- /dev/null +++ b/crlcore/etc/symbolic/cmos45/misc.py @@ -0,0 +1,16 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/symbolic/cmos/misc.py" | +# +-----------------------------------------------------------------+ + + +import common.misc diff --git a/crlcore/etc/symbolic/cmos45/patterns.py b/crlcore/etc/symbolic/cmos45/patterns.py new file mode 100644 index 00000000..84059a1a --- /dev/null +++ b/crlcore/etc/symbolic/cmos45/patterns.py @@ -0,0 +1,16 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/symbolic/cmos/patterns.py" | +# +-----------------------------------------------------------------+ + + +import common.patterns diff --git a/crlcore/etc/symbolic/cmos45/plugins.py b/crlcore/etc/symbolic/cmos45/plugins.py new file mode 100644 index 00000000..40038509 --- /dev/null +++ b/crlcore/etc/symbolic/cmos45/plugins.py @@ -0,0 +1,27 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/symbolic/cmos/plugins.py" | +# +-----------------------------------------------------------------+ + + +import Cfg +from helpers import l, u, n + + +Cfg.getParamInt ( "chip.block.rails.count" ).setInt ( 5 ) +Cfg.getParamInt ( "chip.block.rails.hWidth" ).setInt ( l( 24) ) +Cfg.getParamInt ( "chip.block.rails.vWidth" ).setInt ( l( 24) ) +Cfg.getParamInt ( "chip.block.rails.hSpacing" ).setInt ( l( 12) ) +Cfg.getParamInt ( "chip.block.rails.vSpacing" ).setInt ( l( 12) ) +Cfg.getParamInt ( 'clockTree.minimumSide' ).setInt ( l(1200) ) +Cfg.getParamString( 'clockTree.buffer' ).setString( 'buf_x2') +Cfg.getParamString( 'clockTree.placerEngine' ).setString( 'Etesian') diff --git a/crlcore/etc/symbolic/cmos45/stratus1.py b/crlcore/etc/symbolic/cmos45/stratus1.py new file mode 100644 index 00000000..c29ec792 --- /dev/null +++ b/crlcore/etc/symbolic/cmos45/stratus1.py @@ -0,0 +1,21 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/symbolic/cmos/stratus1.py" | +# +-----------------------------------------------------------------+ + + +import Cfg +import common.stratus1 + + +Cfg.getParamString( "stratus1.format" ).setString( "vst" ) +Cfg.getParamString( "stratus1.simulator" ).setString( "asimut" ) diff --git a/crlcore/etc/symbolic/cmos45/technology.py b/crlcore/etc/symbolic/cmos45/technology.py new file mode 100644 index 00000000..26c887cc --- /dev/null +++ b/crlcore/etc/symbolic/cmos45/technology.py @@ -0,0 +1,228 @@ + +# This file is part of the Coriolis Software. +# Copyright (c) UPMC 2019-2019, All Rights Reserved +# +# +-----------------------------------------------------------------+ +# | C O R I O L I S | +# | Alliance / Hurricane Interface | +# | | +# | Author : Jean-Paul CHAPUT | +# | E-mail : Jean-Paul.Chaput@lip6.fr | +# | =============================================================== | +# | Python : "./etc/symbolic/cmos/technology.py" | +# +-----------------------------------------------------------------+ + + +from helpers import l, u, n +from Hurricane import DbU +from Hurricane import DataBase +from Hurricane import Technology + + +tech = DataBase.getDB().getTechnology() +if tech: + print WarningMessage( 'cmos.technology: Technology already exists, "%s"' % tech.getName() ) +else: + tech = Technology.create( DataBase.getDB(), 'cmos45' ) + +DbU.setPrecision ( 2 ) +DbU.setPhysicalsPerGrid ( 0.0025, DbU.UnitPowerMicro ) +DbU.setGridsPerLambda ( 10 ) +DbU.setSymbolicSnapGridStep( DbU.fromLambda( 1.0) ) +DbU.setPolygonStep ( DbU.fromGrid (10.0) ) + + +import common +from common.technology import * + +# Redefine all size from the "cmos" common part. +NWELL.setExtentionCap( nWell, l(4.0) ) +PWELL.setExtentionCap( pWell, l(4.0) ) + +NTIE.setMinimalSize ( l( 3.0) ) +NTIE.setExtentionCap ( nWell , l( 3.0) ) +NTIE.setExtentionWidth( nWell , l( 2.0) ) +NTIE.setExtentionCap ( nImplant, l( 2.5) ) +NTIE.setExtentionWidth( nImplant, l( 1.5) ) +NTIE.setExtentionCap ( active , l( 0.5) ) +NTIE.setExtentionWidth( active , l(-0.5) ) + +PTIE.setMinimalSize ( l( 3.0) ) +PTIE.setExtentionCap ( nWell , l( 3.0) ) +PTIE.setExtentionWidth( nWell , l( 2.0) ) +PTIE.setExtentionCap ( nImplant, l( 2.5) ) +PTIE.setExtentionWidth( nImplant, l( 1.5) ) +PTIE.setExtentionCap ( active , l( 0.5) ) +PTIE.setExtentionWidth( active , l(-0.5) ) + +NDIF.setMinimalSize ( l(3.0) ) +NDIF.setExtentionCap ( nImplant, l(4.0) ) +NDIF.setExtentionWidth( nImplant, l(2.0) ) +NDIF.setExtentionCap ( active , l(2.0) ) +NDIF.setExtentionWidth( active , l(0.0) ) + +PDIF.setMinimalSize ( l(3.0) ) +PDIF.setExtentionCap ( pImplant, l(4.0) ) +PDIF.setExtentionWidth( pImplant, l(2.0) ) +PDIF.setExtentionCap ( active , l(2.0) ) +PDIF.setExtentionWidth( active , l(0.0) ) + +GATE.setMinimalSize ( l(2.0) ) +GATE.setExtentionCap ( poly , l(2.5) ) + +NTRANS.setMinimalSize ( l( 2.0) ) +NTRANS.setExtentionCap ( nImplant, l( 2.0) ) +NTRANS.setExtentionWidth( nImplant, l( 7.0) ) +NTRANS.setExtentionCap ( active , l( 0.0) ) +NTRANS.setExtentionWidth( active , l( 3.0) ) +NTRANS.setExtentionCap ( poly , l( 3.0) ) +NTRANS.setExtentionWidth( poly , l( 0.0) ) + +PTRANS.setMinimalSize ( l( 2.0) ) +PTRANS.setExtentionCap ( nWell , l( 2.5) ) +PTRANS.setExtentionWidth( nWell , l( 7.5) ) +PTRANS.setExtentionCap ( pImplant, l( 2.0) ) +PTRANS.setExtentionWidth( pImplant, l( 7.0) ) +PTRANS.setExtentionCap ( active , l( 0.0) ) +PTRANS.setExtentionWidth( active , l( 3.0) ) +PTRANS.setExtentionCap ( poly , l( 3.0) ) +PTRANS.setExtentionWidth( poly , l( 0.0) ) + +POLY .setMinimalSize ( l(2.0) ) +POLY .setExtentionCap ( poly , l(1.0) ) +POLY2.setMinimalSize ( l(2.0) ) +POLY2.setExtentionCap ( poly , l(1.0) ) + +# Routing Layers (symbolic). +METAL1 .setMinimalSize ( l( 2.0) ) +METAL1 .setExtentionCap ( metal1 , l( 2.0) ) +METAL1 .setExtentionWidth( metal1 , l( 1.0) ) +METAL1 .setMinimalSpacing( l( 6.0) ) +METAL2 .setMinimalSize ( l( 4.0) ) +METAL2 .setExtentionCap ( metal2 , l( 2.0) ) +METAL2 .setMinimalSpacing( l( 6.0) ) +METAL3 .setMinimalSize ( l( 4.0) ) +METAL3 .setExtentionCap ( metal3 , l( 2.0) ) +METAL3 .setMinimalSpacing( l( 6.0) ) +METAL4 .setMinimalSize ( l( 4.0) ) +METAL4 .setExtentionCap ( metal4 , l( 2.0) ) +METAL4 .setMinimalSpacing( l( 6.0) ) +METAL5 .setMinimalSize ( l( 4.0) ) +METAL5 .setExtentionCap ( metal5 , l( 2.0) ) +METAL5 .setMinimalSpacing( l( 6.0) ) +METAL6 .setMinimalSize ( l(10.0) ) +METAL6 .setExtentionCap ( metal6 , l( 5.0) ) +METAL6 .setMinimalSpacing( l( 6.0) ) +#METAL7 .setMinimalSize ( l( 2.0) ) +#METAL7 .setExtentionCap ( metal7 , l( 1.0) ) +#METAL8 .setMinimalSize ( l( 2.0) ) +#METAL8 .setExtentionCap ( metal8 , l( 1.0) ) +#METAL9 .setMinimalSize ( l( 2.0) ) +#METAL9 .setExtentionCap ( metal9 , l( 1.0) ) +#METAL10.setMinimalSize ( l( 2.0) ) +#METAL10.setExtentionCap ( metal10 , l( 1.0) ) + +# Contacts (i.e. Active <--> Metal) (symbolic). +CONT_BODY_N.setMinimalSize( l( 2.0) ) +CONT_BODY_N.setEnclosure ( nWell , l( 4.0), Layer.EnclosureH|Layer.EnclosureV ) +CONT_BODY_N.setEnclosure ( nImplant, l( 3.5), Layer.EnclosureH|Layer.EnclosureV ) +CONT_BODY_N.setEnclosure ( active , l( 1.5), Layer.EnclosureH|Layer.EnclosureV ) +CONT_BODY_N.setEnclosure ( metal1 , l( 1.0), Layer.EnclosureH|Layer.EnclosureV ) + +CONT_BODY_P.setMinimalSize( l( 2.0) ) +CONT_BODY_P.setEnclosure ( pWell , l( 4.0), Layer.EnclosureH|Layer.EnclosureV ) +CONT_BODY_P.setEnclosure ( pImplant, l( 3.5), Layer.EnclosureH|Layer.EnclosureV ) +CONT_BODY_P.setEnclosure ( active , l( 1.5), Layer.EnclosureH|Layer.EnclosureV ) +CONT_BODY_P.setEnclosure ( metal1 , l( 1.0), Layer.EnclosureH|Layer.EnclosureV ) + +CONT_DIF_N.setMinimalSize( l( 2.0) ) +CONT_DIF_N.setEnclosure ( nImplant, l( 4.0), Layer.EnclosureH|Layer.EnclosureV ) +CONT_DIF_N.setEnclosure ( active , l( 2.0), Layer.EnclosureH|Layer.EnclosureV ) +CONT_DIF_N.setEnclosure ( metal1 , l( 1.0), Layer.EnclosureH|Layer.EnclosureV ) + +CONT_DIF_P.setMinimalSize( l( 2.0) ) +CONT_DIF_P.setEnclosure ( pImplant, l( 4.0), Layer.EnclosureH|Layer.EnclosureV ) +CONT_DIF_P.setEnclosure ( active , l( 2.0), Layer.EnclosureH|Layer.EnclosureV ) +CONT_DIF_P.setEnclosure ( metal1 , l( 1.0), Layer.EnclosureH|Layer.EnclosureV ) + +CONT_POLY.setMinimalSize( l( 2.0) ) +CONT_POLY.setEnclosure ( poly , l( 2.0), Layer.EnclosureH|Layer.EnclosureV ) +CONT_POLY.setEnclosure ( metal1 , l( 1.0), Layer.EnclosureH|Layer.EnclosureV ) + +# VIAs (i.e. Metal <--> Metal) (symbolic). +VIA12 .setMinimalSize( l( 2.0) ) +VIA12 .setEnclosure ( metal1 , l( 1.0), Layer.EnclosureH|Layer.EnclosureV ) +VIA12 .setEnclosure ( metal2 , l( 1.0), Layer.EnclosureH|Layer.EnclosureV ) +VIA23 .setMinimalSize( l( 2.0) ) +VIA23 .setEnclosure ( metal2 , l( 1.0), Layer.EnclosureH|Layer.EnclosureV ) +VIA23 .setEnclosure ( metal3 , l( 1.0), Layer.EnclosureH|Layer.EnclosureV ) +VIA34 .setMinimalSize( l( 2.0) ) +VIA34 .setEnclosure ( metal3 , l( 1.0), Layer.EnclosureH|Layer.EnclosureV ) +VIA34 .setEnclosure ( metal4 , l( 1.0), Layer.EnclosureH|Layer.EnclosureV ) +VIA45 .setMinimalSize( l( 2.0) ) +VIA45 .setEnclosure ( metal4 , l( 1.0), Layer.EnclosureH|Layer.EnclosureV ) +VIA45 .setEnclosure ( metal5 , l( 1.0), Layer.EnclosureH|Layer.EnclosureV ) +VIA56 .setMinimalSize( l( 5.0) ) +VIA56 .setEnclosure ( metal5 , l( 1.0), Layer.EnclosureH|Layer.EnclosureV ) +VIA56 .setEnclosure ( metal6 , l( 1.5), Layer.EnclosureH|Layer.EnclosureV ) +#VIA67 .setMinimalSize( l( 1.0) ) +#VIA67 .setEnclosure ( metal6 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +#VIA67 .setEnclosure ( metal7 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +#VIA78 .setMinimalSize( l( 1.0) ) +#VIA78 .setEnclosure ( metal7 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +#VIA78 .setEnclosure ( metal8 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +#VIA89 .setMinimalSize( l( 1.0) ) +#VIA89 .setEnclosure ( metal8 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +#VIA89 .setEnclosure ( metal9 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +#VIA910.setMinimalSize( l( 1.0) ) +#VIA910.setEnclosure ( metal9 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) +#VIA910.setEnclosure ( metal10 , l( 0.5), Layer.EnclosureH|Layer.EnclosureV ) + +# Blockages (symbolic). +BLOCKAGE1 .setMinimalSize ( l( 4.0) ) +BLOCKAGE1 .setExtentionCap ( blockage1 , l( 2.0) ) +BLOCKAGE1 .setExtentionWidth( blockage1 , l( 0.5) ) +BLOCKAGE2 .setMinimalSize ( l( 4.0) ) +BLOCKAGE2 .setExtentionCap ( blockage2 , l( 2.0) ) +BLOCKAGE3 .setMinimalSize ( l( 4.0) ) +BLOCKAGE3 .setExtentionCap ( blockage3 , l( 2.0) ) +BLOCKAGE4 .setMinimalSize ( l( 4.0) ) +BLOCKAGE4 .setExtentionCap ( blockage4 , l( 2.0) ) +BLOCKAGE5 .setMinimalSize ( l( 4.0) ) +BLOCKAGE5 .setExtentionCap ( blockage5 , l( 2.0) ) +BLOCKAGE6 .setMinimalSize ( l( 8.0) ) +BLOCKAGE6 .setExtentionCap ( blockage6 , l( 2.5) ) +#BLOCKAGE7 .setMinimalSize ( l( 2.0) ) +#BLOCKAGE7 .setExtentionCap ( blockage7 , l( 1.0) ) +#BLOCKAGE8 .setMinimalSize ( l( 2.0) ) +#BLOCKAGE8 .setExtentionCap ( blockage8 , l( 1.0) ) +#BLOCKAGE9 .setMinimalSize ( l( 2.0) ) +#BLOCKAGE9 .setExtentionCap ( blockage9 , l( 1.0) ) +#BLOCKAGE10.setMinimalSize ( l( 2.0) ) +#BLOCKAGE10.setExtentionCap ( blockage10, l( 1.0) ) + + +gdsLayersTable = \ + [ ("pWell" , "CWN" , 41, 0) + , ("nWell" , "CWP" , 42, 0) + , ("active" , "CAA" , 43, 0) + , ("pImplant", "CSP" , 44, 0) + , ("nImplant", "CSN" , 45, 0) + , ("poly" , "CPG" , 46, 0) + , ("poly2" , "CM1" , 49, 0) # poly2 is in fact metal1. + , ("cut0" , "CCC" , 25, 0) + , ("metal1" , "CM1" , 49, 0) + , ("cut1" , "CV1" , 50, 0) + , ("metal2" , "CM2" , 51, 0) + , ("cut2" , "CV2" , 61, 0) + , ("metal3" , "CM3" , 62, 0) + , ("cut3" , "CV3" , 30, 0) + , ("metal4" , "CM4" , 31, 0) + , ("cut4" , "CV4" , 32, 0) + , ("metal5" , "CM5" , 33, 0) + , ("cut5" , "CV5" , 36, 0) + , ("metal6" , "CM6" , 37, 0) + ] + + +common.loadGdsLayers( gdsLayersTable ) diff --git a/crlcore/python/helpers/__init__.py b/crlcore/python/helpers/__init__.py index b4ae19b9..2e4858bc 100644 --- a/crlcore/python/helpers/__init__.py +++ b/crlcore/python/helpers/__init__.py @@ -32,9 +32,6 @@ ndaConfDir = None ndaDir = None techno = 'symbolic/cmos' technoDir = None -unitsLambda = True -tab = None -_trace = None moduleGlobals = globals() @@ -283,6 +280,25 @@ def initTechno ( argQuiet ): technoDir = os.path.join( ndaConfDir, techno ) if not quiet: print ' - Technology: %s.' % techno + +unitsLambda = True +tab = Tab() +_trace = Trace() +ndaTopDir = None + + +def setNdaTopDir ( ndaTopDirArg ): + global ndaTopDir + + if not os.path.isdir(ndaTopDirArg): + print helpers.io.WarningMessage( 'helpers.setNdaTopDir(): Directory "%s" does not exists.' % ndaTopDirArg ) + else: + ndaTopDir = ndaTopDirArg + sys.path.append( os.path.join(ndaTopDir,'etc/coriolis2') ) + sys.path.append( ndaTopDir ) + + return + def staticInitialization ( quiet=False ): global sysConfDir @@ -295,9 +311,9 @@ def staticInitialization ( quiet=False ): #if not quiet: print ' o helpers.staticInitialization() Already run, exit.' return - unitsLamba = True - tab = Tab() - _trace = Trace() +# unitsLamba = True +# tab = Tab() +# _trace = Trace() reSysConfDir = re.compile(r'.*etc\/coriolis2') if not quiet: print ' o Locating configuration directory:' @@ -323,6 +339,37 @@ def staticInitialization ( quiet=False ): return +def setSysConfDir ( quiet=False ): + global sysConfDir + + if sysConfDir != None: + #if not quiet: print ' o helpers.staticInitialization() Already run, exit.' + return + + reSysConfDir = re.compile(r'.*etc\/coriolis2') + if not quiet: print ' o Locating configuration directory:' + + for path in sys.path: + if reSysConfDir.match(path): + sysConfDir = path + if not quiet: print ' - "%s"' % sysConfDir + break + + if not sysConfDir: + coriolisTop = os.getenv('CORIOLIS_TOP') + if coriolisTop == '/usr': + sysConfDir = '/etc/coriolis2' + elif coriolisTop: + sysConfDir = os.path.join(coriolisTop,'etc/coriolis2') + else: + raise ErrorMessage( 1, [ 'Cannot locate the directoty holding the configuration files.' + , 'The path is something ending by <.../etc/coriolis2>.'] ) + + if not quiet: print ' - "%s"' % sysConfDir + sys.path.append( sysConfDir ) + return + + def netDirectionToStr ( netDir ): flags = [ '-', '-', '-', '-', '-' ] if netDir & Hurricane.Net.Direction.DirIn: flags[0] = 'i' @@ -341,3 +388,20 @@ def netDirectionToStr ( netDir ): elif netDir == Hurricane.Net.Direction.WOR_INOUT: s += '(WOR_INOUT)' else: s += '(UNKNOWN)' return s + + +setSysConfDir( False ) + + +def loadUserSettings (): + if os.path.isfile('./coriolis2/settings.py'): + if os.path.isfile('./coriolis2/__init__.py'): + import coriolis2.settings + return True + else: + print helpers.io.WarningMessage( [ 'User\'s settings directory "%s" exists, but do not contains "__init__.py".' % './coriolis2/' + , '(path:"%s")' % os.path.abspath(os.getcwd()) + ] ) + + import symbolic.cmos + return False diff --git a/crlcore/src/ccore/AllianceFramework.cpp b/crlcore/src/ccore/AllianceFramework.cpp index 7a5ee931..918b116b 100644 --- a/crlcore/src/ccore/AllianceFramework.cpp +++ b/crlcore/src/ccore/AllianceFramework.cpp @@ -195,16 +195,17 @@ namespace CRL { , _cellGauges () , _defaultCellGauge (NULL) { - DataBase* db = DataBase::getDB (); - if ( not db ) - db = DataBase::create (); + DataBase* db = DataBase::getDB(); + if (not db) db = DataBase::create(); - db->put ( AllianceFrameworkProperty::create(this) ); + Library* rootLibrary = db->getRootLibrary(); + if (not rootLibrary ) rootLibrary = Library::create( db, "Root" ); + + _parentLibrary = rootLibrary->getLibrary( _parentLibraryName ); + if (not _parentLibrary ) _parentLibrary = Library::create( rootLibrary, _parentLibraryName ); + + db->put( AllianceFrameworkProperty::create(this) ); db->_setCellLoader( bind(&AllianceFramework::cellLoader,this,_1) ); - - //cmess1 << " o Reading Alliance Environment." << endl; - - //_environment.loadFromShell (); } @@ -225,31 +226,20 @@ namespace CRL { } - void AllianceFramework::_bindLibraries () + void AllianceFramework::bindLibraries () { - DataBase* db = DataBase::getDB (); - unsigned int flags = AppendLibrary; - SearchPath& LIBRARIES = _environment.getLIBRARIES (); - Library* rootLibrary = db->getRootLibrary (); + unsigned int flags = AppendLibrary; + SearchPath& LIBRARIES = _environment.getLIBRARIES(); - //cmess2 << " o Creating Alliance Framework root library." << endl; - if ( !rootLibrary ) - rootLibrary = Library::create ( db, "Root" ); - - _parentLibrary = rootLibrary->getLibrary ( _parentLibraryName ); - if ( !_parentLibrary ) - _parentLibrary = Library::create ( rootLibrary, _parentLibraryName ); - - //cmess2 << " o Loading libraries (working first)." << endl; + cmess2 << " o Loading libraries (working first, " << LIBRARIES.getSize() << ") " << endl; for ( unsigned i=0 ; i_bindLibraries(); + //if (not (flags & NoPythonInit)) + // System::runPythonInit(); + //_singleton->bindLibraries(); } return _singleton; @@ -270,9 +260,7 @@ namespace CRL { AllianceFramework* AllianceFramework::get () - { - return create(); - } + { return create(); } void AllianceFramework::destroy () @@ -420,7 +408,7 @@ namespace CRL { string dupLibName = libName; for ( size_t duplicate=1 ; true ; ++duplicate ) { - AllianceLibrary* library = getAllianceLibrary ( dupLibName, flags & ~CreateLibrary ); + AllianceLibrary* library = getAllianceLibrary( dupLibName, flags & ~CreateLibrary ); if (library == NULL) break; ostringstream oss; @@ -428,22 +416,18 @@ namespace CRL { dupLibName = oss.str(); } - // AllianceLibrary* library = getAllianceLibrary ( libName, flags ); - // if ( library != NULL ) { - // cerr << Warning("AllianceFramework::createLibrary(): Attempt to re-create <%s>, using already existing." - // ,libName.c_str()) << endl; - // return library; - // } - - SearchPath& LIBRARIES = _environment.getLIBRARIES (); - if ( not (flags & AppendLibrary) ) LIBRARIES.prepend ( path, dupLibName ); - else LIBRARIES.select ( path ); + SearchPath& LIBRARIES = _environment.getLIBRARIES(); + LIBRARIES.select( path ); + if (not LIBRARIES.hasSelected()) { + if (not (flags & AppendLibrary)) LIBRARIES.prepend( path, dupLibName ); + else LIBRARIES.append ( path, dupLibName ); + } Library* hlibrary = getParentLibrary()->getLibrary( dupLibName ); if (not hlibrary) hlibrary = Library::create( getParentLibrary(), dupLibName ); - AllianceLibrary* alibrary = new AllianceLibrary ( path, hlibrary ); + AllianceLibrary* alibrary = new AllianceLibrary( path, hlibrary ); AllianceLibraries::iterator ilib = _libraries.begin(); if (LIBRARIES.getIndex() != SearchPath::npos) @@ -451,26 +435,26 @@ namespace CRL { else ilib = _libraries.end(); - _libraries.insert ( ilib, alibrary ); + _libraries.insert( ilib, alibrary ); string catalog = path + "/" + _environment.getCATALOG(); - if ( _catalog.loadFromFile(catalog,alibrary->getLibrary()) ) flags |= HasCatalog; + if (_catalog.loadFromFile(catalog,alibrary->getLibrary())) flags |= HasCatalog; - ParserFormatSlot& parser = _parsers.getParserSlot ( path, Catalog::State::Physical, _environment ); + ParserFormatSlot& parser = _parsers.getParserSlot( path, Catalog::State::Physical, _environment ); - if ( not parser.loadByLib() ) { - notify ( AddedLibrary ); + if (not parser.loadByLib()) { + notify( AddedLibrary ); return alibrary; } // Load the whole library. - if ( ! _readLocate(dupLibName,Catalog::State::State::Logical,true) ) return alibrary; + if (not _readLocate(dupLibName,Catalog::State::State::Logical,true)) return alibrary; // Call the parser function. (parser.getParsLib())( _environment.getLIBRARIES().getSelected() , alibrary->getLibrary() , _catalog ); - notify ( AddedLibrary ); + notify( AddedLibrary ); return alibrary; } diff --git a/crlcore/src/ccore/Environment.cpp b/crlcore/src/ccore/Environment.cpp index ff3c7252..00e46d17 100644 --- a/crlcore/src/ccore/Environment.cpp +++ b/crlcore/src/ccore/Environment.cpp @@ -248,26 +248,40 @@ namespace CRL { return value; } + void Environment::setWORKING_LIBRARY ( const char* value ) + { + _LIBRARIES.replace( value, "working", 0 ); + AllianceFramework::get()->createLibrary( _LIBRARIES[0].getPath(), AllianceFramework::CreateLibrary ); + } + void Environment::addSYSTEM_LIBRARY ( const char* value, const char* libName, unsigned int mode ) { + AllianceFramework* af = AllianceFramework::get(); + unsigned int afMode = AllianceFramework::CreateLibrary; + size_t ilib = 0; + + if (mode == Append) afMode |= AllianceFramework::AppendLibrary; + if ((mode == Prepend) or (mode == Append)) { size_t duplicate = _LIBRARIES.hasLib(libName); if (duplicate != SearchPath::npos) _LIBRARIES.remove( duplicate ); - if (mode == Prepend) _LIBRARIES.prepend(value,libName); - if (mode == Append ) _LIBRARIES.append (value,libName); - return; + if (mode == Prepend) ilib = _LIBRARIES.prepend(value,libName); + if (mode == Append ) ilib = _LIBRARIES.append (value,libName); + } else { + string newLibName = libName; + for ( ; ilib < _LIBRARIES.getSize() ; ++ilib ) { + if (newLibName == _LIBRARIES[ilib].getName()) { + _LIBRARIES.replace ( value, newLibName, ilib ); + break; + } + } + if (ilib == _LIBRARIES.getSize()) + _LIBRARIES.append (value,libName); } - string newLibName = libName; - for ( size_t i=0 ; i < _LIBRARIES.getSize() ; ++i ) { - if ( newLibName == _LIBRARIES[i].getName() ) { - _LIBRARIES.replace ( value, newLibName, i ); - return; - } - } - _LIBRARIES.append (value,libName); + af->createLibrary( _LIBRARIES[ilib].getPath(), afMode ); } diff --git a/crlcore/src/ccore/RoutingLayerGauge.cpp b/crlcore/src/ccore/RoutingLayerGauge.cpp index b643800e..ed72065d 100644 --- a/crlcore/src/ccore/RoutingLayerGauge.cpp +++ b/crlcore/src/ccore/RoutingLayerGauge.cpp @@ -285,7 +285,8 @@ namespace CRL { if ( _direction == Constant::Horizontal ) os << "Horizontal "; else os << "Vertical "; - os << DbU::getValueString(_offset) << ",+" + os << _depth << " " + << DbU::getValueString(_offset) << ",+" << DbU::getValueString(_pitch) << " " << _density << "% (" << DbU::getValueString(_wireWidth) << "," diff --git a/crlcore/src/ccore/SearchPath.cpp b/crlcore/src/ccore/SearchPath.cpp index cce3a1c5..e89fe613 100644 --- a/crlcore/src/ccore/SearchPath.cpp +++ b/crlcore/src/ccore/SearchPath.cpp @@ -70,22 +70,24 @@ namespace CRL { } - void SearchPath::prepend ( const std::string& path, const std::string& name ) + size_t SearchPath::prepend ( const std::string& path, const std::string& name ) { vector::iterator ipath = _paths.begin(); _index = 0; - if ( ipath != _paths.end() ) { ++ipath; ++_index; } + if (ipath != _paths.end()) { ++ipath; ++_index; } - _paths.insert ( ipath, Element(path,name) ); + _paths.insert( ipath, Element(path,name) ); + return _index; } - void SearchPath::replace ( const string& path, const std::string& name, size_t index ) + size_t SearchPath::replace ( const string& path, const std::string& name, size_t index ) { _index = index; if ( index < _paths.size() ) _paths[index] = Element(path,name); + return _index; } @@ -151,7 +153,7 @@ namespace CRL { { ostringstream s; - s << ""; + s << ""; return s.str(); } diff --git a/crlcore/src/ccore/Utilities.cpp b/crlcore/src/ccore/Utilities.cpp index 31dfff6b..473491ea 100644 --- a/crlcore/src/ccore/Utilities.cpp +++ b/crlcore/src/ccore/Utilities.cpp @@ -324,7 +324,9 @@ namespace CRL { Utilities::Path cumulusDir = pythonSitePackages / "cumulus"; Utilities::Path oroshiDir = pythonSitePackages / "oroshi"; Utilities::Path karakazeDir = pythonSitePackages / "karakaze"; + Utilities::Path etcDir = _pathes["etc"]; + Isobar::Script::addPath ( etcDir.toString() ); Isobar::Script::addPath ( sysConfDir.toString() ); Isobar::Script::addPath ( pythonSitePackages.toString() ); Isobar::Script::addPath ( crlcoreDir.toString() ); @@ -445,9 +447,8 @@ namespace CRL { void System::_runPythonInit () { - Cfg::Configuration* conf = Cfg::Configuration::get (); - Utilities::Path sysConfDir = getPath("etc"); - Utilities::Path pythonSitePackages = getPath("pythonSitePackages"); + Utilities::Path sysConfDir = getPath("etc"); + Utilities::Path pythonSitePackages = getPath("pythonSitePackages"); //bool systemConfFound = false; Utilities::Path systemConfFile = pythonSitePackages / "crlcore" / "coriolisInit.py"; diff --git a/crlcore/src/ccore/crlcore/AllianceFramework.h b/crlcore/src/ccore/crlcore/AllianceFramework.h index 3e46ce96..e98fbd14 100644 --- a/crlcore/src/ccore/crlcore/AllianceFramework.h +++ b/crlcore/src/ccore/crlcore/AllianceFramework.h @@ -117,6 +117,7 @@ namespace CRL { , unsigned int depth=(unsigned int)-1 ); Cell* createCell ( const string& name, AllianceLibrary* library=NULL ); void saveCell ( Cell* , unsigned int mode ); + void bindLibraries (); unsigned int loadLibraryCells ( Library* ); unsigned int loadLibraryCells ( const Name& ); static size_t getInstancesCount ( Cell*, unsigned int flags ); @@ -152,7 +153,6 @@ namespace CRL { bool _readLocate ( const string& file, unsigned int mode, bool isLib=false ); bool _writeLocate ( const string& file, unsigned int mode, bool isLib=false ); AllianceLibrary* _createLibrary ( const string& path, bool& hasCatalog ); - void _bindLibraries (); }; inline bool AllianceFramework::isPOWER ( const char* name ) { return _environment.isPOWER(name); } diff --git a/crlcore/src/ccore/crlcore/Environment.h b/crlcore/src/ccore/crlcore/Environment.h index 2ee26c71..063315a9 100644 --- a/crlcore/src/ccore/crlcore/Environment.h +++ b/crlcore/src/ccore/crlcore/Environment.h @@ -79,7 +79,7 @@ namespace CRL { void setBLOCKAGE ( const char* value ); void setPad ( const char* value ); inline void setCATALOG ( const char* value ); - inline void setWORKING_LIBRARY ( const char* value ); + void setWORKING_LIBRARY ( const char* value ); void addSYSTEM_LIBRARY ( const char* value, const char* libName, unsigned int mode=Append ); // Methods. std::string getPrint () const; @@ -138,7 +138,6 @@ namespace CRL { inline void Environment::setOUT_LO ( const char* value ) { _OUT_LO = value; } inline void Environment::setOUT_PH ( const char* value ) { _OUT_PH = value; } inline void Environment::setCATALOG ( const char* value ) { _CATALOG = value; } - inline void Environment::setWORKING_LIBRARY ( const char* value ) { _LIBRARIES.replace(value,"working",0); } inline std::string Environment::_getTypeName () const { return "Environment"; } diff --git a/crlcore/src/ccore/crlcore/SearchPath.h b/crlcore/src/ccore/crlcore/SearchPath.h index ab59062a..ffbe1384 100644 --- a/crlcore/src/ccore/crlcore/SearchPath.h +++ b/crlcore/src/ccore/crlcore/SearchPath.h @@ -50,9 +50,9 @@ namespace CRL { SearchPath (); public: inline void reset (); - inline void append ( const std::string& path, const std::string& name="" ); - void prepend ( const std::string& path, const std::string& name=""); - void replace ( const std::string& path, const std::string&, size_t index ); + inline size_t append ( const std::string& path, const std::string& name="" ); + size_t prepend ( const std::string& path, const std::string& name=""); + size_t replace ( const std::string& path, const std::string&, size_t index ); void remove ( size_t index ); size_t locate ( const std::string& file , std::ios::openmode mode =std::ios::in @@ -92,8 +92,9 @@ namespace CRL { inline bool SearchPath::hasSelected () const { return _index != npos; } inline std::string SearchPath::_getTypeName () const { return _TName("SearchPath"); } - inline void SearchPath::append ( const std::string& path, const std::string& name ) { + inline size_t SearchPath::append ( const std::string& path, const std::string& name ) { _paths.push_back ( Element ( path, name.empty()?extractLibName(path):name ) ); + return _paths.size()-1; } inline SearchPath::Element::Element ( const std::string& path, const std::string& name ) diff --git a/crlcore/src/pyCRL/CMakeLists.txt b/crlcore/src/pyCRL/CMakeLists.txt index 7e74aec0..d7319e74 100644 --- a/crlcore/src/pyCRL/CMakeLists.txt +++ b/crlcore/src/pyCRL/CMakeLists.txt @@ -28,6 +28,7 @@ set( pyConstCpps PyConstant.cpp ) set( pyCpps PyCRL.cpp + PySystem.cpp PyBanner.cpp PyCatalog.cpp PyCatalogState.cpp @@ -48,7 +49,8 @@ PyLefImport.cpp PyDefImport.cpp ) - set( pyIncludes crlcore/PyBanner.h + set( pyIncludes crlcore/PySystem.h + crlcore/PyBanner.h crlcore/PyCatalog.h crlcore/PyCatalogState.h crlcore/PyEnvironment.h diff --git a/crlcore/src/pyCRL/PyAllianceFramework.cpp b/crlcore/src/pyCRL/PyAllianceFramework.cpp index eebf7f33..fb293cb6 100644 --- a/crlcore/src/pyCRL/PyAllianceFramework.cpp +++ b/crlcore/src/pyCRL/PyAllianceFramework.cpp @@ -111,6 +111,19 @@ extern "C" { } + static PyObject* PyAllianceFramework_bindLibraries ( PyAllianceFramework* self, PyObject* args ) + { + cdebug_log(30,0) << "PyAllianceFramework_bindLibraries()" << endl; + + HTRY + METHOD_HEAD("AllianceFramework.bindLibraries()") + af->bindLibraries(); + HCATCH + + Py_RETURN_NONE; + } + + static PyObject* PyAllianceFramework_getEnvironment ( PyAllianceFramework* self ) { cdebug_log(30,0) << "PyAllianceFramework_getEnvironment ()" << endl; @@ -516,6 +529,8 @@ extern "C" { , "Gets the Alliance Framework." } , { "getEnvironment" , (PyCFunction)PyAllianceFramework_getEnvironment , METH_NOARGS , "Gets the Alliance Environment." } + , { "bindLibraries" , (PyCFunction)PyAllianceFramework_bindLibraries , METH_NOARGS + , "Bind Alliance libraries to Hurricane one. This is a one-time only methods." } , { "getLibrary" , (PyCFunction)PyAllianceFramework_getLibrary , METH_VARARGS , "Gets a Library, by index." } , { "getAllianceLibrary" , (PyCFunction)PyAllianceFramework_getAllianceLibrary , METH_VARARGS diff --git a/crlcore/src/pyCRL/PyCRL.cpp b/crlcore/src/pyCRL/PyCRL.cpp index 71a03f38..a5508871 100644 --- a/crlcore/src/pyCRL/PyCRL.cpp +++ b/crlcore/src/pyCRL/PyCRL.cpp @@ -17,6 +17,7 @@ #include "hurricane/isobar/PyHurricane.h" #include "hurricane/isobar/PyLibrary.h" #include "hurricane/isobar/PyCell.h" +#include "crlcore/PySystem.h" #include "crlcore/PyBanner.h" #include "crlcore/PyCatalog.h" #include "crlcore/PyCatalogState.h" @@ -108,6 +109,7 @@ extern "C" { DL_EXPORT(void) initCRL () { cdebug_log(30,0) << "initCRL()" << endl; + PySystem_LinkPyType (); PyBanner_LinkPyType (); PyCatalogState_LinkPyType (); PyCatalog_LinkPyType (); @@ -127,6 +129,7 @@ extern "C" { PyLefImport_LinkPyType (); PyDefImport_LinkPyType (); + PYTYPE_READY ( System ); PYTYPE_READY ( Banner ); PYTYPE_READY ( CatalogState ); PYTYPE_READY ( Catalog ); @@ -165,6 +168,8 @@ extern "C" { return; } + Py_INCREF ( &PyTypeSystem ); + PyModule_AddObject ( module, "System", (PyObject*)&PyTypeSystem ); Py_INCREF ( &PyTypeBanner ); PyModule_AddObject ( module, "Banner", (PyObject*)&PyTypeBanner ); Py_INCREF ( &PyTypeCatalog ); diff --git a/crlcore/src/pyCRL/PyRoutingGauge.cpp b/crlcore/src/pyCRL/PyRoutingGauge.cpp index 9e03d953..7e155ef8 100644 --- a/crlcore/src/pyCRL/PyRoutingGauge.cpp +++ b/crlcore/src/pyCRL/PyRoutingGauge.cpp @@ -288,16 +288,21 @@ extern "C" { __cs.init ("RoutingGauge.getLayerGauge"); if (PyArg_ParseTuple( args, "O&:RoutingGauge.getLayerGauge", Converter, &arg0)) { - if ( __cs.getObjectIds() == ":layer" ) + string layerName; + if (__cs.getObjectIds() == ":layer") { rlg = rg->getLayerGauge( PYLAYER_O(arg0) ); - else if ( __cs.getObjectIds() == ":int" ) + layerName = "\"" + getString(PYLAYER_O(arg0)) + "\""; + } else if (__cs.getObjectIds() == ":int") { rlg = rg->getLayerGauge( (size_t)PyAny_AsLong(arg0) ); - else { + layerName = "depth=" + getString(PyAny_AsLong(arg0)); + } else { PyErr_SetString ( ConstructorError, "invalid parameter type for RoutingGauge.getLayerGauge()." ); return NULL; } if ( rlg == NULL ) { - PyErr_SetString ( ConstructorError, "RoutingGauge.getLayerDepth(), requested Layer has no RoutingLayerGauge." ); + string message = "RoutingGauge.getLayerDepth(), requested Layer " + + layerName + " has no RoutingLayerGauge."; + PyErr_SetString ( ConstructorError, message.c_str() ); return NULL; } } else { diff --git a/crlcore/src/pyCRL/PySystem.cpp b/crlcore/src/pyCRL/PySystem.cpp new file mode 100644 index 00000000..e3bc4dd2 --- /dev/null +++ b/crlcore/src/pyCRL/PySystem.cpp @@ -0,0 +1,113 @@ +// -*- C++ -*- +// +// This file is part of the Coriolis Software. +// Copyright (c) UPMC 2019-2019, All Rights Reserved +// +// +-----------------------------------------------------------------+ +// | C O R I O L I S | +// | Alliance / Hurricane Interface | +// | | +// | Author : Jean-Paul CHAPUT | +// | E-mail : Jean-Paul.Chaput@lip6.fr | +// | =============================================================== | +// | C++ Module : "./PySystem.cpp" | +// +-----------------------------------------------------------------+ + + +#include "crlcore/PySystem.h" + + +namespace CRL { + + using std::cerr; + using std::endl; + using std::hex; + using std::ostringstream; + using Hurricane::tab; + using Hurricane::Exception; + using Hurricane::Bug; + using Hurricane::Error; + using Hurricane::Warning; + using Hurricane::DataBase; + using Isobar::__cs; + using Isobar::Converter; + using Isobar::ProxyProperty; + using Isobar::ProxyError; + using Isobar::ConstructorError; + using Isobar::HurricaneError; + using Isobar::HurricaneWarning; + using Isobar::PyAny_AsLong; + using Isobar::ParseOneArg; + using Isobar::ParseTwoArg; + + +extern "C" { + + +#define METHOD_HEAD(function) GENERIC_METHOD_HEAD(System,sys,function) + + +// +=================================================================+ +// | "PySystem" Python Module Code Part | +// +=================================================================+ + +#if defined(__PYTHON_MODULE__) + + + static PyObject* PySystem_get ( PyObject* args ) + { + cdebug_log(30,0) << "PySystem_get()" << endl; + + System* sys = NULL; + PySystem* pySys = NULL; + + HTRY + sys = System::get(); + pySys = PyObject_NEW( PySystem, &PyTypeSystem ); + if (pySys == NULL) return NULL; + pySys->_object = sys; + HCATCH + + return (PyObject*)pySys; + } + + + // Standart Accessors (Attributes). + + + // Standart Destroy (Attribute). + // DBoDestroyAttribute(PySystem_destroy,PySystem) + + + PyMethodDef PySystem_Methods[] = + { { "get" , (PyCFunction)PySystem_get , METH_NOARGS|METH_STATIC + , "Gets the Coriolis System singleton." } + //, { "destroy" , (PyCFunction)PySystem_destroy , METH_NOARGS + // , "Destroy the associated hurricane object. The python object remains." } + , {NULL, NULL, 0, NULL} /* sentinel */ + }; + + + PythonOnlyDeleteMethod(System) + PyTypeObjectLinkPyType(System) + + +#else // Python Module Code Part. + + +// x=================================================================x +// | "PySystem" Shared Library Code Part | +// x=================================================================x + + + // Link/Creation Method. + PyTypeObjectDefinitions(System) + + +#endif // Shared Library Code Part. + + +} // extern "C". + +} // CRL namespace. + diff --git a/crlcore/src/pyCRL/crlcore/PySystem.h b/crlcore/src/pyCRL/crlcore/PySystem.h new file mode 100644 index 00000000..29df7cc6 --- /dev/null +++ b/crlcore/src/pyCRL/crlcore/PySystem.h @@ -0,0 +1,61 @@ +// -*- C++ -*- +// +// This file is part of the Coriolis Software. +// Copyright (c) UPMC 2019-2019, All Rights Reserved +// +// +-----------------------------------------------------------------+ +// | C O R I O L I S | +// | Alliance / Hurricane Interface | +// | | +// | Author : Jean-Paul CHAPUT | +// | E-mail : Jean-Paul.Chaput@asim.lip6.fr | +// | =============================================================== | +// | C++ Header : "./crlcore/PySystem.h" | +// +-----------------------------------------------------------------+ + + +#ifndef CRL_PY_SYSTEM_H +#define CRL_PY_SYSTEM_H + +#include "hurricane/isobar/PyHurricane.h" +#include "crlcore/Utilities.h" + + +namespace CRL { + + +extern "C" { + + +// ------------------------------------------------------------------- +// Python Object : "PySystem". + + typedef struct { + PyObject_HEAD + CRL::System* _object; + } PySystem; + + +// ------------------------------------------------------------------- +// Functions & Types exported to "PyCRL.ccp". + + extern PyTypeObject PyTypeSystem; + extern PyMethodDef PySystem_Methods[]; + + extern PyObject* PySystem_Link ( CRL::System* ); + extern void PySystem_LinkPyType (); + extern void PySystem_postModuleInit (); + + +#define IsPySystem(v) ( (v)->ob_type == &PyTypeSystem ) +#define PYSYSTEM(v) ( (PySystem*)(v) ) +#define PYSYSTEM_O(v) ( PYSYSTEM(v)->_object ) + + +} // extern "C". + + +} // CRL namespace. + + +#endif // CRL_PY_SYSTEM_H diff --git a/cumulus/src/plugins/AboutWindow.py b/cumulus/src/plugins/AboutWindow.py index 3026d59a..04760cf1 100644 --- a/cumulus/src/plugins/AboutWindow.py +++ b/cumulus/src/plugins/AboutWindow.py @@ -149,7 +149,6 @@ def unicornHook ( **kw ): def ScriptMain ( **kw ): rvalue = True try: - helpers.staticInitialization( quiet=True ) #helpers.setTraceLevel( 550 ) aboutWidget = AboutWidget() diff --git a/cumulus/src/plugins/ChipPlace.py b/cumulus/src/plugins/ChipPlace.py index 8b3814e7..fcabb090 100644 --- a/cumulus/src/plugins/ChipPlace.py +++ b/cumulus/src/plugins/ChipPlace.py @@ -61,7 +61,6 @@ def unicornHook ( **kw ): def ScriptMain ( **kw ): rvalue = True try: - helpers.staticInitialization( quiet=True ) #helpers.setTraceLevel( 550 ) cell, editor = plugins.kwParseMain( **kw ) diff --git a/cumulus/src/plugins/ChipRoute.py b/cumulus/src/plugins/ChipRoute.py index e39d112a..61bbe648 100644 --- a/cumulus/src/plugins/ChipRoute.py +++ b/cumulus/src/plugins/ChipRoute.py @@ -63,7 +63,6 @@ def unicornHook ( **kw ): def ScriptMain ( **kw ): rvalue = True try: - helpers.staticInitialization( quiet=True ) #helpers.setTraceLevel( 550 ) cell, editor = plugins.kwParseMain( **kw ) diff --git a/cumulus/src/plugins/ClockTreePlugin.py b/cumulus/src/plugins/ClockTreePlugin.py index 78e7373a..b6a0f131 100755 --- a/cumulus/src/plugins/ClockTreePlugin.py +++ b/cumulus/src/plugins/ClockTreePlugin.py @@ -70,7 +70,6 @@ def unicornHook ( **kw ): def ScriptMain ( **kw ): try: - helpers.staticInitialization( quiet=True ) #helpers.setTraceLevel( 550 ) errorCode = 0 diff --git a/cumulus/src/plugins/CoreToChip_cmos.py b/cumulus/src/plugins/CoreToChip_cmos.py index edcf7e9b..f6db19cf 100644 --- a/cumulus/src/plugins/CoreToChip_cmos.py +++ b/cumulus/src/plugins/CoreToChip_cmos.py @@ -43,7 +43,6 @@ def unicornHook ( **kw ): def ScriptMain ( **kw ): rvalue = True try: - helpers.staticInitialization( quiet=True ) #helpers.setTraceLevel( 550 ) cell, editor = plugins.kwParseMain( **kw ) diff --git a/cumulus/src/plugins/CoreToChip_phlib80.py b/cumulus/src/plugins/CoreToChip_phlib80.py index 8f7cc23a..42bb228d 100644 --- a/cumulus/src/plugins/CoreToChip_phlib80.py +++ b/cumulus/src/plugins/CoreToChip_phlib80.py @@ -43,7 +43,6 @@ def unicornHook ( **kw ): def ScriptMain ( **kw ): rvalue = True try: - helpers.staticInitialization( quiet=True ) #helpers.setTraceLevel( 550 ) cell, editor = plugins.kwParseMain( **kw ) diff --git a/cumulus/src/plugins/RSavePlugin.py b/cumulus/src/plugins/RSavePlugin.py index 13a309fc..f7e52d57 100644 --- a/cumulus/src/plugins/RSavePlugin.py +++ b/cumulus/src/plugins/RSavePlugin.py @@ -58,7 +58,11 @@ def rsave ( cell, views=CRL.Catalog.State.Physical, depth=0 ): if depth == 0: print ' o Recursive Save-Cell.' sviews = '' - if views & CRL.Catalog.State.Logical: sviews += 'netlist' + if views & CRL.Catalog.State.Logical: + sviews += 'netlist' + if views & CRL.Catalog.State.VstUseConcat: + if sviews: sviews += ',' + sviews += 'VST uses &' if views & CRL.Catalog.State.Physical: if sviews: sviews += ',' sviews += 'layout' @@ -89,7 +93,6 @@ def unicornHook ( **kw ): def ScriptMain ( **kw ): try: - helpers.staticInitialization( quiet=True ) #helpers.setTraceLevel( 550 ) cell, editor = plugins.kwParseMain( **kw ) diff --git a/cumulus/src/plugins/RSavePluginAll.py b/cumulus/src/plugins/RSavePluginAll.py index ee7de67a..756f2672 100644 --- a/cumulus/src/plugins/RSavePluginAll.py +++ b/cumulus/src/plugins/RSavePluginAll.py @@ -84,7 +84,6 @@ def unicornHook ( **kw ): def ScriptMain ( **kw ): try: - helpers.staticInitialization( quiet=True ) #helpers.setTraceLevel( 550 ) cell, editor = plugins.kwParseMain( **kw ) diff --git a/cumulus/src/plugins/S2R.py b/cumulus/src/plugins/S2R.py index ccd78807..ce1c9d06 100644 --- a/cumulus/src/plugins/S2R.py +++ b/cumulus/src/plugins/S2R.py @@ -107,7 +107,6 @@ def unicornHook ( **kw ): def ScriptMain ( **kw ): rvalue = True try: - helpers.staticInitialization( quiet=True ) #helpers.setTraceLevel( 550 ) cell, editor = plugins.kwParseMain( **kw ) diff --git a/cumulus/src/plugins/__init__.py b/cumulus/src/plugins/__init__.py index fc1e5aaa..f39ebb18 100644 --- a/cumulus/src/plugins/__init__.py +++ b/cumulus/src/plugins/__init__.py @@ -243,16 +243,14 @@ def staticInitialization (): global loaded if loaded: return - helpers.staticInitialization( quiet=False ) - try: print ' o Preload standard plugins.' pluginsDir = os.path.dirname(__file__) loadPlugins( pluginsDir ) - if helpers.ndaDir: + if helpers.ndaTopDir: print ' o Preload NDA protected plugins.' - pluginsDir = os.path.join( helpers.ndaDir, 'python2.7/site-packages/cumulus/plugins' ) + pluginsDir = os.path.join( helpers.ndaTopDir, 'python2.7/site-packages/cumulus/plugins' ) loadPlugins( pluginsDir ) else: print ' o No NDA protected plugins.' diff --git a/cumulus/src/plugins/chip/Chip.py b/cumulus/src/plugins/chip/Chip.py index baabc33c..5e3b1a03 100644 --- a/cumulus/src/plugins/chip/Chip.py +++ b/cumulus/src/plugins/chip/Chip.py @@ -117,17 +117,17 @@ class PlaceRoute ( object ): raise ErrorMessage( 1, 'chip.doCoronaFloorplan(): Chip is not valid, aborting.' ) return - railsNb = Cfg.getParamInt('chip.block.rails.count' ).asInt() - hRailWidth = Cfg.getParamInt('chip.block.rails.hWidth' ).asInt() - vRailWidth = Cfg.getParamInt('chip.block.rails.vWidth' ).asInt() - hRailSpace = Cfg.getParamInt('chip.block.rails.hSpacing').asInt() - vRailSpace = Cfg.getParamInt('chip.block.rails.vSpacing').asInt() + self.railsNb = Cfg.getParamInt('chip.block.rails.count' ).asInt() + self.hRailWidth = Cfg.getParamInt('chip.block.rails.hWidth' ).asInt() + self.vRailWidth = Cfg.getParamInt('chip.block.rails.vWidth' ).asInt() + self.hRailSpace = Cfg.getParamInt('chip.block.rails.hSpacing').asInt() + self.vRailSpace = Cfg.getParamInt('chip.block.rails.vSpacing').asInt() if not self.conf.useClockTree: self.railsNb -= 1 innerBb = Box( self.conf.coreSize ) - innerBb.inflate( railsNb * vRailWidth + (railsNb+1) * vRailSpace - , railsNb * hRailWidth + (railsNb+1) * hRailSpace ) + innerBb.inflate( self.railsNb * self.vRailWidth + (self.railsNb+1) * self.vRailSpace + , self.railsNb * self.hRailWidth + (self.railsNb+1) * self.hRailSpace ) coronaAb = self.conf.corona.getAbutmentBox() if innerBb.getWidth() > coronaAb.getWidth(): diff --git a/cumulus/src/plugins/chip/Configuration.py b/cumulus/src/plugins/chip/Configuration.py index 73b6de4c..c1223ee8 100644 --- a/cumulus/src/plugins/chip/Configuration.py +++ b/cumulus/src/plugins/chip/Configuration.py @@ -23,6 +23,7 @@ from Hurricane import Box from Hurricane import Transformation from Hurricane import Box from Hurricane import Path +from Hurricane import Layer from Hurricane import Occurrence from Hurricane import Net from Hurricane import RoutingPad @@ -37,6 +38,7 @@ from CRL import RoutingLayerGauge from helpers import trace from helpers.io import ErrorMessage from helpers.io import WarningMessage +from helpers.io import catch from plugins import getParameter import chip @@ -223,6 +225,10 @@ class GaugeConf ( object ): self.cellGauge = CRL.AllianceFramework.get().getCellGauge( gaugeName ) self.routingGauge = CRL.AllianceFramework.get().getRoutingGauge( gaugeName ) + if not self.routingGauge: + raise ErrorMessage( 1, [ 'RoutingGauge._loadRoutingGauge(): No routing gauge named "%s".' % gaugeName + , 'Please check the "anabatic.routingGauge" configuration parameter." ' ]) + topLayer = Cfg.getParamString('anabatic.topRoutingLayer').asString() self.topLayerDepth = 0 @@ -253,6 +259,10 @@ class GaugeConf ( object ): if self.verticalDeepDepth < 0: self.verticalDeepDepth = depth self.verticalDepth = depth + trace( 550, '\thorizontalDepth :%d\n' % self.horizontalDepth ) + trace( 550, '\tverticalDepth :%d\n' % self.verticalDepth ) + trace( 550, '\thorizontalDeepDepth:%d\n' % self.horizontalDeepDepth ) + trace( 550, '\tverticalDeepDepth :%d\n' % self.verticalDeepDepth ) return def _loadIoPadGauge ( self, ioPadGaugeName ): @@ -895,9 +905,7 @@ class ChipConf ( object ): def coronaContactArray ( self, chipNet, layer, chipX, chipY, array, flags ): trace( 550, ',+', '\tChipConf.coronaContactArray\n' ) - # Should be read from the symbolic technology rules. - viaPitch = DbU.fromLambda( 4.0 ) - + viaPitch = layer.getMinimalSize() + layer.getMinimalSpacing() coronaAb = self.getInstanceAb( self.icorona ) coronaNet = self.getCoronaNet( chipNet ) if not coronaNet: return None @@ -1277,15 +1285,16 @@ class ChipConf ( object ): def loadConfiguration ( cell, viewer=None ): sys.path.append( os.getcwd() ) - #confFile = cell.getName()+'_ioring' - confFile = 'ioring' - if not os.path.isfile(confFile+'.py'): - raise ErrorMessage( 1, 'ChipPlugin configuration file <%s.py> is missing.' % confFile ) - - confModule = __import__( confFile, globals(), locals(), confFile ) + try: + confFile = 'coriolis2/ioring.py' + if not os.path.isfile(confFile): + raise ErrorMessage( 1, 'ChipPlugin, configuration file "%s" is missing.' % confFile ) + else: + if not os.path.isfile('coriolis2/__init__.py'): + raise ErrorMessage( 1, 'ChipPlugin, configuration directory "./coriolis2/" is missing "__init__.py".' ) + + from coriolis2.ioring import chip + except Exception, e: + catch( e ) - if not confModule.__dict__.has_key('chip'): - ErrorMessage( 1, 'Module <%s> do not provides the chip variable, skipped.' \ - % confFile ) - - return ChipConf( confModule.__dict__['chip'], cell, viewer ) + return ChipConf( chip, cell, viewer ) diff --git a/cumulus/src/plugins/chip/PadsCorona.py b/cumulus/src/plugins/chip/PadsCorona.py index eb35f2db..4d5bea39 100644 --- a/cumulus/src/plugins/chip/PadsCorona.py +++ b/cumulus/src/plugins/chip/PadsCorona.py @@ -454,7 +454,7 @@ class Side ( object ): if m: padName = m.group( 'power' ) padNet = padInstance.getMasterCell().getNet( padName ) - print 'padName:', padName, 'padNet:', padNet + #print 'padName:', padName, 'padNet:', padNet if padNet: plug = padInstance.getPlug( padNet ) chipNet = plug.getNet() @@ -1163,11 +1163,11 @@ class Corona ( object ): count += 1 else: if not chipIntNet.isGlobal(): - raise ErrorMessage( 1, [ 'PadsCorona._createCoreWire(): In I/O pad "%s" (%s),' + raise ErrorMessage( 1, [ 'PadsCorona._createCoreWire(): In I/O pad "%s" (%s,%s),' % ( padInstance.getMasterCell().getName() - , padInstance.getName() ) + , padInstance.getName(), str(padInstance.getTransformation()) ) , 'connector "%s" has no suitable segment for net "%s".' - % ( padNet.getName() + % ( str(padNet) , chipIntNet.getName() ) ] ) diff --git a/documentation/PythonCpp/PythonCpp.pdf b/documentation/PythonCpp/PythonCpp.pdf index 43f05aa508cf3f5e2b2bc33b3eaa934b81fb7c4a..356467c8ad5441227ba591f068c54a6a1ab97bf5 100644 GIT binary patch delta 103170 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 XC)tcZ*N{M@v8um7_3FNDnilv!q>NAj delta 61895 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%0AE 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

e2%JTb2^nWB;(VNBbc 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 Nnc&FD#eYb^{U5XNnl=Cc diff --git a/documentation/PythonTutorial/PythonTutorial.pdf b/documentation/PythonTutorial/PythonTutorial.pdf index dc627e0d62e5a5ccf34f85b220631694ad3620b5..ec7bb376c78f772a33631b88df68dc3fcc592850 100644 GIT binary patch delta 152623 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

QBaC$c2T5o(Zv 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 E1Fe`dLjV8( delta 90615 zcmX6^by$<{*Z(S_gc#I7K)Pjgmnh8u5u`^AhO~4uorD9VVKhp2j~XG}Al+TkJ-`v~ ze1HEv*K_T;cJ9;Xb3XU@1x02ODFN#{c|{(6pl}7jPdp@N#J$JdI^LhG7o_idyG~Ky~IT3Qd3%%4@Hifls z02T6Q52okCSoSSMZL}D8jZ^H%qFKMjc~rrc#49-^MeU4!^^OWydkqal#bt*Ry@#ug z#>gw?FfrznvIr3-#r{%SOJdYYVBzv3iiyeYgT9Y`bwrX;$YKx^Ls1Z}^E2`N2P)em z+xOzzv@JBFFpB06acZr^o8H2BzK%z4<$?y3kvi+aE^!}L9+5u`HP$xxFD|xMb%3pX zIyC(Ge?Mm}f?2t{D0Qe+@Kp!p<*b5RK=1$oJW3(fcm9ad2fD9D5|+3AsKH;nV|14h z{G)GC$*G+GnD~q4&v$Mt=#obF`G->Iec-pg&tLs}sP3^_ zK9qYW@z9uTKI)B%<9$5cM-j@sQb+QAsn}vZGe#jacONwt7{59Bt5~0mv#9@Ov2W*UC{WCl-CGf#pal^{<7Dn zzhw9hMg6kxlVf3t2zn4y?4?D;UUYvT|GjQ-2E!!v`-d}p%b#3ns~9_apk2bQl=$r{ z8LOKNEDuxfi{)RY1b$WJ681d_d}%tmHnks;@UrE{qcB*_w((eJy_d3P#?VWtB^c~- zVc-vCnp2ADmW!zN!1hHh@qQ(J`rUuOO}|sc^TB26%8%8JYKzcgRB3!MCg?7FBkT~` z>qQ)URA!6)kpum9iBm%Ktlb-@3Sy30lDxm%9^@_>$kJWEs>}ejh1rq*&90D|nb#R( z3ULTIKQ)-MBl=wa5!)A5|8U?nY5jp+%g)yg!f2DL*_*`GZ#gdv^j(VQ>pL54w&u{- z6$KB5C_K4&cT&xF;miJsF;QVcI&@q%U7L}9OUzPA!No}&MI}J%r9Z1zTYfp=tY;k$3m6?HA!rv2<4H} zW&2vYa_3s~;_X`%Z;R2lzPzO}nJhHeWiiXMiev5j6bQyU5nF3Lf6;O&yB1JX93uNi z)kci??I$n`Rj`Q2T+LN4;z-?cKp78ha#&PhUrjvrXXkT5cSB~JO8LN(j(nowEm=YnaCYD(#;0IP`RD9eg3ie4VCo$_k>@oAFZbj zl1pKKYxpe`+FoW5>7kas7=*xPy*zE%VLSdhgQ+sr4&Oyl@lH`=So%dn)`$G-_iVZw zcqIYOOzN-C@AV}d{&3=fTe3%azfqOI4wY-)9E|A=I-4(jGDCj!+Xavr86pYU{|tBD zN5WI2460SA#MAyf*I|vy6!kO$h>egr9T>nr`W&v^5BcJLeY<$P7;rYx>a!raP1}40 zh(qgF5Lr1|y1KbonLGS@aq1+`DJlG=-nvM7{7iWIg+h z_a*Q(DFI<1`6%)BGed$8a^y3OE?cD;^^(H_(t_5T^`a}@w_+JLN6t=;F{r1U`!M+^!(y;oP|tLb9&x%sMYMICB;^I~BIQHGkn|evWP)Y)(bo3Lo=ROn=dK)G zcGV*MvPa)l&iw}OeQ&4#(gDT79_ie&OL!t(#gU6eS~rfnqK$7epQC@dXI2|}m9c!! z zC5JX2xw&%zxdOX^vQ@;R-}Q8e4=CPn)xG&KeU@T4XV-t*lIlBGUsz(8;mKoAi$sN$ zQc~>0b;2&giAyM@T1FWtj=O6|_y_9?8w}Oa5vCUc4oD+D&?5eU8zOG7MZ)`OSL~niE zG!F2dP}{A%5k(2j1Rc8d>V~a`tIdDc(^hNauF$ERJ)=n_6W1}4=TK?}Y*nop%V=|F zt8JmQC_P5NyuN#FI$^5+G-{uKf28_`t6HI~Nn*XbhkoWG%vgNK*G)!y$f^ij%3+TD z)EuTKm|U*Lw6;2qC^if=NGR4L2$Qn7`&qXCCzpz`?CFT+$K+E^SKy$n|I)@LYWQ** z_=_lu5WQSaY0ML@7YZzSA>rH2IH;u}WiXSfnc-Rhc7HE{ESniXg>CyBv$6U?0ojJx zTk8`7K;&$e~laM}Q^YsA)fiT%Vk!tB@NCnI=cqeBixfaZ@8i`lZ`F7YB0??23!bshj zN+=onPhw2vvPla^E7!^&Wt!9os$v!U+3b?n5@D_t9w@9!-VYb~=}xdi^%C%?kcnf> z0)6}m)p14fnyZw3Eadz<(WB0$_SH-pAHQ=CXL&U|S_8ijli!OAVU-0=BWVRaS3Emwc_Y2nJ#Fh=f9 zm2ow zinh*oZrXrkw$3hGyzdE7-ssbBwH958-$wf?DqBy5oP)c@1`7C#GQhSofQH>pBZqM- zq#^QURze8aaAMVmwP4JhZo?((P%2l`($SLTv!iD?r`_hwkmR`+r@x8BHd{LN#=C zS@#VWwxB!w6u6C^lTNs(@_Ah z*)<$RwDUs3gA4{q+F;n>Q7ELYblx41gQ^e$=J{c z3Zge!@!{);f2RzsIxQ|L zJ^HsLAiuj4YD|R^n~4Kt=0OUqW>(U7nFv#-J6vH^9Y+GZ*k+Ez-L z(Nbd@XT&!)1ITqME86WW7AYL`RGGuir(_iX))}r|6a7m~YI{-`FJrxJ4nOrM`&B9R z;-vD?Kx>$lz5BMc2b>40!M9QV=6^BCum%$bwAd-w7~KK(F+ufU>Jr1lrlv@X z@Q;Zsb&x+gkBz>|f5TarMd<5z;^&?BgZu|q6%h~%^p2-g?MWyMYC7L6ZD~l6>TmOB zdhHbW8Ehf|bWS7CQrn|YN)$nMhaCF%7{|pAw&8p%>P4(J*adBwOzWCXztss$H-kOg zY$mVb1udEAP4x$$#U_~YHR5z|-`c6ob&=g#9}2y@c4-U2mU=4vHT_lgUkphZH4FFJ z2P8rFYgfRKD__CxQ1%mFy@#KwcvbmYcKutin1@_Si?&%E;ScNpWol2$C=p;#+BYp? z7K)A0Zho>uY?+s{MVWt7HuE_VCG3FE3NMLm@^Msr#YB#Lt*J}XsB<{CzCt&;32K@; zLl{QJ4ze~a{g~+#c{p9=3uoCQ-2zLYy`+I6Yoj@o-0|;zYQE42pVj+}AZ>0{&uX?a zaeO%3*XY(O7Ev$=K9Yc}54lzHS^#nbbW$6p;{R#gkXtEb4_CQjY>#0l-06B!-ZBd! zoZLV0WmJ3Egm9jrki$997cR+G|9(3l`2M*k#<09U&40U)zQ_y{R7l%e^qo|Yv>4n7 zlH8T1R2K83Oin z60Wubhm`5jUOWRi-M~0}R|9XFa0YledQPgLsyxk#o1W5uJFeaRb+5SOBMeO%EmCdt ztX-CFp8l@zZ{Zv+RK!d$R2JCaPFXjR^PAr>!&FQ*xPYT51M<@2xZ$F5%rv>-BC5bw z2ZKM&ZFy{LUlO0C?olzp#Igp@?>z2%n=Y)~wV%=RJtTJ>wtv^jTzLl!z>jc}8e2|A zR0*Wew!2+=Q?Q=b*1dq5R-Q9EZ82vCoPEGpSq?sLoaNwWZk@$Hbo(L*{AT#lM9wYK zB4kK=n8hPl>A2|FQhRJbO_$AWAXBYN?4d!~191-$y*N*ey-ydRny87$n5v7_zgix{ zS@ny6MyIlmFn|&tAv(|-P-d7do6;zuWyn*fMVu?0k(f)h(!3(PW{C?>Lg(-zA3;E2Q`SzpkgTdLt^Sw=R${pleroYTr;-LdSxhgGd?i`3v-KIcb| z-^tph+zRkXnzLX9z~ZVyp4*jSgLUt0D-==5FH@`EyIT5xO?lWe*fGIcrUsqoM}<}z zo?#GRN;pE&jBQ8Bx8dS4UWulP*Lfp<5QvLvsIdjgvWX};0C)v;-aFe$5@mTBe2qNd zu!FrQqGsTR6sdiK%*)7HrqlnXe)}Qr10UIGPxH8hS>m};yCnStMrt<6-+a$P5_4qI zR1AJejTD=@@2g-8hL}O4#iq5n2dU%4F^PzFI|O=#bBTT z^)6MdTJR^3vDRNMvQzr*d5@WydxAB$AGKsph6c1!(*7IvpNaKHa4R`@@K4~nhSh@3 z=t9@aVqi;mRaH$+Ah+U4!-^>PDb|LO=hjPJ%k-B$vFe6`8oFIYKr1Zd#}nCxOd%v9S~FyL zFZ81_RI1@Ho1uY+~bf(_vHw#pty`f z0W53x^EVhZF{!{uL#Gx~$*wgyHLTIMfa5#0S2Xg1BHUlydK<;McEhjUvazL;t&PV7 za8X%2jkb6Ma)94&yyd7keLmJSHH#fJ7B4*CVf4_-@E1mX%xbpf_kx}=;{t>Y$PLX>`=#lMX{Hq&C(G!{;$!C{cQ_ygzshZ&gXk<95Rt~ zX=vB;Zw05P7w*)~mU3hMAvMsBTVpW{HV+_^azuz=UNSfXy_xjgZ6Tfs=u^AlK%YK; zC+m}htz^aSxNK$iz}AEAsiYkAH5M$T{j7yPIhbM-VmK8;RGYonvk(9hqdH6~-YX2C zrAxlZTbh13`7Yw%qxEO{YZfIy-V)$JLKtqNd$Q9kTIDEqOpFMNX(uKweHBjh^i`t7 za%*Q~o-EOD_p&QsHS}b6OVp$1<9wb=J94{%CE`|?HUBc=7Pec{Wj(QT^QS@G=Ej$@ zltc}!^_DF-pLGTl?gzK00L`~wXg%5+Oq3(8d6LrN)Q+?vj!7RL5SJi11>d=0b3XTv zojAUd@hF^VSd{EL>1&aaz1;*eGr)iDDD~pXN4(N&%mj~lXT-Q{IJN(ey34j}M~ZVz zM*Q0k`ATpI|sl{GP#jvp$Qf!vd zBI4^hiuW}Dp*-vj-AfqPQV>ra7tdN>?I;b97v(;gzINQjW>2U*9=88_N)(Xh zb7UV9_ERljo-`&t*Z>yjc4*Y}{A}PLYpuEG^2a)6V-R+GG*8u&rgA$}IWrYi{>R#t zx!1o4<}n<$wtnjUsGrn#LZ4rtahrMntSlTFS?V-|{)FW?<|m`AqMXvi9b|dX+JqWFVVR3K)^yA(D-a9 z38cI%{F6|f&mv6eh*aq6?5{LF$>s%uWEM;@wKZpdKD7E|0|``}=oc;T07?nT@4{eB zlo+Biqj$(T>MYvbR8d};jm}=XlV+fu)0Wfsh;`o03r@sW;-Q*S;Q%drf!d-n8}NH4 z9u;d-lLvx)oqcoo^&4r4ZP$6%u8|+)XBJb!1nc04T_ue}yRP4F+arbb$n14g``#+p z`MKZ4)>&NfYNp>6-&N6^R$VyTDgK0kiwzINoNgD-Fd-pv7nl4WFruh{`E>TDtd^ix zKG$wZX`VgfZ)xycpBfH;-$jrZ14LN1x|ZW*X~oHQ=9cK_wiM$%IS)_dRxT+k97rZ( zfURy;7BAuEn;Z;qLf=cCmk0DHtB*Eg%q{68M|b`QA%dFY5-kPlmpxH`@{VD=*l?PFW`Osw;W-p=-QLEa1JDQM`$Rv^uW~U zWV2gZCHL8j0B0Tp^hebEaVIS3T;N3^A#_VY!VGVUXK3&;*7pGZ+`ePVnT80h8^5%? z+C5YvyO8Ggk#&;Q;V_u`Imm@VprPwFMK!&!xKeM&zus3EWAUGJ}_Yu zvpyM~8XlIfU{U5CmfoAVGYpRgIh~a;4nq&C5`*2vG5*TeF>M2dmoOUIa*<4yBI-Y{ z?G@6{ASMfwy_GAqNLc(k!n1o*v2L=52)lAd;^dG8%Fra*giNcO?PUubGat09NbH0Z-QP^*H}c{Q3I1O z?Vkn9BCdhv?^haM;urbmIcy!IvABM|Gd$kHbHBgzjXqk|OgF2tXDxPOl0){^TruM^ zNwLBFPe5}AjEe;t0Y4SWj4jBsHdSt2@}(Hgp!PWq3UU{fiI&+;V|+W>2D_IgzmnX3 zSE=@!oj>%GB!QVOSa-1>|LQAA9<;2d_)tkHqK|Hqzk+w(RsQfc*OMmN;3mn+ z>W~)pOh-0-F+B+-=d4Qq35vf!555X!HEEOA!uQKJ{>Ly|5F6*AF8A!<1 zC9DeaM}dK;d46awnZbEKsb=#h^E4ouiC(kW>lM6F;09F}QNPIJy;Ti)iH%PLJ!Zax z$7z4%?s7YjI&5AqU6ocM-O_u9ZC3iO5&$dwBVGYE$vrDdFiU1@O_m+M=>8oBSPf{n zLw-+`{3Mq~!ns{*E2b7A{;2pI{H5KKwnMUJEjn;AC-Rr(e`BoEwVEBEz7z-Ng9p4= ziwmhr$>4l%Y=tH(5((;PY+n&Q@N4`bIA8j?p|#9X{Wq)rdR^Sp2wAG%GG4Zm-Y2j= z$8L_n*Aaw*6>_yf5ra)~`&(~!JO#E@19(Z%Y%ADiFqZX^!y-TbmP7;eahXT%HCUde(agEkU{J$jhXySqhIaq8w;Z#?)W#nc8q?Rorf`dipx4D-MXBg5a#9|h zax<{&MJ=GxY9E*?|NVLTYq?(KOJ!aNLUSP+934pDp}n999fd*~F! z=mvwqX@PSJ)#4}m3Qb|21vivEceP8g{ptPnwTESD!%!#o=v^vr_EOKB1O$)&L7TR9 zx5{vIv)ii*zpowM7Ez8=>##k#o+OIPE58*RinA-iTTcCV9Wio*MSR@hP9`ti%;(%W zS_5&SSy$Ag%dD=X^(Kb8bgu{IkDBqq>kr7n&E5hPhKKF`6R&-jiPtq#rhZ7(=2qC^ z?>0AfH7L!c6oFG-xEUjFmyF+~>YYLVQXe5p#7HuN4$sOW+{{)M7W+K1qY3<}6LL{| zbWP;R!#Oj&l@2EmcURh<=Q{%7vyikI|ia8`SxlSG%3gN(|SV1hNCFL zukCw*$|%o(Pnz3>V|I*Np9=^THTa%om?%GJ_x$y-^$*=!%T+Z@n&uVj#p(#4a|Tdw z$p^nF-(KzPhdjK7SzR5^PhsQFN6VG?V~c$L^Auf={=2*WbfyXf46U?>-V_* zn!cGGBP9x^rOW1^V!$#D=%YOQ*xBKEs*j~R7n(bl3XBK6Mx z4WCO}xp=FWw4Y)5&-l4+`gvyQ!|_6?Jd3g*GZ020Rg27C-P`z%IdTL};^)?BTL#B9 z1rcV!__%pbyS$kHN~v$F$RG1vYU-^@Imvle!e;F_jDc!P$cCOESU*UJi7GFkgBUY- zUbHy8+uq-?jAD^5zpX9x2clz>&HU*NGSb~6nG>B`SuWg)+<%cS_2!HDL}r?OzLBql ze{X_pJM>=k1OW1|rfEc9r8G&Hsj%cvf3r}T@J(Hdo8Sif0iNm9&|W}y&+YY;44vn4 z4{Zg^Z2jDwP*InK!t=eoax$3qfM8P=-t^aT2_TxL)o-M`@GRi12gH=HD?L>6@0ItK zs$tr!Z@GiYz_#@rnOe%No?D4*OwzSSO83jzo9-RP#LnI#48f+$L)K|oJ)WWdXHzjR z9%Nyt3kJVNUrF%7zib(<#9lR8SA0qT&%(?J7JWw`vfi9T0_Xy^}90Hv3UUvj2P_0inwbw@H3P%sG1s zHpmPD$DC(%E;9W(=;@uZt_7x)>|Sxg+OZwCngM~q8qF<)Y=0A_QWz#;Ey#_%{4Kp5Gulk9v(}! z8haMhq%C~*kM7`aG|Tn$Kwr2K?~_`a9{EQ%jy=Jp0?vX_Vry-(5f3<@0dZSAjR7d z1z=pd@n2v3PHg1%rwY$FBE)`sD4hVpRgm;nV z?Otxokjp#^7hm~(_<$_q)5kY_zqCX7w!Rt=u=%zzn&rNkAMPgZ8tjnL6r1OSwXGCF z&_qvV2h!#5RjB>dAyVaA)RyIAf7_>c;ugthJ~F(i7^*2IHq>rd8jffd8m)l0wdXxt`eGqFB9e8n?BdV`-b-UjVk`ChVVV;2UNPgPUVKAsRU!^=C@<|5{?V3`t6riLh6p z@cQ&NkZ$tw0^iIQB|@;G71@q=dZ2|%G1rc|f^lYXdM|AWGk%j)s2Pj5Rq-Cn9NhMc zUiADm!<=OaYx-G5LjH$5cr*Yvf;FE0e+(Y?36cqC}8_#!XL4vUeoCw$)+IhIW=>ynLm}u>deE z`MCvha!>8rII=Wa%~6e7=(r~JsNFN!!@i^KhKwj!Wq8F79JEdZ?O$YKhC4&K{2G}M z+gs>^XH9SwYm3i@F-U~Xvv6nF05i9%LY!H#-g0=DH4g6!v^K>xiTi5SsdGyX1Ap*3 zI{`g@&4k?zlqI&&ej2Wi9?!RnGEsRcyx(`z)#ZC9OV6B`8z7TQ6HFSuNBNVEj3`%> ztes#pp_M|K79ylgWzPE91dDt+hr3x=7QMSM+TQr!LO0Kj#paJsg zm!T&YEI6sMi^|Sej6K;D#WCtj4&PmJmaZD(*$-sI`*`pW)sS##NJy$!5rckgS|orz zuPNr8S|#+XoY+L13ua}ys_iD@?P9ywyrq{x@sW8+TrQXplZ zGE##A-#ve|8v>7u74;>6S}2SvE%2GJiL4>sq9RrA7WNG4L|*MHR_aZ)^S|cd9O_u6 zU{&Oc8Gc6pv0H!e$&?KLPIpA*#pvi?Ntdt|)Dcl8C3=XX21cwUZc)j5KuunX{rPsf zF#(%5{EFLm>+Pja@GashU=gJ+EC}>Cn^+Y@St2xUq(KnczK-+)q#^7QA6C8z(!<_}}j{t?Q zP5&S^!fu>JQx-2Av#}p$TQTVBTUwRov*{mA_e3i&zI=fMhECffXP2JzKaOD1?nswD}oKPvF8&`uCCl_83q4!6$Lr*AOHi# zY+WTBU}rN0{fI)d>c_>2=r;`fPk(kxDr&!3rFg<&^-?038VC1#NJo_>W-e zWo>1g!SnV4A!WL17CTCpkExXT+PP!Cl35GQORK1tA1pfvN;hvq($ttL?u48C~OOq2DC23%lyK zis9a7Dk&Wfl}nwPwWdUMQu}MHS?I1;q=%PX1d0dm!AVrLf?dw`ue-}(*s3j6V$5ho z#|gumqsw?@PhIsaej#nVk7?r=u`mJK-XesJ zqYlnJC6vb=Hl?&dd4NLq_6B+rPvA!2&3RT?gLyw! zP4%F%Hg-?5PE^e4&Vpot@2p`xo%em;Q|@#C`B`6OGbil1=Q#yF)~=`JslEGMTKqtV z7X@n%zpCIrn;H)qYiX4`wc`=z8Y*}C;Oq9Q<*5wGaMtY&pGcS9uVZGqdutyzLAqM<p&P?CxiGH2W zX?7`w&1?o1gG1pX0>3Tza^nMhULA+bR?1!lHMQ+hj#H@R3&*9vWv)ho04Yp}~4Soh5%*X9?owd`-ZX5PDAZ zBS8VxlXN(0hJ3%lG1T1CE1oEmxOgCKB+EqvEr!w5*aVC>G)~$+k-wOg&9{`!P8e?l zZvQRl!l+Yw)FEdjWuK*Ej}f8_v85dU8bvX(HIJ^}5$ASfFQUASwfKDUNUfJx5uxyf z+7hjRKtO?h8Oy}#hcJ%+g{Jb}j+eRl@$J;a17B>>NUgjqbDF=(WF$-3Gh(Q0M3 zMaDc*p~y+yckCN@xi30ZNfeW@4FiYi6%hvaHG3`i>hewHk+LN6Ebt9j;@7LDm@M$l z2-v=!Oi+Y}Vm9RF;Bk|%Yk8*G zxN%YtG|q zZ2HGMq4FCZsm?BXqehGw-_g^SVfW;m;y2{0hS?0OIAN~13HuLhdV&Fhc zf{SQU(!QtlKVk}lg5S0yFpu+V)@+YikHuaQ$L^Pg^~|W+K=7YZfOxl!#YU@ENQQQQ z^ZkR_SyumGrz+lWW}%X-t?cyad->^zdPxYf%%e+aJO;!z=`?%h8scek0SSa&@@$2kwES%XSSEh{TOXRCW!EoQS(H64z^ny@htLzSg0s}uMj z_SN3)SJBVenT_wYi7f!TRN}GEs%Cp;JBw(03r1``c+h^F%kyBT18R5waYyDEz#BeX zDlp;c?d=Gj7lpjHA5=Y4*y$5ZrxLT>b-yI62v-b0>=*^Ke3Ha}{^jiS^#N};g z{^oquvm{rq@dwN>_W#DQz#N63?GIP!K%5voDb(MbbR*a#9Mw&ZCe0{dvAtKdn)j^(^#57|dji;l^7sL(2}R zq1NDIQi*Jq_S<0^WXYp?0KBqv=kx{bZVftSmA*zMef ziD`qX-Y6S?x7@|=RYRRu{PkXHF4 zJrPi{-7)Q_3P{^6Rlb^{%_KYY?e{ZXBKU-4Ku~;Zn~*L3{#;nLo!H2s55mE8MOs(eF&94istNna_TR!zPoWl0|L>UgV++* z35;50QX))^k2K`LKq|T9Jy~&Rrd~^(&7a z&MX!8nXTX-v|n|QanSVwG!E(0y(@wnfRdd-SoLzBLim?(i|ov%m=FET+U_<>hd;|r zk~EWjD@CAb71&Yt*!O?GVu-d2X~9_2k7z#lPnfNWI{N!Gs8~aF>qI!kRC31C6<%h5G(Y}! zeNk+03m+_=rb=^73yOO7|Ap`*anq%lCEcH37QkV6!{bLW9 zO)0B4yVh6qUpF>I+M)}8WXhDx>G82S;Yx~LHNjj0wNg5#%@DUhWCb=oJ3d4)fZu;_ z{*P~cp8o4}F~WQf_G`uq-1==4{@o}&p>D?iJ<~LQb0+9} zA5ec_a5OrG#rcEB3E}qX479o8SaSw;F(zR^g&+0*Ij;KZ45atJF`p^9AT6HjIQ*x# zwYH}EHg={)Q}Fg0lQ{y;5;aVH^1W8A(&>wB`$;0&EIudgJroqjG z<^yj@KgOLG_V?^4^&7hgjP~@r^`i@=#s6Tkz~Ko!DH!xmCtw~X2x)@YkuM5Z>|9^_ zgUN@Byx4Z?~|hmSucG}Mz62O$GkH<6I-|{ z$~qgVX~5}zr^7*_xsC4=bt%1dSF`7-*F^l1{9A%F-W0qx=`F-hRNB|6U$5^_II~0+ z+q)*D5l9^qdl$kWOUn*ufrqG?8;)7t|R%6l$%(pH+Kn_@8N2JB77v1yDVIC9FkyA5f9!YTrDxF>sJg@NTNLs7C0NEGPG8NUFZI3kvmvot_b^^k^@E7LH_YjXLCfcmCuR| zEiFjdnJRsMk%)Ea#$m)ZkK;b&?2wjG_Xwri!`#TRc$2;D91=uLq}B$MxcQM3YK)_; zw@AXui7PfgwgFwhp5PRfuvj6t^BYDoNV+hmb9$nsf=#AimxghVM3*m+G{1oyY89F+ z2O{f#_-uI1)Y4SxRlEr*F&4LE_xi{Dn*y4bEmnh9OOfKO%c$&NP`Kze(QpSxH*7hH z>e^B-%=NjtTi0>~=LX~lFiDIX!p^^(%$d{`KdAperPC)!E3AO5NhfSs127NdE&9G1 zA)V>MlELf>zv3bzI}|^OK~zN4KY;jRD=Ann{Pbo*M`5(FgMA&sx%z?{!JFnUG(~;I>l0%}j+g5!i^WOS0v@AbW0Yty898 zut7nGWUeSTp54RV-*vgimTMd#p{r$Z9QU6GM~&^R`vYuR_d}YXy}&SDY!z>YmBmq0 zY_2cXP!d8(7trDsj*M6N$Tsx*KksC~jAaSlw~jE%e|<*Pt8a#F5+ll}Z{@_J6#%`6 zb!|wCnM_Z|uRQ&ayZbbM!jnFMEDql6;h3MnQ;%cv2(7-#6NW7-%AIgm=rxQNHh5eq z^KFB|Yqtnu5np_A`~oPRwhE)0^hl5jKxtLx1mu! zQRhTi3H9N`_DCb1I&kWQVlB8dAk1mFbCsy;K)fy0;wP%M>}Tc~q`N1=aFUZihHD`f_<|ab9=KMR2L+K0%cSWwl6Kiy%*k;yZ^YOpo=p`B8vVnA;iiP{F&BLDGuf1Qii4HzLS%m#L zROsc7GF+AzF-CFN0qVDkvduPquo$q=tGv8XVCNTVlbV9 zJKi#(vmZsiD{nfZu(0)E*I)wYzKUF`GecAstM}Kb1Rw2o^84vRL4pcnVwKMRWJ*6} zS9^S)R=z*hecEY|5NO!;LE$ON5>})T2+sbSuM3ysQsp9x&F8@70XOm7gh=Xq;Qlyh zMChA+%<7lSSv~Rqz>jO9#i^JN#2L=~d3h(BJ4GR2kq>dWppkKXEaUleJyFS>aJVl{ zXw2$`vPh##vKw3(|5){_;gN)vHj1MrYgPdvfz>B~Er^2n#Hm+O`ar!}|ll6L0xCK?CVSiS{8GRqt)u_|(W>66T`1l_v&S59CFB!RYM__8lev6clny zf0#g0N-NX0ga8zH{qxL0+k3hcRz;n5tw0ir93HxW&R+gm7{6CW#uinB+GcdTxh*Ih zTIv15ScG*$Nd5?Y!bCC5?Uj&|O$(+|d?UawxK!~XjwP-!l28`zDs4fN z2~H7`<&+>7wvM$X8BO*;ol%pOiT8bV^B(mFu-Dx{1PD|k$aZkV%+~!nqIK))7%Tub zNYWkb_;)d<&faW8NNMJxD>hX7DQ+-+uO_mVc_^X8Lzc$RjANa}KkKg6MZPphl1|^rZ8>iZ8ywTT84VEvhcfI~OMzWWCfi`^`jrjb!d5y|yt*rw}+{3xet7 z5cd3L$o*p3&SCxPjoW<{1#kSm%4fFDt~?rPf2OS(1#|oPkJqUzo={fV_Lcxw43g@) zbjBV#;LK#R#KJm`O^!MY;-;A9c69ir7Z&R*?lH4NHMVjgARav24HC;u_@7<(QiJPu z$gS<%0u#+%%Z^W3H4_sSc$vToCW1erXwiF~;kEB=iXdm+fG8mDUQM8-)u=F=qTtM9 zbrlib$)E9K#bj@|49eUJtjv+SWsLPm+Mw%h{>2ByfbQi}NOFUvNuipvE?Y7GaeQv3 zjn_I6)ZQy+Z?auI*Q9 zv4-nI&I88=Y!A~ve<s+i?(D6r{Q{t{l~uBEY_WuJPcAH%*7yy$?4j44W5JmZeoy5; zV-z+(W-+YW?vK;sdu?<7kFR%(k}T-9Ma!-(+qP}nwrv|(c9(5+xy$IXZQHi3Ti-cn z+32(z-6O zw^Ia3RrI%=%%|8YY3B7Mkv0kew#Z$9k0wQ-ytbmLrywqbNoXFu!1vNxsTTV=+ZGL@8EI+Cclnabmf{X+FT@IZdEqLTxoPIkO z20lRtgd4d}vLN zn~14p{u&A~jyRXz8&Owkh&*CBkpArKt1D0Js+OK}1GDV0fgH$8Wr5kgxbm>u?>gQZ4&mUHK+95e5xyZ(2({&YQ-`+<7&V%y~F7YzBqk@t^+B=6jR!cZ=hNF-+!R7GOF~I??5Km(@@=r{`cX&kV8s zAqb8M6&CXDQNHIA2|z9@OuRmDr5RY5?M!tGO%mDw?^USSX40?TEUluLb;B+z1bk(1 z<}n{vv}t7sP0E^D?(xDCWtpE7BA@xm4UsX-KF&MxYfZWRT};npn+KTv)P?L&5TZVT zIXt$ltNNwggz+9k(6TGym}WP_XMuZY$(FY#p~lmLiKnLT~{cqEqj# z{IFApre@x3`{tJQ0JT!SA3G2%Q})cJcfHj5oijc=fj?O+$3mXPer~F^@L)aVccmL^ z?)`4woEerTC&d*X=m=f@jeqwx^?C7=F~s&WraCH;mZj#&vND~+9vdR6mp!g@ez?k6 ztSsg~Gl4oQ+-+OsU${9u^R3zAajg9sIq5K}lN<$Z9VdW6L2coq?Hrz&pDY2kq{$iA z405I4XZ63X3eEvM9+^K>YqbU0N!HGKDs!iZlMR_4mbQFui4c3E+n(%nE5{E59CwxU z&C2novzhj|x@~@*JItD8ib4%pH}%T*Lp$e6<69E)b@5-D`t$tu?Hu}+_`kUIY2W(5 zXlYmE;1EBYdE_)iDPRL&mNZ8xU}9j7mLw_QK4ef9W{$MldJt3)X0HDzq)-9$bds{f z(fyZe40-E{Ry8lXI6g-R%|j*wh~p{f*A?8C+SQ!uSN~Bref#5J11AceSlbL88*XjTu@3RK4PYLKk2~JCvRYk?0c{l z4aNV8f4Ofboa&&JHNH?<_8+a;eIzr0_sOAyZTgm% zQZnG6-zohq0b>iC#U<6Y)x)@&;h+8nb{;BYmVx>GM9-C2vlN3I{7JM33PXcIx75)S zjf1<`EhFW3UyM{#H^ zo{W9P6b&hALi4?(an}i;y#rf{+t*%yHC`>Q)~Oj-zWq_8xC$KMK6?}9w^Mvri<35p z?T|kAGsRO<+8V+55us9*XY*mrJ|RmmyG<(;T0~VG$12+v@$}BdY^=F!cxoT#BrmAj zn)@*rlHO(;M%?9Z`M!M5%qQsgq#1^x5H90ct(Z#Ssk{uVP4f;wmd5-8U{X^5)85@C zyvfU1mNM7CL$ppX%KE;SZCZ!!$TvGfDtE19T*|04&1%`d_ILRZpW!@|NOrAtVWKl( z1es{DBK*RbSKUJ5DKg5riCHXh`_HGVEzEWwo+V;Bg6dI2<@6;3(S*U>32yPjuVMSnfiEz2pxFpK~4fnW|L%~ zdGJD+gIrTwqjg-S1~*i9qBrKmRUc<$;yQ;OCFY?ci?np^tJ7o8JHiVPf53JycNaMs zt8sQtL2^FbC8elY)4w;Sh;cDBRCA+v_ud{bIFawf6s zLZuOgjG+O>JDfWnK%p+N>3i^Js5;93+`49Kq;~-nN^`HpF*xc2*@a|H1%>p=ZT0>B zuaEuR{@|us%kQD%bvVphhen-zA3&{Id*Wd%8}}IyJCKw zOa+&k`f{`^v}Jcl>rqgm_Yi|;Od-z&2Z<>1jY4K{+b(w z@xjm<#6Msfw8TG>($4Y&On~`p8z2BvP@lo8o5UoG*aLa<+6+b$f8dG`)I@IP#T=y8 zImLGECKjosEKVG9+C}sT)^7;O4CD*cU1QPBk5S+Bxgy%ER;5wxCN9)W8TA&O_PuWK zD&-8`k5R&b3;7W%7`GWR!ZSDJrL*RRD}StHVw4kp$H6|eK_ee%0)jOf52*Xhv9L8c zXq(I?NOa)q_*)%p)^&bXQR$y07azB0>|oA7Z|;W*-u2gMwbeUhZBhNB1c^_WhpStIE!ryHJZuw(EV}c&BP1SvPQk{mHt(?& zHW-wc+>5AmwAljVe8o_}O%yReAozk<-NwWaVmgz+Q^IJEu`C9t~!+ZD1x` z!9aUf^Au|m+9L(B7ZtRGw&(bzgjrfQWbiCA=E{&dN!9~ts+S3~6VS}8#E_Po>||Y2 zBK5DAzZwj*70em$2G|$BQNL`Vxp-4<-kGA)(G80W8nj)LR{vA##Ao(MdzEseka4oD z1p>$q=z*%|c)d*?x=^=D5q4dMAh~lCMq(LKClPJ$@{OL-S*<@-VO@CL(uE7BRLh>} z+_DQEKrh%BcmnwW1jxHrqtm+L=lt~@U3CAA?=?mze*b+_LKbnlocj85in=96CO=gfBi?u z1BxNs=@&21k3Ghb4Zv(o{Ch(xfRKCfccZhqL`}@9G>OB?4j|==$KJv%Y0tfkH!h>oDt&UZTft7O%TT+g@47{uAPqlrzf<+Oo*`W5j%xsr&KaZEH@K`KXa$ z-vIc}fMkhvD3L^QLp4sbkh$m#6T$WRiki0kBUL@4ek8bdL}2a1iQs>ZmG1i=8@6;H z53PI!(-JKKC~17wHnYK)app{%bdwtUZQ{h*Etgj5HEWuyLs`pl^>E5aWr*HK3-%#j zQHUH;=NZC!WN*ZJ`G@Jp%91!VkDO#3TH79nEi0NLu7KSDfBZ5v8GAO}NAb+vpmP^R zRg^$9=iC8(@#Wd>*vQUpn2M|*;gP7aI4(0L;;B>txc2>NXnaEtF@@LYPzJBL|Fu{Wy=fm02<*{-~XJ2@G7lI>@WspnWMK=3EVp>gjn& zs#R=2p<w>c{xQO)4Uu%)x zVlZDIfgTH$>I`E^>DE6BC)$RzPt~hK^8Gc%_~cSnv0m8QVNUT^tp@3a$mkP>ivO_| zN%qA;FUo|M@;FwQY6oa-T`;a3{P$OP6%7!7-8r?Z3)aTcu7&8W?&n&a~=>1^0%iE_yZ`9rS$O6 z3C3E(x=bZkrmaJ47iRYqOY(Sq#1bbT{O1)&SaQ%Pylmo+Q+h6w+XAUM8?uGm1ZbMH zVao`QEHnFb+aM}{lJ@Acv=;vw#)V9$Ek448>%m$pGtdqK*On|AN@QD^aYoY916{Xn%rAP;dkEx zLg5H(;%lMkRw0x-zQ%kf3gBdt_vs#HHK#As5+n(d9AU?Wvej`*nm#%YY;|Wk(JEr! zT9nNVOhOj%xc|6!{dwip@>i!TBeF6V0E5Ecoijo5?8Bm)>vZS1*Nt6s^o&Igx&lug ziAmcrW2GxMV+5WifsPraGONc9Ej?kb%_(gi^|vw|#u$ftr8}|JDWFO)xj}D^k|8Qa zc472LhL03(l)L!r>xsq zU@-qFr@(;UiM2cXIM~?c=`2>H6!Y)ESoPBfbuePcwU|_l*0|{G@g)3q-#7@0mS^%%csxR7RC|Xb z=M{`3`NM5W>C5Ol;vya4^&zZ*(XEf@2^J?w5*iUtX!~%M7ERzkP_*oLy^bU6xLUPLHCyy*!K+8we6Ii5uDuctGH$0wX`Jjt@LD8!;GDfu}}jazT1UnAslS z5Avo3II_|LlHOamHyBw|59;rm8*Z&Api2g|$lHZPLVNg+!8T`SDl%9fCcqhm#&@2H=9r+?A1Sm(h*3{0F}qYdjSQ zipfl(4|#^zesn30u_9eAb2G%+?Vbdnhhb@c)b%Q1|KpDFQlhO{6MF94EU%%q3UF3m zXuD??u*X#=Du^)4#?Apg&izf1h9WiGc)Ru_R2$cGTYdVr5YJ>3wVp-Rt zy+qqSmIt4THOhd+6fpC z6_2x735ai6Xf>dtFda5WXbPkgkVb_9A-SFm15D4dn2<7n@D8cuIxRlWnkd#kBf%q{X62BdT<2NK4T>QWC=$(EBUdFHk4pGSx8f|eU@>{*6*Rr zEtFWHT{CjA6f?s4u2%!eF`G zrk}~E+`43at{8$d+A;uG69s}tVO?YA;5oQf#24~d!5_uM6E_Mx7fqPDw;J4H-fDhA z-$kO%PGK|qmX52Hz=O1Or%cB?l5`{rJ-mQ*f)vpK83MV8^}j}Ac;pFm{*WMo5uk~@ zpjV4-S1aZ0UD~48RgK0gqDR8E7qRQV1tIbp*tHJ*MUtJ7bff?yafJ?J!-5$Z3IT2- zMU8Her3%{{{`3L>@At1s;3u?yN|4o;f%{3CL6yk;C_pZ^;6VHXJWHFKU{t;8CBJPx zl!r_@^-H`G(3Uv@;pamH$uTynfzic)zb`m(NaG;1u%X0lHpHIy=p!1CN&q1Ff+pw? zFv-v~p?)&%ZX^I`>jn5T8H<1tkVcb{K)m@~U5#2;cE%viMNGpM89heSNb%Uky^;+U z;3TML@)2Z7OuV;g<#yfXKY7(t@<+pHr17mX3J^$q)R5*nr(*VBMmqO6L(zV?p_k-(D}N980oZ14C$j;w#AK)BUAkDlv<-RXTyUQV|BOtwV$x{{~p!k6}9Q$wk&_eyR?46u0 z9P?kdsy@X)S9XSpz04DNfN@SQV74%p$hslNkD+(S6i5|P*KjhFxO45PIrO!2(kokO zM0i{G3d5Jclso9`cMJm~@`qy8Xg~~Xd6RSmBw7Jl^hs`S43~B`!h{5zU#b?JFhZT3 zy6h{{R|}~_qe&YM!qFR&$CX%}(n&&N*)jk2pprZ_t&DfH-2O!Nil?lbo>9vg=Z)m=VQw!xzyOLA4&n&dEtDc;)r>=@E0L_OdEB5-E-|EF>B*PE z8c_}bd9gLji%##cy)x{K?HlIY4iWt!en?_`*Qtqzc80%bjJt0ab<2ss4P)9j}>(lFC%7rUCC~^x@$x{1D!q)r(bL z8wCh<6~{xkq)dA=bui8o|Ls~ENxy|{sh)4>y>9Z`hS^C6B`j=P#m-HxCITE%(f<4> z+5}VFcT$fr=a_fB0G(N~yFE2?(UsE-`0B2C2N!smO-0e-J*%0YJ{CGl>O$d2`3U+p zOWxUBo>R2G(>vTzzjpnte6a>ZhPbgm$JsAishxIw>(?e$GlrCh=PEMBNa`G?qh;A% zm1KJJyDFDt98cjzQg}gg-{hc&akSWqO~2@;HjjYO&!r9+P6sh53xl8OkOt|cyv7b6 zN>9)A=tshai0!YKPOF#m;W?`w2SX60=c_Sqc!ZH9)O7Y-=C`$q*2Mq_ya`PU{TuA< z>@KJ?7DJ7wH%GHG)^jJcnpH|$v{GJ?mf3{Qh>>Dk*%T&}@~^U~`b(w>yK_q@#GntZ zY(je7Q+^nue2jb+H=+N~BD7o1Tq}R}r)=%thl9`&5vR3$!}=@3WLADS9eP{qj>14B zMr5`)U>FC$Z#%tF-CO{um@HyrE*f=xvagQv5q7(0=nYrcnQX}G)DF%SE_@|ugBL?_ z)}(qtW)@UaFj6ovR^#xb3fR3I-6fvG!dg+1KLN>t9ro-#Z>&8{q_qw_eq(yAfgrIj zx6Y6|@nAirl6h8w{L>F@_VIPS_7YI$@?w{xFT2t>Rib7xydnTBIAAn_ALSP+#M?uYS0O3D@+lZrB(l$(Fe%sEYJlg5nY_ruS;w z-Ah#sop8DiVkjqp{6oUYuR%!f-Z0XY@Yjg% zcLLz%(E86HifI5=Jgy|8(3G}+4?HC8oJsp8?gMjJd-Jd_zsUlfntjUDIWIueGTc?z zk72i9W~;xJkAeH?LA!2g*V?pP*WA@Z2MO4TK8d&0eJ53@?4t!$S~{Z3g%9BKKJL=|MZy+i!NZu#mZRth zzuWc0R2Qi;1i*xQSh{oWp)7RR4k6vo!u+gk{>it7AxIPB|ZMs;iO z-gP#)kA5{e@PQ!8b9?}IrdM|HUK43<`1!t$NdVw5?Y9{zOD`$)7i1xeSt#=Dtad%V zMFH-zwgRgIu1jw#?`NCi?d?4S?tZKX>;wkgAHL^oXv%aVN|hyiNi>@2_1kebw=H>F zoqlL%T<3D%tfDi}v#?qoc?SLv&M1+$F9HNxUB5;audm*2ZrMp=Pe*$@;D1$XTx8{I z#!FYoN%P0WX4s*O$W^^5pc|!5xz5&v)`5SKuBs0WW zgZ<7xH)pzO99Qsi9=2gPKMVw%N^RiA)BLi5RS9d`-;4x!Ht5|TL*e>u=!bo?Ms;g!1 zJ%9SWH3&(i9AxJ;7k(s!3c=sa)NfGXAwdDxQdTF} zrwPO$cVZFMs&OK)O}a-KrSJvPh3S5D(26=`UrqGq%qr197%{gA}u0US17tDDpxmHu`%wWSn&=+XF z&k*w!ILmay@VLHOvlZ}sGX#5&(B;z(@9dkql!&jLQ&F9e?CpzsZe}&$H1~j*#*Bb8 z1U2Ws)_Z68InJwcho9%iA1A062Q>==I3&Jy!%Iik$j09@qJJGiMccjFz>md30H7_k zYOkDPV`K1e@Q6Zi3wN%nzh8H&?b8sdqlFeH;j@Q9BQb^icRa+_m&Lp;JxAmAA4HOc zB3QniL02>vw+CX)h03PX(E zUixHWkly8gyBBL@MeawRd~V0o|Ekru=|4d=mJUHd?gVSYIh-vxoqR|xVP4%CEL4L= z1d#3Yc{dxbC^v^qlwVm<60`1sixCOQz^4K&nY}tS8!=!>gHp{RuM0;I0cLixJ-W#~ z=j<4(8mFuvj4aKXM+{c@>qbt-D%J^UiToP0P$O9Dgiq3iFFk%IYFGM+9v(F-jp34}U}2|p zEH-w{A;F&Ba>S|xYry=&1-L8Vs?9p7f~E-pYcfv$#jcDL^T;0zn{NHR?$i|j}t_2~L> zdxf56!WS3XTC`a#e>s&&sn7tkE^NP^*%mgTU?kfd&V z&~l4HASX<#)}0!@1Bl{fPOvdAb&|ayGkg7`w7x1EXSqjqDL_hBf*~kN5dvXNhXZ&~ zHe1Y0j~9fLMexyO|6?wC;(WGqZ&AY6A)KaRfZ$12kff{)#$?~s4M*D zx2@<=ia`cKKj%xq@I#n9Bzye$9Xlw%#hiF_UCA!%vNHfTbjUe2Q44LRY^9O@poUg5okfFi^1#X6Bnv5)N=A-J zv(#_u2tYry;%ZbrqlLKtVa~cPEC-X;#ZkYXtSB#(en6`dS*u9~RO#4(1F-}*j@io3 z>`+AJ!9ETkovk0f;UDgAVxZ;gGOdJzWM8Xs-2oxBflu=LIg4SH!RjZO#io5btK4FF zskui8{MHK*4mtdK%sIm}P4mbrNvk&3jVONL0SKS&fZh7fjRB>R~e(T_H!^v`kPBH!M|m_P-T8Tyx5mup;jQtp=X?B(aS@(PQmx?1(TWmxcI@Zw(a=1e%r=oX${AG@V;X25Ks|w&HJZS2>n00h&wg(}# zREgmQVB)G-Fg$63WXU4!@`JE7n3ui6YdTG^9%x?WhwbE@_ z#47^RDqxTcb7qqc271-6VEIo7I}lkkU~+C>iM8$J5jv3w_}gY*T=$=}C5Wn-2!OrI zGlMY@lh}&nf-|luM-bS6M-U6uf#2q1z;#lVL%yxeseaR8yA&rpdzr!1Zkbep5_PN~ zzqRBTBS7K)Z9*=>v6B=H*Eg->2+!(s=^wbd$mOFVA(AkURap^Y?JshllOis9_ipH4 zI&|_EJZ?iyIu>(gGNhyAZWk~#gwhao%a}Fxg>5tmmp-N5*>a3Ivg9xVX@i1dfwX)c z**c0h)ZZzP&kEvaFOg@Q< z=|d{TNXmjxK@}pwSB&o*?nrTsj`3z)!9&MEDvZxwkkVBYkBx!Y1Ehp*ccvSNH{V;| zoWA43@T^!98INjH(I28hCMKMh4r*0-Ck}r;Qw;r~ToC2SVY#$}RLE;b2LPA3N0;H@&)0{AZa%3ezQvq?BWR zS0ndNXd)Jv8^0hI0h*dgY&s1p?iL!nMiB><_+G`BM-zj2bAqr!rr~hI3faI4@DsoS zWzM)#oRRQku5ie_{O$26_74`Os-*9|^ry(pzZA5X*q_JxwY4*k zkBBI-wQ+7@;h}mXRFrL;YQG$P8XiuhNd`Pw=%)SGNOlFo0m_V~MB+#!y@)2LF7_qK zDAU&I`L%2>j&JU*+Fs};aJnOJ(Y?PM?XHHtA1xdThz28!psB?qC5^y7|2jFT%hE8O zA-s>b4}KZ@`84V4*-5fUJMb4i=kZ3tFTyNHH{l%4FOcf0XG{-qzEyBnqbPeB!j+c| zGH=0aMKNBR0#Z5NdlZ~DexoCLL8-?=N?57YqA@xW4Ybz0GfHj6Yu=0X{#&I}4yh zikk30-y|8nw2S0_b1{LXnF5ap6J5YE9=G5PJc_&*037Nh<1QgL)~2hy81+G)c&`aD z|4U>48)4D!3o3?zwK&H0 zY;XgM)Di^Xl~r5|sP!Pu3n{6a=il_lRO}CIWyO+bh$p7Q)%R^QNP-kKdM3yvD~t=L zAiA*70P3k_dT!bZ8+#y`<|w7p1^@j8y5nrBx0rXel^EpAVckZh?2EAq2&EI1n?t!_ z4^-VDf;-vK`TW)jZv1OTjOu=#DnSuR>3}@kgS-Pu$f^+tDIZh{5r0=d13d8*hMKAZ zEr*4LYQ>$KSpcH<=oOziJzB*WJmKF=1+@qd0?=dJ7wGYxD_%al+u!u=T%)~iZaM^! z+E5M6C25=u*9`-8w`D8Cv%+YxJ{YaS#4A-lAGp90u_{h(%Yxts+MAZ8KKC|)%cq}? zZJ4dY$|XHEXOuQ)+aU`D??RvFM#4Euw0{od!wFTM`G+Gs4l^l3*)4uy6kMsZrv=9g z3h+T{Py^om$Mo8`#6RsuNc|X>ShXtDeoA%Wx*m)qL~1+sef@r7+~wudzM`KZRAB2B zB!ZC1rI29h@b*oG0=mA5@r)z z1C@EsC10&80#RA0#B-mTOmq;6n5 zFKUwh-M=|f#cFc;So5`6?DW3}*Y&)QOz9CKe|p;X=0-A^woGmXLs4S?KvS?;1_Or4 zCCXIv1m*_~;D;b`=akgsFP^7tq(%qs2;CAWfF!k?OsjKQE2IL9Y|AJ~!EJ0iYhZz_ z5=(O+#dnM@4wvwZB3h6PP5JIeVG>YZnCg8+^$Gj5^;J_}8=EwZ*?IZoBouis2QPrg z9hcqtnLWSSde`K`&Mq~*Ws?ZPo2Zn4*<741_VJ+FAcVOS@>C^Bu?^lhx z?rdN7d;V{q=AWYd!in)B7Yy$LX?r#rzeDhmVQH_jaiTAdWJm}n54U^seGPztsA5BA zh&4#QD!q4tJo)NBde~PfuD@r+XQ?qw+WB`YOr;Q5L=(zliY zoML6|bm%qfR zbcDhlgpTP=)`COzXN05M;01)y3Luu)^QswueDm!MYB=zDM2Y$eO~M#e_^IHo9U2xm@Z4mD=XV9Lo5x(ZMr^Yx zm28O>6Sb~7`xZ!jODyK~fvl=KNpKvUypYAa@}Cu4zuoUd0aRvX{JDBDJ7{AaTx z%|}1%HZY7iW-g~#QjJUn$#MCCRH>pi)q{7KDu`_*@@4gt{O|=o*@J> zK)Q95Ip$rF>?9+8 zsdedCB7-y#_*+GMi~g@(K@yF_#kb#p7JcLaNt4mGq4Pg? z8S+$^S&B+)WGQ~SR%p|*Ojtbk#UhB!u*>m4FrtNF7Po@ADa-$)FQtG28)fuKwe0CY zUYDz~tQN&|E+0ZK2U&r7%#Kxu_y~rmEwW}_l^KqCT0&e&kuD+2gq6c;gBI+~-m0_H z7g$1>xVR?gn>nrl@s(SVr7mx=B0%L!+GlPMA5MABJ>Ny-ve78(JXj)s6#BbuZ#&;u zHSn-_Z<0~q^8cOgPZeTq1N_=`ySja!Vc`fo(I-0~do-DVycCw|-y5EQjVzU1*#Bl9 z?YWd7>CKNICST`#Ke;TBk)5$Ac78n{MHnsDEmlK*CBu3GXdib21IRxBXsMAHsU+n1 zpyN7nfh1FQFjt`FRnE!-^vpWN3BiqJ`!{G7&RTb^>e5YIreRdR?rl!9zxoiG9KbCCaExLEP$KP%;1y>x`>MZSRLm>V z2HwEd>T1k-tnp*qYiihG8`HPxwqloB#`Qc4@%iq{Rw@$~OP|MsAH5I9DPXkOUJp{t zQ0rNK9asK#@YsnhbGbotw%v{{^Jm|?>dJlOaC5u&hJTOjPW>#i{HJB0*OyEBD*fbo zy9;j%fDHe3ct?7^fQ0HDeN+CE5YvT>;itQ$U&S%*`|8x%SIZ>c)%QE$dupg+9Rc8J z@VH-6_Uhj;fK`YqaMU96=#aX`0hjP*CWy;OD3H#{8@Wbl4!oUGt!~u&{{olaq1Fq`bRW zXmF6ve~Xr|*Tt=Hp~|Ru?yr|lLTQ?yl!@9x>U_81KA|qZXW`t6D+B;H-m$~{zYWc_ z%ynSg|AdH3s~iC){GXU`SlB9ZMlLplEbLrA;1lKli#uUrb-UxOM2;ya`)J+Q; z_8MulGV{D?+|z?ypZB4bzL|4?6r=oae*i!s@m~A-{kWkbR-p7ece=i+f>$B2Ues@c zTqHv3R&Pap-q#o4syEM@rzeq|cyKBA1>=^QVx|_%+}Nt*?3A-lT2yKE6X z*;Z~KqIg1d&6F@fHMwNswsnAi?2}SQ>5j|9$6Bj5_elVpubxkA(+}-o@Y3pCEm`2i zZGDN&x+x37!QO76nt((NRWy=MOvjGLKaJK0(7o;VH3D^QlrWv))cCS9Dk{G6+sV|% z*x*0|dF(XdvU79~Su~M*;5EO4zqI}enmmI%izQ(VvUTkL-M#4c zdzJZ6A+zuLF8l>C$!VbN`}NhcO6T*FZR9SzxfX9flxIAVjvRVe=9q0bx%uz%%kygX z?7;9{X?2P~ww|at4*(2nk)U3U!CFR*D7OdqIL8)%!NwZ3KhiSzX{__@)x1bREb_II zB4*4eMn2u!zyE>N6TD2q&Vnz_tZ*9V{%W1h#p9VdVIkD!{%sho(rp$TkAS zZ?B5J7gv>{1`h7Y%gAjBO$))FKKr#jWzZb*u@3t<>>P#^BxZizb;Jf3N>IXGJaR7* ze&PezUKG9HI@97S=stw7EY*a5Q8Ck7M8J7%5j@jT6+D>-fr?#4VUET(GsN5lDImd7Fd24ade z{nGcg2{^s(I~&R?T;O&u z=|{`{=%~dBH1p$!S1qEf5PjoMNqz*s;8TuL+53Kasr_Ss{XC0n=liZ}o=$4@(I+9f zbpAfPV%WR2==>U3NFvG3*qU~Ud-<5R0PC>j(|NO1P^d}ac= za|;CAr`yRvw3Y}AbW$IWp)5R|99-Z5ec49nvy(< z&?2(NoX7bDQK}h zlgK8G*#BPl62F80S`2oOv1bIR(6+&3btlU7RkEVd?cGO4>WyngDENNu)TBNfvsoP2 z&AMw*W9!NxChcHwWO(y%Rx9F6gE*w*={2^9WdIpMw{zCyTI!gF6r4LWw_7yyl_mgWFh4&8yHkL4Q+ z{J`?h_o=+nxBdHL+|N3nEkuqBPr0Jc2D@G%6DzTyx9P*U{KhZ=mu6#iEFAd)mYC z^Uhx8tMY>6#JYs(B<$H!fWXKww5DxpWcnW zZ{IffXnD{@jhV#*#VR`16D9gxipH2gN0reOAT*2X{(re4%+3GjhK9J98Cm}q>hb?4 zY&91n)Bp8O%$z@ma{m>!dQr#90e2Ybv#YzXTTD7Xx4QaloH1qunUrRPNYZ&nlssn9 zn%GYG3fV`~-QQ3Dk=;z0n2W>-lOo`>)!KVoRil%;?GO*gq60PzE8LXQY@csxb=hW# zgsUIi_&^TI8&9_4xk!p?Z-iVWqb{z*)K35t#&gsM4pYog+10cI&}Ula$y?Elfh-RK zLHVzIj|xnT*s~|Xd!YI7JD>&z%Vfub z6KM+uaccIwOgtNwg1CvcYueWwpoZQB9UNBN!yM9J4N8C*WnB~>c@S7z8_B30l7QDYBHfk+f!+fH3BW4C{;n~4$cz%6CpVX8gq?imZoKW}Y-zMSl zrv(!FU@!%yOP>7l7%&Yy!*u4VsApp00%5=>mBliNWf=+vRNUtGFk`Z4>-LS)mMlOA z=>}3;OfbeMJ}5Dhohmr9|AD%RaWF30hRU7P=DBkr^^P4H;-e}F5a!b-7g{l0fS8+?rnl~NQdLn_s#3Lw9?rx6Bi5u z_ucg&l9;JJSm*#}CI0ACnsE%+X&eMa3X94HmE+xE|2lpyt(vnB*I~t7>ve~A4S{VP zx+}Zm9L?pNe&4O)?)UX=xv8b#8x?wXbEeAA+uPZc`a{C;7=(Y6Z&3P%3m*7ZxcLhJ zUvUzsqkO#|XoNek_9LXt5aOl>!0S;#E%Ddw0a)(!p3u!`e^Obxw$62_laWhqauA3n@~n4p-#Ps42G~^Z#7~P8+2#z1 zC`t>n#t{LhbmI$q1UW)P8P+MvfmsnbV1Xf* zK<*_jqQb;FfXgHCsgmA$<3uL)mraDaBA@aZck~7M!@yIM%Egg3JZfhu4!A)ui(1D9 zOWwIkj`ZpYWfLVV0(7yUQzn%Pgrr`r|745&=$^|7k}KNqb0S#slQx&_59Jeae6mW_ zH$B1Ff@Aqd%%~NfU#41m6%1Z5i8l`I%Ws`|;Eg6-hM1ef&{9*jRGh8do%^{W zyd0)oN0HUo_Sg%-Axt%o@)xx@cFHEmq)9t02*?g|^g)&ez@_y!EC>AG>$k$$52tuHR;S`@VL3>*|q8K;{FQyDX5^nzUkX^a=E@adb?Sk za@@n&W*7vN>&De`}(NGWV0 z?CF-1bTx`%mjo=?sC0KEfJ&tpMCy)R|1C^iZFo{!HfhC`16Ozqf z=s!xB$rb6+7ZfA&LuLvfQzpPvzINrEx<~02kYP6@pQSj71Rb~R0?Cu1*$vMr5diA& z&3!z`m#h%#s$*C)-C%_qXAm)$SonL3#1_kV!B>uuwn>fkaSBt+)U`kXLmN*6Du`Xgy%OTTOp7 zJbu2}?rg2JxUbIdudP^cx0&h|ANft|TtbDA3?G|-g|*?J5tmO2V9if)rcu*&L;ibb zTh+I{8n{kp$Y91v;4#z+(H;Q3F!%|p%sDHXM>dezEy_IB%bzC!obYPlkN}8n?c!;@ zRGf|Mlq@3o@Tar8?`bikq~^pwBVruqWiucm&nY-p%})XCdcEE}0Dsl7egfwhT*WO+ zv-+K4w=k>7$PwKPX*h*Cq)L;FB4#|F2Zobf(Ho0 zf`vHYz!#|c?KKy^3L;E5^8lz@aUwt>GWw(^Q&MH_n}nMp=L*3Kf#2<3GA~3$B>{*U z>6&Ym_wLmxF&aPU z5nfX%e#xEz-B+BOqaQ~XeIFN1fK^9>n$^)wT%W%m0d(4$zSLt>?%u#o%IIJ3uL0tJ zB3bg78OHKTHJSJYWkge%d-VQ*q>oiWwA?+P<@pZ+X1m|Q&@QT`&z&sv9~9Ef9Wl2) zLs~8mAUwZDm5xw7>V6W<|uxl8&4JOp{(Y{cq2x6P5K9 z;>`&WO5v>+;(}nC;Cy zn8H%B`T2A@csPa3B=}DH!x)7US$a$i24y}&VdEu*uzd8Xt75WWN0WL@o z4Dd=B+=vs9+Ai5oXp9w1(UB57iahG(;tF^?oVB_q2>1vHCSmydSCRidV5lKdtmt@K zKC9SMa?A!oTt&`^ZYum|;F|O?;bTQ3L`{Jyo+^Dxlekb>#B7wMRmB+qsENd4^O+wR zrzZFE$?Bu8VlBQ|;#b7$_!Q7YX!*}}dQU1qt(kmwH6 zOSe(FP>8L~UhqNZh^DQSwK7I+XEG$-?p&cy<8bJeWeaSgq@b@>dsdBkoS8M+G}gLg z!P{(}R9gCGp2s<&4gT1`3=y78&5JzV!qFdM!6|P`VH-ChL(vUzN#kg9Kg+YAG@9F* z>SX)cPF+}w9yL42P!q8&R#73PW#R-ugjYV3Z?2Xw!61)?kC5#hQD{{dFTj^C&2wzp zvQMz5J8xoJS;!5kk;|rV%o$N_+C*4F-mr%3u7y06@cy`$9(_9RsT&}VFT**ktx1bs zxfhsS9T68GlsW<|aXyomE98nvI8Pa#%YmR-i&fl6J4d2)$R~FQPuWjYH_5d!dDZw&?{m zqngQF0x+50=l52lr4^Tve(Lr03Ro@*R4&5eo})vkckb6UG%v)oP%Ua(doKq7 zkD*-16ijN@dixGldMZE=qkwuO0--^i^O8xmaaeIfS}1-w4}4<9lbuuat=ms>9Z&^C z(c|jWi?*Oe4?@nJx6zO_Mw)EEI~Dpt_tm-ekq7~Pfj*wg9X}}`98yXAB_Dd1eD>NM zd^%1YnF`+<8cCf|t@c{!z+#7y+i(bwV(p%cYa&BkUHE3w@#t7Z4w93s46K!+9#l~}5 zZcr1kf!;lzC&UWVVAF69cAhEBQRHpfhXrzAxs}NqFv0Itx|2N1L18luKOW}NTLnxs z-o}PSC!70;1u0&ck(b_y0HULIRi;kMp3nrS+r>$UC65MD76#>rrrbW8my;gxAOUMG zPkp?8dcVGYem|V%=<_4;t~{D=yL z_N25hz}hyeC2ZfiyEg|#;x%qI561+c?4hV%Qno)8pf_#WwHl`s^HE+KZ%IRE-N>HrCVatjJ0nX9s< zd53;W39SrLAIGac-(xLT3C!l3Wr?I>5pA(-ssN73dBIMm{0ov(a-J`W30btq+vv|` z5OnkzgB6TS5&zofW&!m>A+R zzI56WFbNP8A)~w{zDX9AO|XGMLq?S`M!piL9tTWja&;T+Xmc6J zKB4OOrkPR{8dOt7k@I}Gc%Vtd#N2#xv-M8Si8dhV+?@&%zK*lgIpAfYO~=^owUMBP(5)BDkD`bcLVdL^H&)^9(pS4CG3Y6;_5=WF$Aq`jn8#{T7{! z0B+%NQ9RrC(w1LorWhD?WLAWI!Hd6?D$9K)B z9n65_z@@)Pdlnx?y$LpMsPIqd*5X?3K#icd;hj;sMyTgL1!2A30oJ*_G8 zD${Nf&Pgx7?fmX0e?2#pe_VJ%g5jzwoB1AX=@P;&fj^uN0iAd0SW8we%4=$J_FF*< zQ@}D>o_|$AwgKaT2(e?3t_k^7a5GVJB~;YY3WaW_zU6^JQepc=6Zuf9cL!nCU9kX& zIePrO{5skp4ZT7JF-M%+=k6yD53i=5Brn7v%(!DOXBV%&91#=pc@-BBO}V16!&*tl zFX@*(fo=A7nF<^VQ$P=T_J!pvE?9(=h`2&7#V;F)eNCne;0m#mu>$E=bm|4csD=t} z^yd3PO6+1i|Fv7k#*AKkT;(Gs{6GVg#fE2>ihz{YjMl0DuG&kfFcpUSc!O&?;X#@o zk)TAvDIOoUzpUoBPd_h~Z$=~l->U?Z9G-YxhI+l);}#VKG7CmZf?Y_r5+Y$XVgs6c zyJ6??v?d>PQFhcpyvez}U>ykB3u@`6kaFz4a_8W*@h*81~ z->T45Y3jUQmpZ0=99kA=JHxs9ae^&t`pw&Vv+`=9xvR-VVUc{CO@^{q+-=I#@XAip| z2oK^`l`ssc6Xk*UyeZ(B*(HXQX(K5H2qU^pcXCI%E5KGq$d0=ht*> zH;n1Vnr$FK#zU1A;`F$IHDT1A-!esUHYR#b;~zJh-8egQ9d>|64m@1^uV=r2+~2|o zRn*V(9sSoDIps4O%Q2l;tWmILDqUD+!`t}QiOL^bb3~@nRY>Suq(Fn~h*xIgOI#K1UL2i2&yX`Xk+W05Ak(eR+B#A_!_a4JkN$ zIvqI(6bKu8I`S+CHDFsu+jWx*Q5L{eY^c(Ag#PXm)MO+8MAGV1w zV&L$}86;^<1z$)#&@bom%IV_Gg5`Rlf-93(JoOtj^ye@H0CHy1{oQu;z8~3-`@KZt z2pn0|j$@{DlE<_IsRW#2V}H;)w&ILOAFwD~+Nr zth@Y4;;n}U{u!Mw+4)Dsc6nudcg7mb zYPl30Gx@%SbaMmz*3su*RCbE+h?8ADxsEus*d2mf8nTt;5))JzDNs>V!H&UTCqB^Y z7WoHEs}uanoUNZ;`Zf2FS>j+E&kq9{R1VsfVBfYf**zM?G~ChXo6rxSed5gz^T zyR%)+j|Z&7TgtCipLX&7fWAJO+4>!SE=n5k+1qpi)_A0gNkfl#YR_g?O7*niP6*ALJ0cXt9+u-RO9Zs1iFcf+$Z* zeJRkkk3PDHU_>z?hUJBMN;!uD)bG{_j}#*XKmHDF)JXMBx$jO{Mp>kDR3I5hDfy0! z1p##Q`zY!K+ip+Lb^C>Uhw_c3lkShcbybxw+B-f$X3tk@jNOXkTgw zSn(93g8PZE99$TNj`UGbne*YfH;oOK-=R5(#Xh*DyNLR|ErQDV9Z_oZ^d4cKa)G(* zz<&MuFe+qd7jH3$%RaL|W0L*`J!RruQ&}79Ew;6ciB)Y%IE<_4WISSc6sH}0Jat=_ zk8k7IzT#=ox)8H+9-*#m{y}EP4vnz_hzJSV%SUfiwbwGjHA-V67yZ#Wj*y_7^ig%^ z;2Iu7L*6$+8#Nq@(Par5KprL@!V%Y~eKEPqR$yXVUd|{B0mp0s5sHBFLDYmve z>d0Sn*D+dx@q?^*pZN`6z(}fLE|`hTKu@a7YU2DgB1tZOClvj%(0FYnB}tS6&_ayh zQ!~>33KY<}n>zpjS@jx7y|2UCH&_9RR&~5Q+c%7ic-DJA$cQZL?S1{xe!3d28uT!= z(7*>wR#SW?*_6F7zGiE%-mvk(5EB;Io*RP)l7=bq5HNgwjU1ISo`?6u@_8Be8*Z81 ze0Owqy}BJrrm(4C-VUP*FY%6PPC3~g;e zJYJZ!PAa7Jp+PRms#5;2+c5o#&=fC6`qeZxv~#DeO4q!=r{6P`u0L;~uPOPm{3c|c z=uY;c{_cU=hrAmSy=0&dXkBm0bu#_^rZ4#HZZW!kKF>O8Xl|k7Xio5h2GKXOaP(ct zIU-p4IoTf>@vnU|TLb&ZuozO$A;Ciise!cX%IvPJt}EG~E(Y?paY|7RbaZQJp7VMVOz!MX3SpyK8p<7P=qsd2@<{mlhW3DDteuF)pyQh`nGsoWWcc9yX_$%2XmDiFB zUfUj{k@`HY&u*G@Eqla*P0&vA(6EwPddSs0kcDOVcg8JMx(1aLRjsZ**N9NZVm2Xz zhIaP&&Zhq6{WKp*l)-dePoM-NV~4d)%53eUzw#5Sf~>3(K)+-#)9jcna-}BwU)6Z>~^AoUNeKhgB*6ZB@9+H5`Ssj)@y1pl^7eT)WLfB~>0(;tu zdGqsh_J02kIIN9u09kh%&KGOXK{5bq_`SI8cK?Q>XDFSA*o?DYakKF#GMXByq8=Ln zVE?cW?|7g0tCUo(s+-2->_8xF#Nf~RyhFzDnAkqR*MQ7e>DILWt}UYciBD$V3_VXr>+6LunSc{qXHTKQ$fTl z;dEPHtL<_*dpCj1ZpuM8lE-*Vz|VR_DRxLxD8S+k1Pv_JJoCrj0MnfIKqMqLK5+3;_ zK6!GQvx_YaN~o@^|5aw?7$)mO5V^X$&iAEUBq!Swb`uJISyy{85aWn$9iou*rGSIp z$uL5XlQou$63`nR^~W&Fso zQxp6AnkMNam(FMvST|Sm<(@_eIb#v=n4CPmf1GygL6n?Lpn*n%~WIFC70MnyB!U8~Ay9cY~5=c`pfqPWo<4p!5> zGvX3T`r5(0U8moHdVbFZ2_C`o&-BbUa1T|0Vj^Uh5PnDS~W6jvkxD4 z!}+n;KdqXXtW+|50D$}%0U*JuKI7GHe%M3^r=ADuR=>q^mV?CPUv2t2^_DL2QLmbm0#)+#w2y3G<%|tSxDf40NV@;vq;y4aqQkDPanJzE;6;CVv zOt$!pt4tj}y2tLyx}kQ=dv>?dPdnT47JGEf09nQ?xP|>$L3ydsd{_krSX|V3Xo&}j z{d>#C+F}vYrM+(|nN@u0%;0fF;J=-#>r)Q!R?b-AqOH<+F1xo|a9yF22p!E;hl01l zpp%s5EmuQ@APpx)qb#tCMVXoY_g@8LiR~GeX*`MY@G`J0I@|PHD{Gdq%l0qIasrN? zBdo1oVGU)bu!ff2!iaaw9$4r>7F2?$Fch|GnBOUby+DrLH)C2g2T!s4reW6=`(?3fQ*GgsayPXCC31`z>wD|fG8gN$n4}LY!mBsonT8VFW+$DMrRK$~d zr7_0sf7-v0rlY<|P-=ehD;91vrtGU%U@qMl90V6YQLup=&M@SQk+}7OS4?Xg3|PlD zIgE9ALncyv-u3F|M3P-DCY>A=yx-SBclx0 z$39eG3$;btKp`C(!XAx5GB96|l{PRo!FmtIA{Bv%rWXCQ5Coq-E@U)7xIluh#-15N z>0o1KX6%8&7_)VCg|#Ql-dqdQRvit>j6H<4A~R}j4{5Q?M!TU(s<0==^p&d}m@mYf zo&*7c2a?E;UJn7n56BQhwyX{oGCKy_m&%RX!{B57ZMi%YzSZ;(A3fDn2_K=3`_Z*W z*G*)LplJ0%%x zROs-ESVg)E*kWM-$D_v8Qjs|93NU+U&`n`b?)aQbb{@AW4ykWtbkaUDTAH0~gx?H> zwKBbfN?hcTAotxojS9OpuY z_3{vTYu1-poGuJWfYEAzsQPqW(z3F$S^Sr_up!>!Tr)NIsCy zdL8s*aB#d4(DMhOTrWUJ?f((bA!b~dNUugjB>ef#Qj!JExkr)D$(;SVy79!E{1G%% zzA*NO2lQ%bBA$4rCsIYYFAEM(2U&^Q6*+|DO=XjUb41a??iJQr&cx8(XY8EEvp6sb>2^7=>NsepA>!~C4u zJ=8&`?v#d&)bVLjF`&c1@k#XZ(p&C4*gEiG0;Ht3Bk58Tm+3(ORS_%~qU38$s`XE`q#KupQ0FnU z0Z%=3s~Vc7x{@J=x?Rqi`s`oJG`rFoUVr6Xu&Tjsr(y|9Dbtd}t8Q~Gs-#Zt*M|ST zlwr{#r~8$nK;c<~1y>A*OVH#uuC;Q2R$d7T@Km#JEcJ3+R33Y{DQBPO;o#C9Tb9*g z7ExG54J5B`aWSAmb2&Hw@^md!_w0Q903-vgOrFST2gka>Qb$$}jN-KH?~XNt9^LE^ z4Xmg25Esh#m(fK|%L8pq?47-Dejm_6H~v&uL5QwvXNvSl0)-}j^1`(8VaB>MpvLhM z3-nl0EJuJS(YV4g&_@f|7PIM*Qs^=WeNw1MmK2f9BT?*hE-{1`Q3c;PR`b2T0J+w{ z`Bv#YwyqM*%mu7yhrf`SYx>hUuhV^8Wh^`i*&fRl1uX-1U`BZ@6zK4JM316iwapC( z&xl~qTDNZT8ShQbJEr9)V}MxI3k{y=BS}biLcapR+8yZbr&8}%(1f7E`RNS9nui#$+;&XA+N2Oy z*B8JPNGS}$=s}$*p!JQjF;@mRn!9SyO>|R2t7(Nq`b3i55%&U72q_!4V+^E3eUZTd zQi`vxzcx1cYcZLlsVF#fD-qx!8Vc3Bnyivmr%C&s-0vT6oOO2Z!LxD%a}0M4ir$6I zQAV!Jb>A81#x(bHK( zuu7##id(n;~?_TwP3I}!g(rCC5l}donyEm_Dl^VxvnyEg9rKyPltTbG? zC-TJx6BRQ(m$m){C=@L)^E+G)H2A|5o`FFASOcq`rhIB zmB(a!^X)Lxq*l(r-44uv+lcTi#VJa7{&C+MuvJp98oWtM2`KU9znXJcx*U+pBI!Q` znVW_3rOMG*uFH`h2`8SDUx@9PADHc)n(eEaFJ^$Zleg)Ui=(gauaRwn<&%hyFC}bv zJq?d=C0y;&trP~wlJm-~jgN7gfR%I>1Q2q7TprSaR=x(6&OybGjWKVnk~T^_!8yg> zbA2J@k~W}NT~5t(SY(oFMEbaTaucq~vbIu!l+!9vlU)a)T|ecl@R?zE?8USTgoMkf z;yGCfC#B&?*e%R-#Qm3F$z9x6QMI+OIq_}_h;hzk`Mx0aZZIGlB*f&;%Q6cBu0fT6 zE76=5JHlF_@=9c(l1QUNu_A!J&16$o1=H?dP8rGVub#UN(37xbQ$%&X3L(;A)1OKh zL*eF4n)q0kN{|ZLo3qh&4iFa7tX>C~61rz*r5ABFT`o08%2v3?(VN4oZ|i(E+Gd4|S&7F2S@=lUztw}tYm zP^b$A*#;-!EV0=g&g26qyuqeIdIygYGo!hfqvg4W4kwrDsH~k2o6Z-XqTQ>zH=gkT z-}8JhN~@D6@A|KE)t|2&UpaFLqI!E?we zLboVnnPJ?kfWv$U6_PpOOw1{8IAlvEYrjvh+`{+%7X+|a*pp2?mjk6?;PmmAKQr2g z2@rBg<3D+%rE-ZvE>oy6NJT)>XHas0z+sZG^Yxu8x{YoeaNou5S6M7NJ!Gq^m^o_- zL*W?5Sc*laXjSGu3JGKB>IOc4amkuOP>{2{I>S zLm3;0CPH)$WTaFEGsA2PQG3W?n3`c(Iwyae=7ZWO%UNs~{3 z+mnxz0KQKnpiC{H$)}}GhiZ9A;5NjW>tVW2riXx`1A}E-Ml8@st=)wn&YBD6fJDIA z7S+<3i(NZ|?6nvoO&bCOTdPi#0@(;n(8}m{C1Hkgh#JPQdVPu5vQ9g|hsIz#{?BiP z+vS7b|#iz(qPPiB}=_6SE00=t79CwT$CW~aKUKH4N zzTpDKDG3S^)W8nVO`X-hnMs(^RUFzP#7#dT-1z!p@cFKi-V5&om#*1D;el9m(gO`6 zKn1b}+WXt_k?xXz5O>H1WUG_r?bX${Uk_> zC-9QzxHCF~`p-5+Qe{O_NxUK!g&2+kM^bU}H;3xW^xd()fcL??a^S3t>anp+RNA+0 zfpn!P;Rk8DL2i0-{)>qu?67>kW}Ut&F%nWjR%6c&a%iT2JKsmWE%Y2c>ib-1DEB1y z0ZR^{UCIndSSGUN40AAmors2#wz%y?dtXdAm>=Mp$(}X1Y}d&4Kl$Z{NM})d6oDZQ z-gLen@#Q85^nAL=thOyjcfMNbF*(O&wODQt4TseAKK6X!WR)j?q*ECBLdW$`LAH}R z@b;;Wq-9p`=Bnz?>LP`%6?CbH`_=Kq|6B|&>aPOWRO~`+NMj?Iv#0A$qpC8iexQ_O zE9qMuyZ}SF$aEXxW$~8-RBj?)vtk0Z&PgW*nWz&qL?hWFq~nqA@LS)kXteg&gg>g? z__Y9#EF>UxOswU5JPi}4mjpye!$Q8lDse(j!6t~grh?b^wcU7Zpi12y-~t^ITM zQZFJ+@ycPxaj|bU=x1=3#6M-=8YH;haM+S?U(AHx{luE=(#=5beU$YL7}H`xT0)$> zATvEPiMv*G(&8MXuI!KQrXa9rXOv6l#R3O}7Sed~rnT#bR@Fq7x9el2jms8Vc{3Yx zcKbD<6bBA1^A=;JT%t_MKvXMc%Fg+Pm@iiwnvBJ98n5icc7{q}5r_>$k2AvkVF_H_ z`J(3FFg;@h=g~H^j&^oCq!Y;Lo8Cnf0dvYSzaAM0Yf8?=Z(m~Exyr%%w7?o$wnw3o z9eta(J_zVe|6F&x0Z0)no?pJO>HKxXt)wHlSPh*+qO+oj7oG*cRqd$>_u@O&RhBT1^+u>~!_EkjyWNeV75 z$4rUEb8|7<)vM9IeNM z!F!K}`jTnHZJ&4=FRV7lmD7VI$CS?eXXb|Niw2a2W*oB%R`^#UTLt60(1L45q8{t% zE$;vZW{|#puZ)Jn-1@}n>+#Z|$XYrbFCT4xs`hIvN`Mer3Wl77GDN^^B~`-NelgSj zKC9N|dIjLI(s`G4$|9q?QKOGS!Us9$e&P}46Dm*|`@P>?Sn=V>GaMRn{wDSz$RE-t zBhEc4Nt$!OQjppjoc41t9%56XM(o#;LJnr@U-qZe(~3ljVl%bIH7guSN^9TN3lza9 z3_}R9$T(qB8J-j8BB)1>DX~ZK{|3W(wQk;kA_Yhx0aH3t;-X2S4Rt6T>x#|%4*U5a z$&rWP@Bo)g?$(7SnCjb5liE+Mf-8l0nGjQGG~`YgT}(h!nlNJnG>=Omuk`ew=g3(W z|HxCqR;TKPkfM~Lx2Gqi5vW_&dLOG?>Ak|I6bIb?eNzKjJsUSR!i z@SfQCeVHzS7u=n{>H2p6NGG}$UYs>Xs3IVo&)ge`BW|?6VMNf|!Xp6yhd*)+48SD9 z5pptVr>B1g8?1s%zab1R2`uU6A19k&j1dL7W{LPs!xH`GR~<_tO)bH3dbD>dOZ>=T zhW0pUj<#EhR$LSsY?TpW9ROr+Ga2=;)&!lM$oV{OXsshK(-%SwfK1or@&j=EsRIme z-+y)M>I8LfqnVwA`^5}^rMtA|5R((yR_NQ=Ux?aAN2Yob*y8d8Z?*30Gg^d<`@!>e zMN9EY?~y9K40j`FSPP5fVMG zamx<{FU6t8kG=+-HM`IYk~)^XHvuF>HYKkzBpnefZsgcYro$v7=!1#sM`+tsP?Nd9 z+WuivU}tjM>^Sn?mw7#;yS#MN0d5b1>)1)?OA`{^Y7-QOm+BklPC8f3FETL1y6XQ9 zVDfvj!O0y0J}-TWrEGiv*n<0f!q<`P(||u$YFH z$QFx}ac0DtcElg&soyiX z;g5g5@V<>P6((x_0B#?&kZ05DyqK_cc$9FU_ZUmYQ*g!}&~#eJ${CIVqADRAuU!o}uTS^_Ar1eI3l}@hnZ0InVFgyI8 z7Iiu%n68{6$069;PmRG2V<9te*d9%L0O{hCxXW8t(4AFZ+L^qb=fSSQN5`fuIAwXQ zh2Q>`ZU6Wi{o+R8$fxzErkl$taK6FrtT*f?02fZqY7D8!4p3#ecvIM+_{|Xa< z^c89Dd++m6x64c-$;4~{9xPujQ3yc=|ro8^#2Kd=&hmSvo@&4=C( z3krIuPWDB3dp$1yzlpPQaghH_oPlz({+DS;50F6lG0YdSMrhR&!@W+KH1GuypJzsm zb`zuFA%zAZRaOCQ%%yN}9eL{enC^Q`)Ig*JhCvJZy?pKD;o)KN%-IYVeiJ@;J8z_d zNRWrb9gBn-i}L*$(RbNC>h~`^Y=;d#}OaxLk$lBDnZ=0@;}2;XURGD7r0wk zFyLSwF@}UcKwB`tOC$t=lSb6aHA9xwM;OGS!pGGmqpB2|>A}f_3Xazf>J$7Q(GV#X z{f(#=vLAsd5lnQeCRlcu8NaU&hwmQ&es^H)&^WLIDk7i#XgTqpUs3UtxQ}Iu=IrnSDN*^(OVAwX*`Zby5;rk!`l_EfuN9M;MObO` z^HH;eQXOBzR1Y@I5%w=6LIrLF?b^*B89y2vkM*f2#6@uWPmWRiyKWMVd@|g-1z3#9 zY7=N(A?@;=8T67e#nR3_Z$FUEd$$0hMHxcQ&xAf_p?0-bHvMx;HS?hI#Mpe0l-seS zgReS-lxA#Lug<|cIXgW=f5P+=6PUa+({b`U1u29siAYCvfDQ(Y^;CsFdVMoHLE>D= zje0Pn0rlO--B$XQM_Sa?`)WT}6o57_(Os{3vwL$C!e_@7twZVC-bJs`p3fJHRRNV# zb*D)%K=?hc;_<}vCzO;x+`l#8)yw-zm+G>>&hwV4v-91_wYLib`wt0}1gB#H!Rrcv z5n035lCdEYOdHwi=W!st_f_ca*d%GBw8_t(x$Te5a&9w2o~(5<%y1%gH^ADp7?!d^ zzm@0rqXR@#Vya8bz0aK=p12g!3F#KNhX{Y2JQ5yrd?kEGZbtd`;-6jf&N2I2{#4h=lm*XzxV1kYhQi3n(tL@a|?3V^L7YsM=tJT4We9F!^8zEMW7>Ll2*EH6T;wP^F3o;c`G=M^OD*dU6wqDM)f*HfB6aCZ{#%9St@!+O zSlLsj{`YyKvo7R@OMpCnz3ldRwI|!h0b|3ees;$(OWd_tdRopJIymP=c1RMuKb1vOU-_}G9o zmH6SiV7AiNC!q9ZxUIxlrCUq}Zcu(dk8k(SnEebS z^G9B09#6~j&wp{{BqF=XcH;^Olxnj-F8-62zv#r0+Kr2eWj+8ZyCgcYs}$MIc?h zdu;5=BN9wjtVpiN{;~HHCF)~6<=rzGY9`02 z&*iGX&;`?^!ez>sITGy@k6Uzw+&!r5CLWL85E;;hS?h@z;cb|^^nA%H?cR-3Sm^2m ziUweT0P&Dj)gb=)c(=K|0CMKHBJ7Hh-flxY^~un`+kdpUMf+}Dl|~!DQ`V*riY3zP zSBNHh?7kq|D-DcjX_x*tgHEtsLzOsY5D`?;(pcLClMqM%$q@f0y-K{G@nPIvo0E!)4s9P@g0aapod-~ z*CPWED$6=yP0*+{gIG~}_*jbnSjn#pg8W)QPo&edX7rDJrBWpzemM$tiIE+QDF-;4 zb8(@M*>4~gGw`gJ`(HT^(7DR3e!+)wRuaPLM1-sqt5s`tdTE#P9_=G(4dd4UA0H_k z9xvzpX>GI{?w$^<1Jnuu9|sD?Q#+yf-MnErz}Gb3=R_jQ%kPtMx7rL1RWKoO2*baQ zp`n*m(%WUs^DVZ*viq6jd2=w2{sr*KR;TH^@-#a9f}TVIr|KubJ3)*#^ym2Ph#I|kQwr$&Q zY)ow1nb@``wynv;&dL71ed?S)tGa4c|L=bKzOT#eU=44gb@3EUyj0n*5VV%UeWle~ zgGS(Q&9iRTLrL$iW)$Z%Zjt>o@g*$Hx*5YLUWv4o-riTlNAtf#;zmD!GfB}K(N7$I z-z(gF(tc}`D14raioSTqR<9}Sq-kXb9_)7drXTT-S@%i+ z)U!pU(J_-|;8WrP=&(d+`?izIzd04Qo2)lL|K;f_z#duE|dU=o#9Q3jZq9%0?Z=zR|8rj}BfnA=+-9o8z?%ZzOzF;i1#UnNf9A#X#?< zS@us>F3HsCH;qeZF^ubGl~`Lyn~l^L6wQ}p(0|8o?Ee|Rp#r%6+oT}v*1m8-_M_&P+5L^CXu{lm|BavxFBTJ;`>9O zD4mK`gW*C2;DCp8WTJ=ylF`8e2+(l-c*;^l#H7#{UA^3%cL*Lcdt1@pmix*X4VK%= z!AMc&nv_~<|QI<;J0Q{lY{t0#TzpE_{y7dH6y5R>F}j%#r0QbzP$3UBpmsi8RvU1@6SW>g%P==7(wS! z(2k;_B|T3B9O5P=~MhUKs=_n~-%}}6tnW~XHR-d92;ds3smf{9x;!aE0L)=;GeavRcTyRSd91yd8 zJ2euzopXx7oBs0qrIfrr0K`+ok&85yt;{r_C)>dFv@FfU!vnu9%9*<*4Qb0~#lnAFuo7 zF5d1=HFQ{?!bvniXe9Wq1M^ka`=mJ8tLA(8rshEMN2Vz_lkxlJ3->yU_F=Ts4E&KT zli>Rf5$ki#ramSSl)e(EtVrj{u||s#`D`F(?9aU3u<9xM9BpW20MYd=>WO-?<&+dU zaq&PSqY{FA3Gq6H$FJb8iIK+nwLWad7-HFPy5jwW(|Qi+0x`~%L_X?%(-epn>}2*G z_b#C=SeNh#yst!u!u%ge@6LLF9!rq>-RBRGei0V$g!Q$=3K8M0ia`CM*cT=OL^dGy zxlnX9=kFXyB-b=B#pfsQ1RU(afNM;ZU1^#m{agcE^$R3USTw1#PI4lWK23yr-c}Wa z#NR4;02)I&QIHwj%-CB~OC9%xvt^KE6(X%|Kr5ts#?D=aQV<8Etji|`%eu392uDp) zQMyZ?RSao7wN~;|>`!i_=a3;MC|)38;f)oIyP=cnFan$~RIm=a>y6cEV4~oA|Ct}F zA*UFCMPe`nb=y0zfCMy^7L?3P)!MzeqpKU|5ed{-`W5dE@(>C;rjhTEqw8(`ClbI) zTW*^G;yHCU#(lwS2su888wz{z27Z^2ATg(avP0qoc93@B#OK!T&dLqG9~?M>ko^}{ z7=p>@?o$>#88pF)b`5``4QJZMKjgTKDq>@jmi-iVOrnKHu-{1M?&F=HXkq@KA&4|_Xn~ z!(?(=2@j}_Gd{y;B%O14zsH7KD;9Bebw|ab>t_`n#zPj9mZag27C#Js*H6|5v>|b zGNjx?>*qJ# zWF2AL5#Cfr=ErB508)zjtu=YlwRnm%C#fMmR#4K@Pts76#@|ZoIwKFS4r?`z zV27QJ)HiURGx)(dq6^>-?Lh-E60R+i{Y{@8V_5a|7(^r~`|5tHpSFRagh80qSB=f6 zKc8Jb3go5j3=B{miKQsi5a%w>`Mdk!rxQjc$d9|9+{#J4=y@ukh5ZVCUlmK(88(RE zgTRtK8X2>HiHsr)RTrQUfLX&dT3j6FC0o{c+paG}!2B@T(XWoKBjf@S5~RN2zd=GX zi)!6XWra`*Ws1>sqPeBKJ5_PIJc)KoG_6kuixoI47WJ6V1k1b_0f=pbk=0e3x_NT(VMd8 zIjH|!!Ex=>+S+vS7Ow~LcU1n+yKb7v;WyI4_ugPGJd9XSCp4aME^)O;R;8{2Ig8Tk zFq%w= zM7zTAz}5|ev;VfGqIMa@%34@h)Q<5c{*v&lROd%{y?oGwopeIPNQyjt8jzkr1Qn!h z*-2!6wt4JmDHwP@)!x&ksIfXBgZNlGfVaIqM=FG7!sJ~c>32cVhbn=rgb4Fd-lfI_ zxxg!T{)SR!I5+MzuG`zeqm=U1)rs4|eAWGM)!aiU#OCvvSuqld?`La`bNx2Zd&V*m zRoJzmlBIQ*E15a99y%e$@8>m|F5Ft^8bCJ2pH?^#TmpREhyOM257k9SvR5+FjxJe6E4Z@tzM?s82#fjp(U^DnzXH@0PT$n*Oj6FTJK^oW!LU z+75Jv-8-PJA~<{4xIm%Y{6!FFnlcOg5M%N3{R2Er0vklFvOAr6{!mqcWi0WZ-&?E^ z1SpK%2sZkWy^Z$#7l_0KJO2L%KFWOn#U)cPwpMYqgJqB>WMX85We~S=c5x--V)|bG zZ`FjEo%uf~Y$~9RjRQ_Q`bX_IFtWFaV1Vdvw=en#Aaa2f)O~|6ez--bUNL!1R8NeV zv|Z};!sj}|`HFK}GFPb(0B`I#Rxr+z_T(m+>B2bUcpp}bDL(_vB<&z9MLAB|^leTf zEkZlsJBv2t_3=ZEO{4Xc92u1)kzaeJ4M{Z~Lw+^27z6&iA5RY>@#jk_=)+`eEI4Fz zkq=`QM`u#?WlE2gCPiiZ<>G`!Jh3Y~d zBA}nnA{-$Ej5ShmGz_TMX;F(2dmJ_XDT3?L#h6x}u!Y1cxZhk4KJ1wU1x3;E+Gyi4 zYy7Cgx{^yrdfmp0H^f#Pf@Ux$DFU5=K}WSY_)QQOD2 z&LIh@m;*@5-4~x}NBi$^VHxa8op&z)AZpjCFNiibK|NKgTP4|wvNe`9mQ99rhK&}x zS?$3QxBmBM+LJ+I2M9bH~UyoK5_EV+> ziyF4q_=hXEmjxB%y^r^&bu3dBLFwI2W+w&37TomKxOYc7heFng0{+=7LA4$5=IiRk znJXve#EvB+R--C>oPvTo2N;U9A}R;zo84G67qr!K&En#>K9u0wiu=}2TCN}QPJwI?7e;E~zb^N;){GHs&LdaTpd+B^i8S3b zlUHGM5U;{22ZS?dF zFu;b7R{w^|F;qnQ7gSdu6AX983aA`{I=%5Qu*8W1M*& zzL;@YtQgbL3756g97mU*oetrAI3F$oYb=?Fh06}m7a!EoD zQA)(XC`K}o#xD?31Tw15DE12ZHsge1gvf`_suRDGiJ9Z-->Z;}U_oXOq!-qXR96TO zSKfXtuPO^&z^~64Yo_0gz%#9;UivKe?dpwxojjKjy6FmbaDRx2C?Bqv=s9j6`g4IL1 zI2&g|Mfe_aSb5zAq=cT>LAYjZwxA^Etwf>NuB(FtudTqwq>Htn1Ka#c?I2|6jC7P% zIx0XE@9uW=KU7kLLHWGHiGsdF=`q33;Cg(vP*?jB2_C{pAJ7AoCcB|6Qwy z7yEi6ij(U1^hG$EF_ti=D`Ux4z?G_st5TCtry!?HL`a*7mM|AKU@3ePLQ3k$mJ)3; zyqQRXa=7XbPoZ(afIsjGzBK1gAN@#T^d9845*abgSD5e9!nyPLvA#-z*DrszMm?}BfuE&UK3lZXbnBBWU#)gUXT4f zw>>CUnR@)axDdg+z!YX-D7+F|7)6t|fGN-pC(JQ{7=f0_9$RR7LXw5K94O=D!cF{+ zy`tDR(m?|#V6A=W8NwSztvK7(3lGSq#ns`JFOyE!%POi%+A)bd8l~_&yjPI$seZiR zJToN=cHQXHNR@kl9##0ELv;FX%=bc&H$>i-hrJBSptGU9%8y3uz))t2=K=kGNp4l| zHPJMJ_^(3eF0|%zv@f;$Xi6T5DaTz)mFg9wFeEroKOX93_dezjn~wxLIrq%yEQ~%> z+ukxQH`#u|j&I4i5!PF}qe6pQ{J}4!%2s~D`ws(OIN*(#&nJumT~i?_VU$EpL;Cml zB!sEt)Op4yDB+WWmZ;raR(gZkgD}1J%|*nrtgo)(I9Js%zH*bd?-W+Mpe(tmA;McR zHGCg%smH$2nN#yB>(OC9x|e6 zt*ThCK4Bz;J6a3(#M+v$mm%KAUAS9kcD%*Ud42dKc_+a(i=r|zqVo*Z7P5c8gMXfe zxNPAOSN(IP@%C&<9$>=1R&~072)sr}SqZ@bJ}0=mIL8DeOb2X|gPo`M4RVr<3abr1 z>su&IpJhEPj5~X`eC|vuM0(6B)ZKqR5mW>Nnw#L-Z9p@465qU)^>bN)aB zM!3wf9eTqJrWiOLp>F=w6t8i1;X;DGSFa$=y1y-|AMPaSR7Eccq}L08umZ4+g@f>@ zW>TWqQl}AK*rAmM3*ztY_j5Ge^RcTvzaEDx%#g=*K8V#S4($vCZ{kwXcP3>8&Dm{9 zwc(=_!*$y9yFCe=7dUJoB)$eJ_i8Hud)Upka(?+IKuG=)NEfZ;i5C3EFsqSY-1b#F zu-kMRT-Xo^*?K7H)nTJxnJoY=y&;(3eEU5Zr~Y_oVWXSgRc`g2OMWSXvL`)C$L$&K zj?{6F{#|z1;5o>g{py%L`Ac}wTVw^y`_UUAmq736VNoXycpCmt)1^qcex)S>io0>V zB1^*12P$u`?kjDDnSjp}pYVaycsv5q%fUQ-Md3!twfXAZUr*qr6e#cK@LaK-`bp&b zP(KC2>`n9>J4fee{92#-VSP0>D;R=Fua}ct>&zv=6h-PelwqO49AH^ zuZFlZ!}2Rl=c(Mz1+-XOG46rN<5DddiR>W`61>R5FdY^(VSg|a3kH$QTM`+QLPz)L z#`Ax~6v=o#u@6W}qWiTbuOL&PNZI+fMyD1bl3dcUbZN^_0Z^=@N)jTF;v$w43gN6O zvn|s$>f}AifIP)vL5uSS+qv5g9AE!T3q?juL^JH+i5vrd5=lmnXm?&YZ0H4`FHy!F zWS*Bcs_y{F=B`De%lZ0yp*?zrcpj56bCfR}1Ej`T)E;jjf!`OT@YSd`thk%~x0;z|C zeo4Cl5ERVla}!URCSY;G>OjamAR4vxD+C3J&0YBhwPLiyB;n}ATC3f!YLTxBt>V-(ac9a7#+4thwKX$shx}^-cmG*srKbNKXqn+nYZ&`dOXB%>kKg9;ANSHO z`8he8{wJ{C8(TO+C?rD`&|iEy_rNEHHN=WHqNpJwbd=6857zQvUN6Y}OVX8wlrmv| zq3uZkZlh9W>mO zx#jNWyR=(Bw;6DuA>OTo-!AGpx4v%&Y3RBDC5VuD*_Aoq$UaqD^mczitR?%&(K?cdvt$kqg|QeMCK$FFaReK9C7fz3ps*@LO&!yi$% zL;RWs&MLC;fDJ(#eyWPnFEVW5%KoXEwM8sjGG?@{=KavEd;yGB%?^fbi`U-0Rl{f{ z>Y%&cH)Q)-G3&!tW##hj-^SycNB}$-HF>TL4_4TO&U$?)keeSIg0B>XMEv<{InCg@ z)vz4wy2%9$+0mkC*yd^1koL!^1=miz+3jWWzSl!zR=9+VC!!pLzGX0&{>Z)d$CjQLy`)}W-i$-kLPB(|~23^wTO25q0 zh`O4sqC>wQ%Bgrhb$mj|!dbmo$JOoa)bdW?Cwk>sOJlXk6vCHY+N?f+1$d#!r^kyh z7+mQIO$V79ARg^s`P{F-W;=90LV47Fw@UnvT}q(3AzmsML#=nsV;M_Qu2?9-eQGWT zBLHxsg&ac!VNvh_nfRhewRfny2sYu(_)_bbaAjpKm6A<9>AFTO+wYp4)HC3l@LJg8 zy5i25jN1@OGBu4^ROj7HubI{7<&PnXRQfNE2R4YM(syxW{%P?RWR5aw=+jmRACBZS z%kn~~HvgZf@nF2SiA)#T3^GSG+1U%pJXNkD<1M#iBMkheE=bx*jOwP@$(0^0o~pIzJIbMG14=(t{DMt8Pm9a1K@xB zUn&XfH$VG7UYcoaJ(q))e_Or6?Ka%b6a#xn1c-k5r0eFy2~mzL1dbA*kD5h_j=7~^QNNu{bk3K(llUh;vxdbviDC%ZR*~c^Fn=)Jl-(p znNupHJXl`bUmMocrz@=$EandvdRe2lI;uMht1_`m=YgV;XFKk0Uax*nM^!AtP^+q` z1FL=77=JtxZGy0CtPCsg!+zlP7i(oA%t=0f^VWKjgbAOe)^gr`i9tdXL{~${(~+%j zkGIBKckagFyWX4!GNk6mfwYI6kr*&C&hOXu^SQo$19%qCzeGr+!GF?%Ef*{Q)-C0e zO31NFjRd;ZHx4D9J1O+!U}eZYh{4!SC0XgYvs%tTYgmJ5QL^opMxdam7|s?zLNnyjF+X|AI$qP?Wk3ep>SuwAS8k(OaVg-+rJ<8jMR2PPPHUVDT&HnS;x!Z zyKU)wl5qo3$&^bL^e)T?FB!rQNWD~HE3N8NhUi*7Z@^AAmwj%C04Juf`oGiR; zKwuNTpso56Zt>YMF-~|7r%(q;F*6b&y0EW@WMgbB_LRn&MaL|EINNr?L10 zN~6iHu^iS04@2nS_{>San|{k<*&arycNs`jS1gY;HvOlWe!X@R<-Jh1#&}zVXN46F zVYa4}Kw1Yj^>I#M3+UU{19X|(-sZOz?5@#I`aBIe(vEvL*?Jfa-#~morOv}l#pXlV zm6bB$(+nYmfBgx*REOlIseFR(T>ek}?$}I?hpedwI(PbAW{#PIzv#pmg1CstOBsj> z65D0J8DDu<7wrb)FeC_(VyGR#q@tg{0V@Ml5L6o1)o>_OzLGF)COcW*DyX?QJQ*{t z$~!qsgXI2Kqb;#$Y(FnR0BbkgE(pB2m6e6q`;s6M9^q>TPt+NWc+4$^%&c7*KTND1 zGqubJ$AN!SUtm-G24sngfD=LaNCF76ZnDjp7-U>Y*vKGxWT4x-y7Ixd9hkO{G%Z1m za)5VD<@Z=hbeY^6WVUIrBj%_TtunjjwW{#6mxhV>?MzLUxcZ0r zF3>eE`g5F)pn2hts$xR6o^(mRlD<#>iz;SXwLY6pLQqmdq0M4l2B9(TlaZ?$fgq$3|nmmYjH8R_3}#{F>PP!o?)CAx7eC%9P-$) zRbK+wU}p!u+v+V1Pay9pBfQm+Op&MLHq`qAWaly$aX3-YMgvmED_ntJel?5%VZL<= zs}jS)h~REs2Fg86ZT!Jsuv381JOXD>Xja((FTsBhnJJyR-KSAre^TkACljf{hcHo# zWes7)V-m6Qa?{wDYN4(84x7J6-XQ_nt4XFlfDFvTzJ~A=7!|)l3d97V{%SyPEy7b` zpK?FzOeS588b)-qh%T_+W}Al)g&|@Q7Oi(c_tFq_>`w{ov6af?l!gfwBAM`Pvxb`# zpW`CnEaX>jCqvSAtvYVx4z@eOM!K(* zOOyS^qUp?Q4HW29JHNJ|Lv62Z08jTu&G#&LAqRCjA8j4Vok_Y_6L`|mR@lG!T>^+y zq_owm$uQlEZVet9v z^j^;pKgls39oBAexPM`f#{y7@EMeaViDRNaryBiK8DqCZWr7(fBcJ!KEVkiM(f65m8q ziea~XplYR(FK$wkz5n;}8xn$>2U_hsUk+wZOqu2VG-@&Qx(p0pjk1TfT zeGd9cB0GEOQb-O87h89=I!$Iq+WpXt4&5ZbxnWr|{9j*<%>>E13mS>81C%(1s_TKk zVITjDpcsnF5(q0GDko%*rUBGKCrDhTUxZ7k^B5o*E6rteEtx3;JW%67KX~Pds0NX! z3g>=h{|q%-?ni7H!F+8PdJBf%|<%+k4++QMqj04#|9wIyJQEr+=O1Bxs(zw@f=Allr_Z>*T@y zaFm(l`1|*-!w&D}_S|gv(|y;YBjT59Ku`Nu!f-Q0VH(vW^BoT<{p$Wc_#v zf&_dxC`KU;fhgNQDk64VY9i$*QFjqJ&aM2D25XM0{fULN&k_JWF!}TJkdH%YFP=SV z)a+~HCIUJ)83sQ_D(^fSHmT6QKvwhThtahrSaHMXM=|Kx={u4$mKfY%L5vJ~q5Y?o zm&y)g{mJft84xzwmX`WTIo@;-#LL&G=$_MK&HZ||+sOEjB3(;}a+3>=O&wue-C1{Y zp)TII6q-iNh3gj~aGsdo87Y#Y@?g`Yl#D&s7P+e3oOpKhMbe|KIRS+slMO9Me?z1v z@B@zuysL^Yz-bN#gG$WR zHJpzk`S4f^G@Dz>mDRE{NXdCKBgw#13Ra3;wWlaApRR`2(1|y-k^%Z|aagAGMj8HF zD|>{Wgx)u6T#e0q2eJ2?srz0}&4H5^Wi`D_24x}lgiyf_2r@|JL*i}wRo zvC=vPciZ+~2e&l%I!aW}(XOzFDa`0oj+^-YAU(h<3;cZSt|#x&+G-!i>WY!eyoEvn~qpTbj%IQ$6WD~O<7r3ekx zkI`LU?k()n{s@!BGzUfgJvBRI%yV*8#b<+k)X8~d zXSI!K9L1Hea|{EGdl zXcnS5Sgbxv$e!LL@Dby);dh`$dsg#(zeN!-+MrdO)L1%}v}1&Rn%(ep4huEaUViSS z`Eg%ku7v(zQlR=TZyQ#5gJ?;X_Kv`@1@#JrRD4~#0Pw|<(2St(-bl`4(f4l$5FU~e-N5^^& zt4IB-1x`stN@09ff?!S|)&e0?N@J!UnT@-Hr((@xRm61$aa0Q8z>3nz!D`!i@;d4C zC~%UZUb@N4qxk6y4d5HxQ~7VsAg1tcv;qQ3ga>L11q2;88%7wuWMMQhK4!E}#`gpQ zN+RbM{pHJ#1_?tLgzu0{{5PbVvwQpPh6G{e+YJRmLSMM6(R|Ad9VtkhFsldgu)V>z znFbfln^*ux#@dh#JxJ?;n0$}8SbLUKRBzWrm%bwx?tLms2}HQU)-7J>;+>n2l|ht> zONg+NNMc5m3xjU7ndp$3v^xHC#hI9OXDDkt=UklzR9Tr683r44U7T7FkB?(hto9@{H?21x3D;|$)gHlbNo{~ zHR=9!yb6cG0HnfKyX`&D&Nxp;HjfwNzMda%NU$g7fEiIGl|=dl0F`emYCB?8VXC0ud5jx=c}UsXE`rOV*VQo-y|#w5<@a*phnv?0xMVTolY&41Kt-T+B#K10+w(f$`D~fn_Pj3c`MW57{*X` z5(HnBlbA_^hN;jYnxJTFHcrW^iQhyD5~4}mjHDNTyv1V%sq7U4hwzw9Y0qqjp94yD z&Z_>9#1u!i@Kg%r$W=L)j`CG`V;NtZ_iGx4IGr}kHk2~Wpte3jx}wK6RsTRuKiYb% z+}aEo1wM%7Lq!L73ni1GO(py2?r?ERh9k#cZ0utBDs~<>o7YrhPm8OoPX@Oeb zaV)bKq+!qTt^2(x&OV`bVh%cEV{l@k;7A#SKvEs?%aIZA;op3G%rvj}oYEbOJ{~<* z%T-yO@vRpZOUJj5BOdm$ibFYqheS54i?BCLg-jw$M+ya2MNgMyCGnl$d#7hmpKU$e zKzj8Rft(uNCQm@QD5q>J3`i2PryY)GuoDUqZJSNfjsSJS&Y<6W#wO||GeQB2eU21w z%0G+B+dnL-7c!2idPCshwnMqqGlNNZ!oz+(WDG<%`$}m%dQd;8Bm%tkV*R0C1fRC<0-5{K@gGQI-W;j)GTHsZblp@q*@}Es@ z*?eJ>O3Uf6KPa7F%7A`l{rv@>q0vV|SH^I#f-pBA@)kX!Y^6j4F>s)qyqO^&O-lh) zylK<-honi+ipPg775~MYw*WOD?GG}G&MY7YwvVL22?);a`H4mApEgo2hsrbX;BudZmak=lJ)&c zPR!hyd5f7GTw5n{bX6Tk8;U{DFy045rzwcZS_gw&hL<^HM@Io^7%J8`VCuE~@uU`g zh1#Vz@#Y$nIIe5_!g!S%{OqNoz*}BubHr510Q$sLs+EGSe(7cuCOoqR-3oQde|Y$6 zC1NV0cfQ;!9_#i&UgvVP`HY(&-QM6hFwhY0Dt;4wDnFio%p!>xpMtS=Zm}Coqz=i~ z2&>0%E85Cn{g$ahN)k+URdgF8mN_4w0?;yHPIio8@Xi}bMI<_ce2VDs1Jh9hD=_Tt zU01{IXF{i~bF>dx9-lX+M!!+_YJKW*Jc9u^L6E=mH71bepcS4Uop@j9#EsJ0FpQ%M?)>^_}SJ0+nlkk408cf$Gd zw0ZOnzHZ3*WxpP}wGyiYfonhbcvDmAu)CQMY?r6z$#aU`)CKSkC*{Rx2e~g1#S2?> zfww=BT$kUTBmxH%H|aMAA`)-LD?VKPde)x_p@PlQ1%C8B6Vm3}snzkL>S&aeJzYGs z6Tk=V42kkaH#3BM(33uP_TG>X;U`$!EwY=36~+%Q>~S!vdItKLzwA`2#o?GCmk|keOPi=m2BiFTh&*tW_;t&2Ysl+B=h9>2 z?h5CMBHL>emwiI{fpUx6GeRJ%cgo@_;==F@&>{8JQg_0$=oNg_!9|r}h1m=_7-{V~ zV~;UiI%O2{9O$LVzYIsdl??To9MMOM?~5qm=sFT)S4s~b2VEIiS|6px&`@}6&79dv z<0Mvr{ny}>PB$2EVP0D@S3(3_tXR4p?QfDj!43$V=Y$pVz->Cx2QY{|(`Ad3%K{z6 z5Rxpub?}473Sl&3oS`PEad`4;D&KS)3#e2iEs?O`)xQ9A$~W3BP{L&*cxYJ3kVUX; z%%tTM8m8HM1w|ibZq4&l0u!{|{w((buYvXK29tEfIvh;DRocUWoHj`ZMJs1FbxR&I z$eJgPRx$7x-~(03j-ySI|IaPZE+bBb3sA_MLntUMJN42La5|)M>^F5f806T2fPQfz zirboX2A^*e%5h<->U12~H)2lXg$>cX)yHAa;3+PSDG5oigcQ4{NCw4d=Z{fF5|!%2 zE4rSHq3tu)6Xtx~l_%lO+wjCMLmYfEP_X+9#U!dqVCfG~xR9T%f4OSrFr#C&z5Pq! z=9J})Lpr&k)s8Dv#Z)nxv154j7GJ|!ay4H=yOOCt`?~;j&gS1EBE`VeW+l}>jcgV6 z3s&MI;PPW~V8t01wSm^HDn$6;H;!+}AOhw@Y$f4}F*D8q)mk-H7pJrmclUaw5~y1J zG#R0MKs&{NvFhLpSDi{+BlAWeY#7(Vz3Y2wQMd^ct)SN3%F`~3nRdW8OGBJ0{Fjif zP;=(Lp=&Epm^E?qOa9S@%K{DRoDZSB^YD5&+s_K;>g3QaprHIs)|d3z-*a&mLI zaAor=5o{e$4erKcvkuNbh-Xi2$3j-@%LGu*li-q>l(rEb_|j_FOT=FiYV1~feDl|* zD!+zE3epW&VHNGz=#Ov~*F?Y>F$HXS?OJkEx(6$3@1&dx;}a(2Qc-@)c08>T5h_0M zxf^F1*&W1_cL+eVt$t=^B!ne>xEBUzLK5qF^){cWrSWzHuxxWZEFx7$Rinz-(J=T1 z;`S7m($wg-hQR<(QJr*}$e;x&nYuZ6xGnv>m={Uh>8sZ(0IT6M5x%r?gK4mtfds0L zb%i3=9G>>xF7Aav1BMmF`tyII8_oFDzh)1o2UWI6l@4mRyIDx-S3J`Cy8&Xr1>$~! z3)g+%*ctKYnP3r`;*_S<@_5el>48(qpNf5|O!>Q2qv$pRj# zeUG#A=I{XjPTC=_sH{hN?kf?P*PB&ZL=S+}4)56I72-pgaOfjU=x|NaU&?X=6yKby zFh@JqVEwG8< z60H#zBIa;4Db(7;@Y560DFy?a8F9TWqH8F6j`67vCW&P@Ys>nG)2NT-UbjFp>Sz`P zxM!;T_~QubYfxLjSMl6QJPGMM!Cm}4&2`zz3zYBD`E;lU1}OMzJD?a7j4gB}B%QmW&rlX?S5;H^W>k3r&-056kqpY&(=IWIi_;AVq(tiw9}LtA#N9>qQY? z@C+9UqXw{R$^{)zMSBMTp$0Dan|L}2I~`Q}By2$rUfwm~fDe15ZPm8V#qOGMyp`_w z^K`*FgPy!34aYlp|LpFMejgS3x`G+SaVFL+uH_$6yH%9{)i$om8vSF7 zG4eEx42#?wl5o|pMc!&L*}CU&rhH8@Gj4vk+s^DP3nsot_TFqpSq_9xl=3tzgR@nK zCVZ9^4a=@tMnM8yA(ReQ<8D0k<(6Ug;c(SJ3;cnYw_?N}K`01zo@H=T;O0yn=UZyG z6#Qs~VJ#9~3z?I)HKXtZU!Y1Pem)eS7zj-gM~I09xCn;^m|;f5HPCtCNgOyfPgF`F zjoh69u%*0LU@RJ!{D4)Mrt}al{3N`gCXW&p3rtS~CQW;rEil3)D&0S*HGGBXl*Gx% zRnHU1Qv$m3(^;`3`zuM)nCo~8xwVOFsoN6Jz7Z90O6nyQ17t9gbW~~l91z2YfBxMp zUHEg1{r!B&YiXah|6IE8z-wxkVkMrV$Q*(KTxlF4*I?_Z`~x~uoi*yJQndz|QtDtk zB{~;O&Mf@p&P09IO%6Rfwr9tYBR7gk&BL8Xs~&ss&3PnLxnWeb z;w_&i^1`sB-AyoTWP=i`W70SI$F`%e=H|e%Cp)xi*&0_NZM^d67B_Tc!q*I}qEUaH ztRu(J^B?;i?+_3x*t}FCeIp-Q-7A5g2^VrL=L}_ecJ%15J`R0+E~Hp;f8L2s)4oY) z(p&>ea=tkpZ`z(Og7~-mr0lXw8f{E6DVu3ZlHw1UlPAbDq0SwJ*1$dm)6ou< z$|&PVX89AVPwPyM_k+LM9#w5_e0oi(d5KR-p!iZpQno-qc>Zazg6zp8rM&LkgmGV$ z0!?_iIsce+Ko)1_-;}3Y`Z!Q~2H|kkz72k=#!clpp+8yRRFwK>tAF*lQ4GTZo_7Hx z(qo{~?)0w+fhZ!~yAO*84~us~bcXeWY33vpd$A&&w6<@3wE$?T^ZJ zud6x!tu!DdN5FplfX1Pp!QtShw+QwDTjcsk!$gZAV3lCHj-seL#x5F>cK-O#Z|Q~F zbRL$#)yc92=_DIu34Vu^8zT3)lg7!{68K7($@$|8&I0JyDN(z&WzE(B-)bu(slhJE zlV&6=h(E1s%l&H21%hTX$Xtg5l5&hHluTU(h)<(@^yxLrA{N zm3aDb+#W+9gl8g zPg_UgC!-EawLeZ9d{Xzu5syt^{6Zt$4@=P5Wp&^!vy+2YsaU%|D=;IBKwZaOK4Vj(7!%T+ zisR8uV#l3QOJ!rj<__N3%9^Xxf zmCQL;n?kC03Hq!%K|I!JLE9?f1CK5tr|~6-D=zufMW-n~ed5Atk&nkj7pn{OrZeyd zF@ItVuKTX~8?@C*MRN1&MP7kGjHHar2V=Mej>N~4!RG1|rB51kWlCLB_e~kSu02?5 z4PmAbQU4Jm1^TqpV;U)~K}6(rOXdpwa+OHOLXVqLFStDeO@7a(aLcx=Ks@9jxv$;* za%l*fCEa6Aa(z;_%P;*WjH;oz>Ls9i3Oh3Mnos`M;C6SB@w#7@MEvWg=ts-LJ2-AO z$u;+)6;7SxRto`aV5aVzPhh@6U^!&aCto1r`-_!Sx@7VO%rzMiL{nXZ^vWhX7bluR z^Z+b`-=*SMqL%<&l$%%7`9tJs{;g{6W5@O&M-;U4n9cKW7XHPc6%tuF`vwpyMDgOj zkNfmEpl6KeTg3b^3)$g(qu+(p@Xucq;<$TIl#3h?qkHarsi;n(+e!J6eZLAe^ z#2@F-eYw9seBA2{BAV6(p6RgN1xh!3RBwWC{?@&M&=_ zA^}h8#;)|yy_=`xXPx6^W3YZk;W+MHT+ zOy;lOx7P)}R2^EL)??LCzlwqA;W+{`Sr1zdSMh%lx#T1d#1EQ>+R1}@n5heuD!9nx z*$700I7wj&-Gt!=5r+|d%|P~Uq`UQA^g(fj`O>Y3;1l|~XZ{ae@7SGb&~@#`wr$(C zolZKo(@Dqn72CFL+qP}nc6Q&-{fu|KW9+^E!1<-ls#?rkYcxc*>86@!`@5giPsYpe+3#}|_nliCS{Ak7Xs5X6jW%~+)? z6!wa8$R~>QNnxu{6YDlpB4@Q}2W}J;2&a^rIdf{l{KP)-W zQMXV65{m3q(8^aYPLTJPS93i1l7QsEbKd2zzhs~9v;(6gz(Tpsse9XoksoqjyWG5m zSFUEdCaiM#E?`%%MNS?rK%R%UR3R!ZWd+V-8m;mrA2l7N?zN(`WEm=E$%I`~<|@;7 zdI%~>EIo)nZLh)c`WD@8$Kx}dhc#=|MEgD?f$$^ea6~N{k*X!AW$bc9kKiNe;o9y2 z0W;-rH3&Wmpo42O=^{aJL(RX_sv3h^i^r6`aS@m5!y@f2OFtodfu??OExH3}{p;<{&9YV3=eW^z44G#oN zIHvse`;{$1L(cXbs*ak;)MU`<+QWf8lO2itS8i=gMvFFOQM(TwLOGeqgu^&O5RVgK z^X6pyG3}#(jG-5W0Ye{MTMaB{aF$y%>n0N(3(Z~w?zKUfS%8)1XP;5zka0#MU-s}a z;h^ga@a~r}EpC&)2NHV7fnTt-2T2F^?J{8!UPQ-f&pycQm9NM7j?&IXnWK0_evwCx zFOPA;(g4Enn|8l`3x|pAL{x@Vwy1G2GnTALGbgLUnvw2;sVC`lJ>mn)S;KvBjejrY`-M8wtfy{8E@;SzkXki#-Gq>OSCUa;UJ-a?2I&8CbJ9YCLSwSB z5HS(i8d<{d@%n)Xf&S_bra``Mf$5V+4uMmZy>PsWP-?TLj^&fBt7Y*9=lRY}-rUW#uP)Ud9_!4eiYv1VxNiU%IB5q!CyV{L zyHU`G%ZSVHA0>DMuNobvJ#RHyt*ClzPq~3TbrnLEBc8=DxF0i^(Loe?Zh|(-<;XLr z7sV=$3#J;0a`JprT>#LhhWY(6*B=UN!5>U}L!SXfhUdNA+g|yp+BY^Sg+RdNAI^j! zjbyqRpGX`sKAQA3stTY+frS=Eh&izMxVH1+yuaDX6~s|Uro5sFM#Ga&CJhjd&eXi6 z@40~w5FZAU95>V)UUcd^+kwCx6vnF1>3hz6K5nadV}jp@c({QyP9 zuf4%%t6W5hCK#iwg%`pYQ$d3MaL1iFI7zbaIR3EX7Wo%DV5((YN(#F6zqZdY8mhY1 z?;_#w&032{nJgEzEP@69k=`Bz!eZ$NGw{#7dN2@1`>Uh}rQdgYn?oBwErFD6D4gMc z-M644@{DDoSOkb@$-(ZMuc$j28Y+`jKBOu+C5NS;Z&;YvZNj3K|NVi~iaiR_2*C%{ zl{hVHA>>n3SqxLJ^{qYSpf*9l?$718EMnPSOly~ZETT1zUoEGst?JsDxd_K*ELg&k zmSC<%r0lO=(iEjb3pGd)lND@v~ z)K;Eg_32U(Earq{4M>7*<=&-xdZUvlE_ z@$Vf^Hef(TAI)$BvNUqQfeQWCTmk20_mV?!7IH`}H5FZS`ugab_=RTn{w2@__Cpcq zP-pCOnSK1grKAJV_+tYvGi#%*#mjr zak8mY>1*OAT#{zu;gp?p&Z*qIbEua&{6U0K(l~&zgIn)mmn3CW{Q_IBlP69QrqoLp zw%Vb=$DZv(^}SxD=*KKbz_+&Qbazlg(A_y{kTE0F`+(k~?Cnwn0>m}q%nZNEEsuW4ztGGtCTD*i z5pqC}j6k5S-V}aHZoDC{hX$)XoP=2MHGtLN3I8%2n7Xz(*U-#=1zCrONK0}8x;>Q`IXtz& z4LP_~658jA>zF4{Ux``LA2_6RUQm*0AXC5%DQF@#3(*4hue}myWabjLw&z(wx!|rC zZ$Yy^znBtczC>&G`l&zV6sjdr{cm559&@3;H?N{g8jJyWhlMUb8TL3su}(0t?~~w; z^i*|@EBS$YBUa}YOrYSR9LC~DrWFhBx85_A#=bY`)WzX?&tOLP6m9};8eDATLEZq5 z{NqL1zKF(!G)$BAIRWdZyJVZ}lY8|Y3281wskxDFMR4P)oeTGaT$ofgYLM0SI;%7& z7EqD28{YP_j+{kTt)rnAke0+59sPBe2L}G6Tc-)F_UN9Z>IlLpPJW9T$gNpFaDv91 zZVw`7_7YE71$CPHUb9mcDGQ{XZ}% z2|OkUPnh=_2iF9$yq8V=>RRh~53rVoO0RVES2jAn4&F>pr7)IN>V9%tcQ*v%n`s4t z;Gp!wCK6}KY*4RVI=rJq*)x>Z2Ab2ceR+5CG`EK4-rH{o&bP6@a(ip8@QC(%oC21kArJ!~&}G{hobd@aik;;q2C`v=L?TMQ z)WWwbx6tD8uWD>1^n318fJfcuKWY<~-xdOz>4b#l6KeWAz-Ea=iKgYc#$YFT-#=p3km?J?X99y>%HGMZsIW)}?_|SU!l+GhP zJ3?vDIzD%e;6J41{d0RRhwd+|{KG&IzP;RY>oW8#3}mZaHb6YP5NfBj|KxO(=%3ItZSoaIU_qyj4J0YU_~kR2e6e-~ z$jG~#WeAlFA8@X(!AOu?hyIFLhkpLH;#DGN;b4prloM`~Zq}N@V3>LpLV`tTNqRF% zY8z-I6HeOK6*GdvQCX`KIXs+B5{9~m=1#3&I$Wttm^$$Uh%O4dc)hUYC>AeRow58w zMDzEj^P)2K4Ru8@`M1U(R^P@qZ75#!??fDjXg=FF4QyF7DNH_vRJ@b=lfu1~C$}VP zUca{KX)pIY9$2`X5RC&JcWyD56E1&^O_~ZdT5w$l8^^0STy7bN}}OG!U7E>f4xzRd?sj9cZYEGIahpk$sqTH z31GT+izO~-O?rN?Whl<%K(hji2G)w^s|la@!QD6jtpAheERm(u{%l55!H#!!FTHUU z76MehM=ZDWgOr^75>@3{5Rve2cc8x|e#qT0@H0UpDFJzY3>A*G3{dF>p@+Vqj~Upn z=Yw&6{oZE}DOkDN?VlXq_iKw@44}G9)BiH$WGP%XTo~r7G@WgMVhSx<3)D?lpA3Z6 zV1Whf7Tgt!ga7rJyBONbMfI+Ff%%AQ*8yd2%3@=(Mu6gTTU6&RxdtWL-u@RPsVT-^==c+sbJbm< zRrf-?uOoRa_!JrAAc1Zm6}0?tkyquK9tR|VJXWd}@>BZ&6|)CgBB%c0V~^7uJY%v& zK~)PeLVKT1D`gCEXV-5C4QwU>AoV^Z=i18hSdsWTRryufU<%uLBA|`}=Ns4=k2sur zk0~c8b>b-bGv2M$RcA`o<-%;gE?zk3a7lfPMD*@jc_M^Zs)05KRDSs2DX9j+AkYJV zdU)~#6FaZV0hy{*UMQDcsF90RF(c#VtZ3>0V~qHjZxJyU{3dr@2KwZNscE>O;4 zX-hA`CAspD^OGp=BAk@!gU9*G`ICJ>I0(}nS$HR7k8|V^v=dAwTQStS2n29hE&OgEJoZ`l-a{k4(r#P1Qswjl*ts zL;kGYwf+T}XY~VBX%_Y8FHTqmaYT#Rrh!dlI)`!r_YI zfxgvK2wvP0qfRSsC#2x0DDgdj8OlqIhr82ZBQ*62kQby14*qny3D3{O*b5G)s#H9y40hB3{8i#$i}h3S3i*p$uNl1HwsEWy18r3c>|~OZWf`d?CByAm`Jn8FW-MR;irRttB)Du zdvbJ?-hke&8n4f8)b;+M=c{^l)^8Zod>KwNqHcQ^h9auzX>&XKbi&>gH7qL(U5_E{5swVa*5jv`HB%?hH+ z&Bp`5fpdiz(XWCe!bu`ksc(_(!FNG?)kn%n@l_3XNX!mzK|I)s7Z5`NiANvmDmSz9 zSX8bzbS0TqJ8k^|9fecVcCo?j!9g1o-4){0WXEejlTa%lR6x5NElbu0i;$YgaH}+V zX!UHV1u!v*Kj5;Q*DX@8;t!=PJbtK}FDeu-+s%el_{ zQ1TJ-e9bv-XZ6&Pom*38(2%PZO>i}6Y~)CTIrZIJRvfh9V)^&n)4-*t&Anj#;4oWU zE?F+QMTm|58sgu14Zijm6T2&ts^jT4=vYp6vpt1>jS=teMG=gJRUSyL zJUY+tBi)1_ zNN~iGe6;w-KP;Mjnm1H{?i2lNDLKcMfe>OvBUOU{t^Tq$5WcigKZX~R7>|_g^GqF* z5Hcg|zi%qyc@*H|f;D<9PH-(O%O)g&?}kiaCX<+RAez%ERlHV;9k0%l(PTI*JR!$R z!z>e%x&qqYbZ&B^5hm6@tOPnXRyd%lXAYXP<}1o7JlLFs23%~UmZIXc9tUhxHgPnw z8&6RI^kT)u`NufvvXtXNvk^0qT#}r}5RKp*ou1v%pzQAHY2`AAexufAF9sk6E>kv& z_KuET8;$&gi$E0N{TF6~=;hJBwstwt`%n{J7WX%Gu28$pF+})-z4mZ|xPrOspU)^_ zC9HU1KGwp))%c;}%+O1M11pr^@USWZT~ciUQp}3D;}{XE={yGzAxKAY10W$>X5r^B zcpx4VAYuFGZ{M}c2*SVj&k}gq$LmO|wO`Wgzd8!Ox?=CyTtP|44c@Rfh!(mk34Y!z zFEW4t55Hsmr8eL%bmeYfp=Py-zQngzZ5|s5F(+OcMm{=!bj?~WhVD_zr8l0=YIv#v zhp(xOfCt+=T1rG^#Kv6Pfz(BWjlXK(MU^2j(vsO9A7+}|bhm+y<$ax&nUDCm!YdK7 z7PhDp$ka2F2=;!TY(x0H&5-%|d@SwV-D+W!*e;0ykNdQcJF{%kbkQa{nY1Ynq)A9$ zY%m{|83=*1QHEC%a;P3yTG&PygfZ%nbZ0xiGAD@sD?n!dFYgwVlj(oc8i%yB9oI)u z{tc3-G7@yTm=oG83qu}=0<8W9fD4mstHeX@BVjgSb*3(seSR!B&Mk@hRvlUu;lUTE zDY`1^cUwSvx)MAy@SeDzEP=y!BH8D_GXCs?6Xz2@6)GabrltU%w_S5$O2*t0O}Yfo z4PW#R`Yw4C9;g(DspX_|0CCqn<`$bDsXyQ6{(Cr_7*bfU8nUeKLd={hQS9J!s&fYY z_?cYs^~1sagu#OMekl2)y!P8~6{5aio`s7dU{XlOTidSNfWd9^)|ZZuxZ9!^eR=mA z`+ZVDm6@u}%7@~BDpRKTZpg-e32}(~Hiq5&oJ|-e^Q2(R#O_;xQi*x7|3+p0RciSP z7o-RQGR{3K=7~=3Gl(4r|2m*gagVgZI(9*%y_3huPv5LFrOhbAd5t`z9@D*U%@Rdu z7%2m_19gv)%9Nd-e_|LX+^|5hZsqV`Vwiy1+U*Lxof2KGcLi~%XAG{&&JY$%PO|bW zrp{@d&P3E$Qnw_8DLjIiz5@&6jT{dzUo7Y9-*Lad>eOcotKgZkRI&C>quy;5Nu-2ijTIU#`QDpC#(FEhlYEVxU? z)Oe9^OsYPLpCcERQlLefd&JY0LzkVMkpY9US?DN)>@x#?$xU@bdKhjV46q+ElP_H` z$fz*oaCrc!XyOtoy1l)BrAk?#wtFp>?G@>=`9~U_wsXJ^=mCM!_Vz3$0)QftC``7gH98veR*<%{1DiDVH99)F>;QhF-|B;*^NSYth4PB1*(Rl#2h#kiAFOs~2Q|(0+(A1WixIm01?Dd==eO z4?T=!Lq=H}wljla|fKF09{I1$`mjpn)VcycB2SazGrvMoDFleILw;gf45>!Av=d zl{n2_*`xwDqsJ!SHMRlU+Av+h`w|vwA{j?@*jf#8aDeiuIob^DsRQd*HOlCSuZ-4w z^4YwB9+47w6Nw-6s92%4tRhp=(3_RfD9MM0lK@}>-Gie62a&xMZhx+{*H6W`vAD@s zEajl2qu6~;<4Q1zY41D;|Im&nFIXn74%Zxmm( z0wF*_3RC6PI46Sn0?E&AS#uOD@SQSg?RV^{YlYP>_u)Y-{8(KAMOIQ9AJa&Vj!qg1 z9n<7ppm@!(GyA#?`W4rh)4dF1RY9OjRkPo&)qV%q#g~6dn#YC*%Sa_eMs-F?s+Fun znc+Hm&VPXqJy9RUoN67gp^D@-&e|x$=7j+~T9f)L-SV=x_f#^Lszd^o= zRkUXVJT(R{YF;9$IyNDEzi0&oSY_w+a(*|kF_S1$BMlq=9&V87-GKrAm$OK;_hkpD z^U=BP{#pjz^z6(%Ihre=FCbhr;R|%Xzgh{xqV7%om= zrdMm2Q5}-|QqID|jD{8JV##Y0?M>@fO)1dxlbVzHO$kXg*r|GGo5+oKF~FUagbO9` zV6@ZMB_{xm(a!X~=8+)})UZ0wi&q{UUDiKf#vNTR%~$K(A-8=@dFz~rEv3~{8c=?J(u+!K`*i$@n!QAz zb$?tJ(jeudq-d-$!n?1x$l56gC>TP=&0?OIv?qGk5{zBc^padxNS;r|GA5i{MsFm# z-U=c*r>aTHV_8;&rK4HwkgXZOo~Ks!{5h>Y%NpE-qWTkw*_os!WQl3Iz(l3>!<}z_ zY`1vC9vt?d(@Hf2PpK9W{81s#U~}8``f zob>alKlylgdF86(YKrs-BjxAl5MtARyfkZcvn?@+&L)bP#nUODi7p%SY2q(cXdOmL z8|&W6A7|KJ=OnND|Ba~VwnE8AKk`{!+dW!BF)EBzVQho?^i(w7@2ho8y@3{P^d%`xw;7-Z1T%MVFT2l$*X zZyiUhub(ITBWCZ-fhe6)7_vWC-#I(%X9zZv1wfd3SoQW!ojHNWDgAQXd&Z|JR;1d!-9<|HHJ0@sA3oYWzP`Fn3AlvC){%)6*7G5VBR`BJ_T7f2Nb; z>(eX7)wDiyK^`pVvP{MF`{_L~k~7mA`pmI8MakA{>|#6-B-HQ~T~X}&QW_QF)jzc7 zjVSgSDii=|(M5w%BvbeTtIS^TLZ|5jKCqeoh>1ADx3{eaz*B>EgmK59XrN4M`>qk^ zN#D#K|9)9CK+eA8o1s$$HXNj9RD`K6Sl+FYh{~-rGK5mNbXgawCU>>)j6}0LhcSV@ z{l{qU1VmIA=3ZEEbjizfksrRKPr4f~Jtp5VLj{mR8j})UB{*17$SG^)F>*eu?Pi?g1*HolNN+4o-Z?;xgv|p z7zs!uqjyU>8>RC}7&R?=20pwfRS zQE~&OgXldw`J6i{6}*MF5S$3Niu-WKK_^^o00oL*V%)O-sMQ#3(5$Z~=UVlb^@Z>O zW3Qbpn_YMTEl|$JTI=EbmqY=q$~~R8a|Fn)Ff5@jF=)FNTezR(NWe5qBGlBKkX=9T zN?;r|mz>s??~Nfh`OW1)kO>c3%T3Bqo$m())5Dzw0jj%3 zUwwc^ttav0gSwa;P$~L z$5-V-3oU10Vv!d*c&V`SUN^9^&$HsAt?r;gW(eLB`Ly_@ykO2K69{SVctrXuzXWaE z)Z78ONI+jtXt8rzbNQ=bW5F(ykz|X53NtEB0+0wG;A6JLwqjpOs2gr?nU~@CAs5MU7jO=aBJE!%m0?RV8X(#(tiv1c2dSN zjUzG)rMRqxY9}Xw5j{AG=mclS*M6o8=aa}VSdw?!ywp0dFaSc1{)0TqE-Cdr{&_8+YYmrGIcM*`xxV^tYQ49_E*7=6 z=aRIIf9U#Mt2Jf2pC8B83WL~Ii1&mG6RsPqi>2SXhW%}@5ZAj)XO~TvI4eoTjTJ)& zM;|TW%zf;i)TNDkgNo%Sy20@z}bRcqsGE*wMeUgll44VNAKVmxmGm!7SFsWMau0fAT5uUo#i$F!3+8kzV@rNbD zRvDKu+xtMmst=$tr7}3X76@z$+F>4h>B>&Qjp8vc>W#ZXm%B+QdXg1b{kl#I z!=XWeyWdqZ4)6SuX$a)bM&9;8`edB1X1g~_@|}4$$<7ukB!7^hm3v;&$!#9#m&281 zB>2YE= zsPXj#Q!& zjIG}~cL~~39xy&`?W{KJlnQBIks=$dF|AO>%O1!2l(;_+6q@wL8=0kXlZ2)|jUHT` zA*+8WNu`p_Ne^3^9<1W@e%dN4iO&wK%y#0LuD_TKeqHqv0c@Ej&FFi3$Cjgau6r&Y zR{(qPwI5JSwL6UR=RICGc&8JYgwvb zMX7-Smo1BPxAR6Vxj+_gQUgb4T&z1Y3IyS0qc{2{Mi2u&51nJr(7)lnH0G)b@_5r8 z30EL~Qfd)F(6~6*{;yYk6?Z#RBF6t8z(4!{(TB0HGqeAf+P0)^ZHp#}@_ns8H}Bo{ z5u06IUF{QADP^z^s_P&eEH?*7#iQ3=tfa#v2qjZZvQtx;d9;rJny@{DK};Zm*x>{q7v~UU&pm zK>#9^k%}+KVgV=?qeebZ5F`Sz7sI=SS~Dz$s)CGzCtx4XXLvfClr&Nv=_IQ0hYOCx z4J9O};g6)8Q)Sj4l4tN7Gt__uY`j2U**@ys0-(vE!T$Dk)-WkvllYNsDEEZN(ZJP0 zti}Ynao;?k-N*s8bY)XO%7w~|z1fyx|Fqwwp}T2^roGk?w^a&)?+NJVg5;pwyE zUAR$Xgx^?fT+!jEd|c$Jy(n#mwQIX!I>DFmr3R) zP}SQ&;P&D3OA{VQ?phUcw@R;4eYPUGrt7>^kA5b@qU!g&{Fg?~Bn4v1&19Vem3Sp& z5O?g<5x80wn-K8TA;M?Q)cq%1a;fC20iaI9$nRkJoVv)8zMbR6dc;qwtGcNB$$P?k z!+M!Avhnq$JY?dy&_)YpE8^V#sgS1^2<2JCy+0UVbkWNH&{2USB3-Z!Zj(u#108s? z;X!b@SM!TWyR(eo@}`AW1+n;I%|VI3!biX(AMj&i9VA#YlVQe@MR#t=lT)b{17Hm9 zS-5#Lsnb%#SXl4Y%bETGcCeLZZpKo5KqlT?09oL?I$Qud58e za4><5B23r~@DSLE*N`f8zV(q?offI$D@8OVq-%B?DGkzX&R%kcK_Ki$>NI^7fnn0* zzRG73l2e89@Hfn-Z+>Qg^5GE#0Gg_p+{{rebOxK<;KS-wBZ?OtbD7J&T)Vd8SC{?E zB(K8Y1w^jyb&+_}4edDoPNr5$P(wji29t?kM4NMU)vR1JEVZaUJzs6us!fz-%}nQe zucq56&V~zAxpkhx0gi7qil||w@Bs7rL*h5BY zRaf=MUeyv*g0IH4@JHt)1j~i^Y$+m^CQKc9<`i4dVRH-{c11w;iRoR4s3gWuknM|= z_;(bi;L`aZ#&lpdSy7Z)t*09N8EcC|>1BdVVsN49%_E+^o|c9X0WV9qwOKJTu@+Rj zNVBnHJc4lau>Ew{P!|S@h8-cj9;+rd!F%9%mux%zKYGvgDPCtKL!p1S9*bF*+p~T$ zXS!92fv}JsHNWwf>2^B=oENlAaaZJDn!@IrwCpam&b4=1He2#+i)?va8NS@5T12$X zFV_hepWMnuHf-yY0az{eAK4w79K)fR7$-@c&i?lEa7L5~!%$sl^cwwU@ym5pM0lvH zFTI8iZx5_qOYUzj*;0)IS0Nkt1!CC%O{X}|fP^%G4hW3?AN5zsq3P&;J~lIqence;{07^LfhRbEhO?yH*g!H4osyGRYfC=s?YVU+Q=%Ny_W56Sn$2QRVgDkBgItUC$&!g;#59CxpIL*mJ}-dghS|n(cpc;PQdu>KuW0^;lcR zY43<%>6uHC6eV>MWshxqT!zYB@b&8 zDH^K^%S#_e=U?UP6lKE-%{45)wVx~lyyiJmupdk@kDeLXDh*$smMJbrcxj~rgf=i; z0h0j+)Z!I0T{pwz0EZ^F)2xwU@OcRp*Oa=9){1Sim`nNhjqKRw7YsBxI;pCz?-^e! z=xL@h?+BLQWqy5zlO0CADU2t6wH60ZXWD?@7c;)Yg@||iL>hqz&4q?;L*x}P2O+&I zI{j55jegW0m;?^G&7k_SniJ@zNo>{iCcy%W2?Ai3nu|YDwYml~9LbM+GRZ{gp)9tp zq@E?^5va}N^XRJZWZU&-J&<6UfW$F+@ zu)OOEk_ibpo(`whzP#)o06mQI(*HAD!{lK9zv{&QrS~$kv85o-fY1ScZ*Zac%+%Z_ zX92rlsJ_UWKl`!xNteLuLQROCU8W8ivf`qobJ2gj(2fjiNJJkV#W#+L_JWR=6gW=5 zoQ=jC*rE6CmfkflxOs<~<^mlhf@k>6KTSBRzTOZL zqnAR1Qu6J42YrInH3*D9jxsB`EAn$f#meT0vQ&+wcftx z$qfaqj{hg`Ul`7T*LaNFT?ZLrR-_XW0|8SdVgiPVSWK+x(z66q8VnVqAo*QSf@?;Q zV1devc0epp3E)IC4&;G{vl3yoxgrE$um$=WwL$VGXqpK3zavk8pwtsx5$D%Au|3Bt zh0(ubmvC~?LHp(ag`xV&Amn7NE8`i(d!IhsOtT!S5wPuI)>@hb8GD1Z} z7V_ck8Y9~JAoBs(Q+?Ms_RWSC)v_4QaJ1U_h%9irg z)+!`X*(2tWCR`A~Tpfcb92m6;A}!S^;_8ir`(>KfI)NV`pE+231-zNvL9d8L%L6Qe z9&iDBgXh4mS>_OgPHT;kV)h^V+Z;)VOvbCW4|C*Djt`N(gt7EU3bHR&|dYC(3>z-Q>Z?Vr~2dFK(;T=-qu^D|5Mh&*Xj!fyQ_6PnHW}Gpl(k z1xJ}EB|mNV;u3rOU0wf3%4p0<+OkHKAur0hG|DIdC}9!q+U>}n_Zxc9mfN1*CViUt zPU7Rb32|j!pu3gBP1z&Y7m`ffU)-uvv3S8+^M8$ZYQxY~F_MJCj+%sn^$7RqNdvY`6OP4FEE$iwV4% z2-F04{h@Ak%& zH285|V*A9w7aPcP%z8OI-|y#vIJ0nF2EpDY{r|8jJ}Lf^m$xj}tG=q0%TYEcy(9gg79lzc%9RJ$4$_7f zoDt!zwdJ?|tPPm4|8nr!`uQ}3Sj5wXmx$9X6~oW-P$@F(t}TPg|M${p$%5*eNE;6L zQ@8NRZcFgc?qC(mFbA+8kj8(^%3z6rj_33=et?p{Zpe)n{e(LCZK5g<9EPw&TiZGI zH|v-QG8Q(WBiqK2!WFP9aNF?*0RzjRIx@Fs$?NUKj1OxqHVs5%kt+&4#`ZF#5LrzE z>bO7X`uyRmyE+Ee$OS)Y{K>hgWK(IHf*YM zKmN(jQkds57s%EDKN}cRddp6)KH-|ecJuM6t}-bZfqcgV?7aWM<{aR;a+{*`dl*PC zd7W~(Z&=v;iFI0d{mmp^cf#yWu+mk4ngkUv_7BR)>XEfI$ifYVW?v~rDSF8=csjZ!29p-U?o z;bT`hdvdVlIJ0&4$7)M+m4`6%I3UINT!W!LXsYV7>!>xfeKFpjh-e zDK#sS$~B~i?E8@=)R7S}0V}!C0ATWJgab)w`=HJ^0@u>WEZNT*(j_BqOVvzUHl2;v z?2*_v$nmE>E|H!cO%F@&5T0Bt4AI}~cE;Bis#)p)-1VQ`tNn|u)jgt$+v|D!KXxx~ zYH~qM4rHm;b5B}Y+)wsi>whYK%r<`*Q(!~1zKMT!uM`>hsWB-7J~_f=z|z3=K)%PS z4S`DpeK}uTeo+W1=3_LJFvCewa?DV*2BubWi;1;AUdEEokHu{9(x0#h(QquuXr!i9 z;)cxXYy!RD19{hZ=ntzRT!(Dj|BkalBA-8-IVEAm)jN8=v+JcA zGa$PTF{`nV5D#S$qTZ<9IoCa1-=w%+fL11MUIh^UC}9ob3NgMn1JdM3gs%#O)=`v3 z-VDP~8UOPb=txZa@DV1Z=S8_NT(N(>t%AB2$J@0um?0Vtq+TNF>NpX-}=) z$!RDaSJ=oYe;on9>~1@!9iVbYIrV-YxshyoMQUFfR!O!BZzbyzo^de~C|gx3;gndJ z7)tp7{YtVIJ(OwzF!rxm*3jEvc7#}`MLG*frYEbm{QK(aqA+vE7K7joLqrjE5%{UY zn$MwSqU5h+EAL0IyL~%0EhEC7)YM~=$#rSzZ>DGFOCj*>i`IxYhnBT;(n-AeA2AHu zbW{~cXB*OCG1rA6Xw_3hhQGBeyyHk1g`BzqXfFVOju$(Cm(sK(@=Fc)PFp(r-axzZ zBp80Tmpkh|dAI_=EhA6d8E4_u4@|A>_{V)R}?0oEAf5)+(8im$B z9|bBUfId}@1*UWh%G06|2?f)}A=@K0O>jblXyFIr1l?!oW%>zwp+GG49O(m4-m@XR zlM4Zu31n0LIex(G79c-T2{~+O$A(_fT@8~^zS>!o8&J1gFpM&b3X63`aBcez&R3ve zs{BG6nw&*I(Zwga?H7pmVI`*nuS{VDD@o0=HB}pm`&_r^LG_knqmr>0Y2$eXIoJ}3*)vKgS zoErp^UW}cHjWO=+8M&->b74DG5Qv$Q1-8lxS%SjY8NEl=*5POedFSjEb>VRTPR=!_ zCDiHJn9fSCMR25Kr#IyG&))Fk{fW9i`r755Fe4W2{m!Y!zeBCbr8X9oIFqA(FXjTm zQ@Tov)v_U(!8Uf`A}3z&c%E2pDfRHoQpf>B5GGj1Nke*QiEs^@1N;9BaSY7QO99hgTeE6_Oek|&XH44&9 zTSXOqK?x-~MJs{~QtYTJzx^%!?RLomU8e2fS_ZASPWiL{pTfQ}EUu^76PLk)LvVK( zUT?6&N$`vT;b;9#nf6GS$~{NdI#cPF@@l zsm#B$xc}leY;YK)FeU#}&-)$DjM~2!so2CZ7MBJ~i2gS>>Hif@7kl`S|J?*dO8P&H z?|<~mT^^#iKeB3MF{AqC{^NUmVaVa2cFrL5K*pIaQgB9s!NmPyq@)L(zsU6|n%6`p z_sWu0A3c-?GP6)bu-qr4zOZJ zI;Y}7#+F^w|FhJ1#B+eI45g_xK}8mj6mhKI)dVXJV{j&+WR?_GRCaqN8aIlQCUxBZ zYKK)%)R&)1&AU>=KMjWK3T#C77qVxS`Vp&Sph|e+_#QwNbNFm4Uu3z5ElHIJD!Iyp zhtMr5dqH)(te1GJ6kG*>k6E_^Az9(HEYIl;(S6v zeJs;i2X>*I+M>s=sr%DRQ1!17l_rXZFc`B>rF0XA>^X=sA@=d>L7~c2oPqvLm_sL5 zNM(rkAgSUYn;3@TY%fr8HdLvdM*^zs7ArZexlVD}&`W-yH13%2qEa0o6j{z}nIoi_ zrb*VUOwavX$t^TS4=VZ52$e-u%cU8#1!NsQ$7ru;g_tD&pG&(Me{$uTnPrE3AP zndv1X1=X2k9=~0MU}`#g5{_y(Ycs2BIyUF$I(=(COC)d8q zw&C{U9`n~lA%h3%*aR2|VjvL zwjcpteKCPa9DRqD+Yo7<5Oj`otjw-KmsdB&VtKuan^T z<0KyYMNZ=E+>_`#@*e{vH33RW3Ii`6)n|s)j9n6E;Q_9RWhP?sy-916epQGkj1+8^ zTnBEib_3;p(0@5QjbS-8ica47z3VQ~nU9V>*Da89)g2CB1@^RdpA$}~1!i2qD8hxu|uSkXu91TP+FC(Y7Vvo=UYBZ=Uecz2uVNHRGLW zb}5g;&n7}WJZ8g-8tQjuZSxy9KGFqG&lC~J)4m4zJUKzPzf_30?SWg>V|QDeo#rEmq*&~6BCN<=ei-j2zNvf*8 zx8ZlaX--LFbW)<8Y>kO=sp7^b4@m^DcnzGfrewJNNxQIr2& zltAhCM~Yeq`nO)@sAMnoSV0_Gq|}p5HPYGlkMf(Yf2)1~nFCz)s-$8R?Y1a}UqA{# zBCjI8g%)P$xZrldEy5u+yrgJ_yct z@$!EXuXrD$SsbGo6N@q>?rPtmXQ~?LmK3Nzb5DOk%PZYc>B3bJ$A<9GF7FS zj}4i_F&d40<56{x3uOM;<5!$Ojy$#%kiOrufITxr)F3S(;YsvvZOL7jJ9+HbZBZ4rKSlD00)dG4agonXb@JbH9-?XDn55;;Oi@Afs%3%-ssb^XUMeJ*Ald( zdsK^!ywKtG*_kl1IOFt5b0}}nNUXWFU2H~FVv7&C_6C*_Y(%l*t!QS6xV~-BNlGtt zKhsZ>w=f#}39)fu0-(a-Pz&;SYDzB5<)?OgLM%s$8y-U>y~Vbm1#L^_&sS~!Q3=cl z3C)sx&kn+*nXaLQlt{?QR3BUuwI-h-rHG%g`6Ola11L8pDoxC2Asti_yih4FqTP2s zLO7NUwc{so*U>)Q?QT@`ID7#OCikP?MxH2l5W8rXMdx08r`b*^67f?XIWs_ttC3$6 zK?0M1aRp4}sBzi62sEc%@+F_=CE`JlzHOtrs_==Bl`T0PwHgo~fzq~+bt(P{X-k-J z94|#*8YDFwpFQo^c@C}#e1-o~*U1dFwEumgJRBM<%b>fyx?PBfl&nYJ99kdmWZKU! z?o`U>z>kxn?S17Bte$2kk@yUVj!7_;Ho2Ofm1#NrB`1Y>mt#XT-Wa-^cB2uO1A;y6 zxs5nxje;K)FQ;nczu-S9iMLT}Q*S=l15+|T+*SSQ{)~>0P>?@;DCE1o2||Y)pa19| zx)nwA7o1_E6Xds}7j8dp*55dzqk1-ig2(U!fgd~e&c*Xjf#z;9TibUsf3qT&eC3MH z!mQ3di_B*(&}`p{p!3OYsaX)G&*T8(LxGF}^LII<(NT-Hg5S77+&y2pZ*LN;$hP&- zHgfs4r>7CRx1c{+iIw}HzfV6UObGLs(79YWKK+zCp?-^ov)`zrV-dfsZhkCAtllxQ ztxjMjo}S({zR7A>a>q~hVL_i(HJPjUMIKVr=r7|Du`-6bRJe|NbFU!2co+8e`=d;4 zy8kq2zXvRC$n@rmOfq9zhPkwcsAQyoihymQ>nrc(MJ#)a6&kUyAJNfSV`k)Z)kKE= zCA|xpWcgyh7&g>X&*lCXK=tkceX&bkz*v?s+3@wBKhq326XidVyLjcg(f7MsrXSl9 zzWhD1``DTIfu%d>W^FVaVReYixW9576ov)KhRThwqlc9ko=1UAu+4;QE%C zc=O-@XRbY(V_ohIUGlP-+t*p+Ib*lWyw`h+Gx+#_6s3FAB$az49jC`vBH>PD@Xvrn zmG5dr!y-Pb-HW$dtUZuC-GU@_-EV_*wF|AK?=g0t@2Qm0pS5%#?1n}hsn)u#jxrN?9Mwd)5x-S9 zt+@WkQs+wnvtBMf}Zs-~m4^dqW00mCW9OC!Iji1gxfGtR$BW;q+|8X{Z|f#bkZFc70~! zhgFxH`T96Xz6OH@w87^EFMFo( zdYw?`V9}1Lu6XLS0~0Hjl2FK*@;lGLS^Sc|8$lKejFP)MnE~R9_>)FhSwp-u|6;=^ zKj9FvUcXWwu@FgyOQVLS?GnC-DW(h!n=V!4Gz;Mkp^l;BrC;H0R~Vg5YwlAlR;Ct? z=$80!G_4d@*<(i@BArdE?QB?Q)huvcegsH26RI7)aMa^C3o z2pgxG2TO<@F4JGyg%f0F5c+(;XzcHhCUirzI z-`S1#D-SlTpg}}E@9Q9r4mHI;ojXnxhl1s@zdFplSjd&z&Gg!&ayx5Y+ydo}L}rxz z`Wf&6@zvmWfJT`!Y&Yk*u&dS?mMRtyY<{S`a_4Dtza>&)D`{AZ1qIs?1!~Ld!)gjmO)U&*8J;g<7gc`ccouV8 zG{t&e%>6>jE$7Z;*qt771yM2k%YU6nL5;La+G{Qu@7<83i=A@t83Yzrt><{0fjxHG z5v~e36)#X}#e(_o*5!g<-g$WpQUmXPJ(gpnekKC(Nwy7iTlbmT{{^i6RalQRKnEGK z2>xObJY*J#-3E6-(e%=WP4V0nB@h|jy1F>0*q<*x@>_e)N+5uRaT*>g#yH5=0MD@S zIFQ*95sOQ9&F1~8qIFLrTcF#N{F4l84IB3Jabc3|v5}UBd0E4)G}ts9ESVO9MFVe+#uWSEiT=siSIMbD@OHi~D7)T}~B7y|)w<5C43HOb>ecS+2OK zZjZegbx>kfSNOcU?FeRMr03ky+E!Uz9W-xDeKJ6Hi66#LNPK98(4 zjjwb$`B51~t|eMRPLyu+p|k1>>k49tk6~ZG0%~hZh5D8>2aG!qi>pas54<*3Jr)*^ z86$pCE6J(NYJsh>coIdig{3i*-_(@nuqeC>(|g{_v;VC^Ey8riQiJ#L=eG`;yr$yZ z>3(VDet~(v@V9v5hx0O4iZ`$kuvi!?gl?i zo6;NQ3mr_Fg+=hfVnkb0ial>4iuN>e+<2WK7`G=<#0*)|EDuAE(s7(b9DFcWEGSCFJE3%RO(-;af!y- z@tbPI-PiS%8{XF92C$(1riKFw0;mKVOGQKU*BbiAcIDBIx*F&p&P)rA<)+cmD}mkJ z-E^0>CwMQlJ-MYR)7~&YRlp`q6v1nfl%wOEd;;;ndrR0#r$YHcOz&yJ>kw-SV@)yo zrZ=OTjKreIM^8n+Le@cFrQ^Kwbr7&Z$|MDKp42#Q%i=xqbvDQ^x<{JAj02kzZ=dpG zhGgsXhWG?3z2KmZS%V6vs=~rEtk=Z|MoeN&dp%=HNnfs6JF(eAifjdIqQ`vS@e+M7 za%YDnGp7)wJ`G7BJziyk2g_eyGl8}9@BQ0v72+=sGG{!l7n)5j&p!Nlr;T6|mh<_0 z!JYAQ{XPJSO{vYh3@TNfi~wtoByt~27M8vNB)Wm%?}lg<#Wml}EW{4+q?g;RLuMq6 z?!OzX{xHI2^&6wRUAetol6)hdzr&tP%OWB&cq$1fu6H_r>}<&6y~aSwzIG+coiUD5X$ka@JT&Iai^^7g+tkON<;E$TPvk0jq3Ly2 zHaJlcedL4=Jl}QybJd2v_|AeFRCu`>_``?nM+b-YK5>KkhPXz=i$DY+1*Te>N=m8? z$45PZ?P!l4-sSa=f-Q5nh|-GL8W(FET&x-c!>!_Gf{74Xj5jyGLFrAVpZGN9siaM& zd9YyQ3U>817y#@#thUVI{MPL;=H#4w9UmqurM%g6?kcHIHJk>yKEqE&hYsGpq5ioN z+e|0HZyVd7Z(AOBSa*&PvTdmna#E&)l7*xJMa2X(y>W9trC9Z8(RU3ub2iA}>CDgF z74urqrpU6HLJ1O7Vjl>o1x{gRzCW`p>h1S_%_i6 zjHUQHyxZ3p662tgp9bON|q;Qn7gRP-cT zv-*6rM!KY^S2SIRoCHL=Qm#X z?s*i&<(UadahA-jHG}6!d!hW_yqYY%zZT~f1j~dxyaPhNye!OuGFLa)e&;7jqD2a) zM&lzTQngqQS`Y(!8Pc7HtZgOZQQL%u)^HyFLtnW1@~erew}zowrS0>i!plXuE8c-? z%c^gOuir~N$tU5>k@?u%f-0t13dZ}~zTzA`_pr+{+td>4tKfpJe)rs41E))_F--=O zS*N%?iXPM%Tz|Kc3*|ccXqC5GK$V$z_L6nm)iWlr6A@5fe~SKWUt%n9w=`pFzGJc7 zB8-qil$9DI+{k|XxuhF@`8e56CZn4r{qy{Rh8(FyjeJEk0(Xymc*B^n|0=+J!!U3DNo#Jpm;zwBAiA)q=8xjrOX|55Svd!Wo^#h=ei2*~%TnoqlC z+uNCFG~!N*b*60)n9vw>3A@wHtX~;tnTG?)-&Y)+4zPwCZC~Bru!w3`rTyRjjuQVz z5YrfDYX=a4!e80?vYG)|CB!8y03!O1{f02ic z{+)yZ7X4QXX|9Y>HzNbOsAHew`g3#0v|p)scOFln5EZXbnSvI*DF9?-TgCu(Di#bL z8u?~p0~+G`i$O#(75SOL!#pd?AwhIdN;Q`JWkO^Aw%7UQ{pyqa^StvQ9)d8pYaxQM zFd#v3Z`ckqe;!#lkZ(Zz(RyB=09S$no*Qm`1Q34{v0l4QP5CP{uuHp(y&p?2#)qDa zdKXK#)ab-B-g0byn!&e=Ynm*5V`Xq=UqFFtRY(TS3c;xA?`@*?{oUfE7j6_g{6oE^ zkn|WMKgxiNblu>m=vgHuXx(7LQ8PzD+)^a}S3U0g^-DjIRSp;IL*IMfHi9P#Jgb7M z+Wo?lh(yU~pYW4MJAF^W+O!skexD?*TkssK4-LIW5lQQ{o)ar{hH#b-$eSFE4fZMeHW}tE27z&H2FiaBw=z$iLa0^ zL&R{ejHSS;YCmp6%zTtj=!uk6sAQy1{%b-+?%=y2GaeaSosIFeJPva_`;(-fwd8dn z23_aA_Jon(E+XIR2>(9Fs;Z1^d9qdS%flgig3ApCU!&6tD9LY%Rnk>QCGD*8m5^Yg zx3$Bd3Le7rN>`*toX+1i% z>U_@%^}ClAf(o~cgppXf_2xyZO_d&a2F;R;o2or1e#$ zknXC~y|XHvs^#k6LCI>74}BSiqsIXO-A?Iy=T#O}KdN<5nDrfHc-?ys5L8vVdksd| zumMXF=qF1OtwdiiJ9uv{Yc|V>61HKf4b}DqbAWf}a%Yi7>Sg8KIhi@958j*8w~3>_ z9uWM66+SabA<%MX{ii~I)eq2?^PyfUwtbK-W<|{blB=MJ7A655Q+rA~o}WE$mf`1u z<)Et%hh5o@CFw3E@`2fH$;zKMdyXG$*~oVGQBsv4n~?DA?yFR*L${#X>SZcPrvS}o z+AYw!?3M1)>P{IgOznqcxYc{HwO@}^Sh3v|gh#M%3o)p|*!74t75I3uoix#sN3y8Q zjCZm}sWAI0{5^FN1&d0;%Io(SUbzy5ax<8-79An}agY0K3eOM(l{T|ED+pz)eVY&t zYYN7`_|TjIUOg>6vcetviat@G!`0}yKT*2;6H@LzEGg1o<8lIsDIu!!1Bya(dtFR` zYldcC8L_=?R?ulN+!Aja!%H%NSEsOyqW&DwH!lNKe1fc-oCCIn-yFQyHlSco_Kw=C2~Vl4S&l9XJm6cgA=7_wK@Lu@axzT zvnG_1XzV0}hsx&LzU#0cI+h_O2r7DjKz@$5iG}zQbnfLRtx#KwL4}!TdL|gS&9wp} z282>TFr);Ba!Fq@-8(4=RbpSRu{vNt2qnT4CvkE@lay*{f=|NaX6=5u9c#59%%00| z%-Kvi@y|I<9g?DiZCDjFp)5gJqHeaB->Xssa8NTgK1-%NlyxySkju30%AunEf9ny)-ZTPxC_m zGOviet%JSY`Rn|_FYF(u27c$6@pp;-_>}|yqvI%4wwz9s&M`<{7ue(sEA3(iOH*iTnvpay%gI& z>K6E8(Qy4l?RVw=9W`|+p+8glXI1~MX)x;_lmIIX_TP2=ccg@+B;eG}Ur|y)R_sqy z+5c%7Tv8hNr;W`1+fo29=>IcSIWbis**}y0mum(5)4pc^eX;yTRq_0-G^CWpRK!$O zrQ{|4M1|whQn|cR?s1$8O&P=@Zt0?X**-za3XoHgNd6dx!6IvFXYOJF0)x4@5*m={ zfwg;b&f}c8HLDsQs1@$GKfx|J;8%v&f^Uf>2hMK3C!>61$=sb?v$H{RLP#qV&F2)K z*W5r%?-w!o1}6s8OxyP?RCG8YD80INmXvHdKBDdHrX{ikt1`a7CGluX-|^^c`hF^z zf(R}QHXfFwG+wRok-X;0vvAADHF{%4aX=yo<(C`giji2Ada)K0E>SP<(|E)rx=^>O zs33*9kV?|;r_5yy6x|h`pmgQ5-o)Jlu~ypEz~cT z@u-UIkZV>ofPL2!5FMN!MqkDq`(}feVEkq>HL*?d7V->|tqxC&?JPPT9<13m6bsd`54MfEu7u}>_0 z67{kuWH{z@r(bZ~Vu|f~e1BJa8-+y>_Xw3=2~j&rMZVgXExX0{ICPn~59YfgmQAm? zG7^A6_;k`rvcQ!1nWu8J&U;;TtG;`S1$tJ@Jo%O}NA`Ep%qT*NW?xw+a>$DTpKjib zIJqrj^RX3tE6ZeFy}BP^e~PxRbY_}IBJwt=v^A5*ji?)@I?|+9=al;oTGzLN5}HhT zNa|wE)L+}m&Sp$BAL%BS5ACmS7e1Z5MwhXYeuLMY>S=laRzzdA${Hz;$+2FrHgz?0 zYpV}S)*Vx;tAY#mg+%zY_t>?b4w&Aq_I>lX+e1VY4~>9YD^H@x>;5C2jb0ZG4_4uW z`Drz8jn~5##rMPc*K6bT-|71-9RfRNe){!v)7wu@uWrds-hDnc#UUV+kqWMd@!#%M zdDDA$=<2=txCrIA*e8OUehT#)RZ<2lCeNg^cBDWuMcb_?v1C~27$`UgC?~*~2vSFe zcf`~>zx!US_d^$)gC4E%1BUKs{w9?Glz>1~;;-ljDBiWBB1pa+B1o?)3qG2Do9pg1 z^%|{MM~^#op7eGkd$YDk(gGVNuR)S*K|*fAz&HNAX-8=GwIBZ!N_!T`%Ht-#J6HzYpUypY9_V&$qdFlP9t_f<>X(F zH7rn*L9e;B?#wf2$I)^2R2$9MupZKsPODyh71T`nl}8E-O%n3rwN(L7Si9FU!+AG> zv6NF+|GsEFNRct%3d*&s-T~siT1~I7@V`)74d*`YtDTi^@JBy-Jl0dYqUNut>ZVrg zx_rC1`9(p57YAXzZO9$LWH=u@(`BPa2HHbb>(|z7btMliPIClVRr%|@UtJT(x0ZM)H(Q-ymfEuF zgTIzYu7WbKm_=ju{t1Af!BHH49!NR6IGGyS{s^fqOyKv>4TDA1)4>$PqG)JtioxU7SJpKpf|8Lm9+z?j7MjE`AN-{BDam&mFWfi1Yg+oZlbe z{Qd~^`y){JBLMsv==W!!-=Be=`%Pt#F2L9L0~x7%J7&KbPo)LzXS{h;^YD|vvPnSFb-x8cz_3G zE^v9V$XeQ2vk39>UPzBc=px`{QDIS2mOB4SZ)<32<6_Tk_**P{*VP#w;0ik18#CKj zI&d=1+|MU-;sHuNS!X;k+=j!Zppo$;Av| zh5nkaOEJiKTn=28*~QZNc@6)!tbtis;XHvs9PDh&Y^-pZ!9R1s;4xciO}E^+s_o8+JL z3jDTde!bwpT+D1-Y#=Z@J2N{Q2Z)0WE==}6g!gCeet^X9Fyj(yf4>)i@0;)YX81R2 z?svtqLg75YKoB@j5ICsgfWQR_`&W|t4p_dk2b}Bk!Yuu770V8{q3kd=5QKw`84NdR z9IRY$cK<3m-~wI$yzagOoj=5PVJ`p2?7`TWIUsQ90TB3J<%EIQx!~f2{wwi)M@E;} z`vJxN+0y-5xxmj0?}v8T;Z~ai?jImfC^IYEdb6LK?Z2^fKMU_SICY7=f7} z{lDh#Z`kADV&(+H#RnH7D<>z29SRpGC&$0pw!Zj>K!5^HxKXB~--TAVy!ksTChz$zY9v27#cMu$KgvtR= zH$l(+gNiHguY9kCi;IIZHw%lqyZhZs9+$<`j>QEY1Kl--rH zsHvq5y6~qE5ERD63~<8OL3XY-HkacK_*Z{F7QSD&;A7!t2ObaodF17-@Mogm2Xewi z!U>n@ZzJLU@3&+cTulFoC?_jBGZ%bU{F&-y^ZGYb|8693IUEp&r`Ikb330fRVCR{H zb4(3iKX60#+yCKF;rD0_{yi56_B~`{5r>C>@LhWT41D3RC_332tC+%rFL(?pDh^^% zHT7`$DWK!}eNQGxVqznHN8$@Qy3TVIL_Yh)AJ%Wbbgyigy)jRHw~zD9tIygl)fqGi z%j~uvQ_XJMnvb2G=;4A;v~fZBHu`%F#A0zvNF+---n#h3zS=W`Yt63io14M?YGH5Z zjRsFm)e=LKTykl|3JnU@TL<4HZ;Z9(O>!RZYp5nB>zA)SJN6n@)9nY=cNo+^bjGX} z)f7=q0aHFmf-{JX#gZTKyLL6Flw|9kqKx11=|`cK4y(c?xal`1nGYsz`6_{s@VS#^ zWqo#oCIx_z$yNhtoX_=&nEQ`JHrXWO!7C5$E|?P5KP{! zSRK586vYX5Jk#en9fUzZ&4m7gh@loS$`{Fd`DMAuddr(D;fc?gEIt>xubqliA@{B$ z_w>0Ff1n9^w;lD)Q~+t@dfBOC*#?D0wEN=r%qCxR@?fR)(C*Cev6V{N)4dko^$M0b zwn<&Unoq~$G+)o%z`rknKRF!a^u<}7_-ZB_(p^37OqS?|Y@ys(;CUh>7*Rt+Wvfvb zOU~E9mmxN>Sz3BJvcz`3bicuIm!VnGD8o?WR(9xs8-p4e0SBk|?wRzf&Nrvurcl3F zPt6#`d8s^y-FZK9Hk?UWG1&9`TU({y7@M@YrhuKdpQ2+ZyFUc%g#@-xY@buhMtYbM zMJ|PmGK)VZuDv<@2H1ZvqM&GzVVYg<#E_qh>oNUsK_56<$^^n$&HXWW77yG6_&F74 zytdCUDw8@-6~CR0JNHkfKDC0CI-0ws&D48W@F}8#Wj|Z(G{j{oqZv!65cnqGdC3>e zg3A#CWa1=xWg{~(J~)DvWrsXNGb-&Hhr%Eq4jWA)Z+hu>07w)>J9}NOv-V$7W_TiV zxwPMWa9E{ZT~ecO^QsfBJ3A?^I|DZ!p`Lu!+!*&6=e)NXELU*9&wQN1{pI1w&g(bn zZl=e}6{D``ND9nr;6sFfSV&BLD(RzoVInk{>%|x<&v7l0j1f;&El)p9Tz3ynkwxFZ zG`;yS-QQhGz85Goj_voQAb70TSRUP9t6NBhQL0&4e^+igX#mxZ3uS$V&dpN;`o=x| zUF4J+v5*2&bwrn>^Q2nU(*wKXxbc@aLmCU8Qf3hM&;%9DXiuFQ$>S{UY-;cGUhy)v z|CHLhUc~t(*h835784~^l+e1w_P%pki`rZ`y#)#BNsJe8hg5p-`0d!UH*;~yK>?X_ zxKic4^{_>P26Cm_8p5nOf$4_6x-U6Q(Kgal0XO%x+E3%oW|fAu?0aQn8{@7jsWXAK z+2u=e$8Ab?8p#viUg4H~w6n`<>9nn0_c&fi?7*RSTbC{I>$_3A?zr{NBTl=uFdl-b zkn01!o4U*Qf!m6tN-B!m9ur23=2fRds-2ltlNwdYg54O=80)hsGw$UaZ^#2t0?@k| zcAwW~eG0sn@wgj3C5#m>GtAMSKBkY3;OPcamO}qr`(rINhNB)W!KvJi?b~XB$)S!9 z4L?yo^%KPCx<2~tLs^MEr|RUee{9dRl`IJZ;sPPj3vwV?@Jqq!%k-%_A1-Eu5)z_Z z%^U=*O8vsmN{DvIL?n?9R+m&yQvANMwJ^rKhpY8{H4`Y>4BKJNFJu*r7}2wGWu=D= zBU%7Wf=xrp0$&zyse(;Bi_9zk=$roj(cuS50MSvRJRq>WHZ# z_-IIdwlUwy$%u4h%Dr`S`-z{^DB^mPa|s2-gQZbyWe*dm+zcuc4*5;37ISA<*<_$C zlt_O>t_&6xm*;q$y4yI&UxqiPH33Y;t4@B~>OCOO%-Jm$*s|RfZ22WkuHOT(GrFbL z^hS7{m2d(Vh4-i-vxJ3(VkFFwM^@qZE8{*Ws4I`8Vp+`_oAquGySO%nW#ntZz|rEi z_(qe+P{JHN-_p6KA#Vv6Q?X?lplL~sNJ;60-kq@9s6nuMsu-zqQ!+x5s_(%cl_iaH z;P$6QQpUfDS18F-IVBP=4rv%ut0`V(STrw%tvfh(I!#W-5V2DpqtAOQ&xY<=20!CrrXZ$-8tva zX`@DbK9>H{(%T1VEs_LqVVJR+h32`n$pbc<+*cG@LRm@0Go`O>?w5|OQ4?mELuCzn z?H)B?lDc8-VNutVH{oDTbk|x_%3hEV=m8=t4pL&^1K0FePPe{dq=JY8A|~%;vSDDyhmBHF6*T zYd(JN;kTOZh|f^}{iodqX}7^P{P+`CVW!@%3xu=EYn+U3c9e*GQ6#Zm+$$YLVB#u8 z<`7Mm5>tNm(4a%`T7nw z&e|Sr9uV=s`uJ7nJgI`Uet-%q!<@6r0IrWlxIPH??&=Rt#s-$WbQL|z`*a0}C#m1q ziVfW5YTWA@BC2o=>llaeAX9hm!RK5{ycMTy!xM)yKf+H&-ROo$1Dbd}$1Sw)>DJ`3 zzm~UL>t`zAKD8ydFD$yu%u1yk`S}bZeg6}AH-|+&+rW#S`r?9guD3e1F73Pnb5<$eB0Y?rJjuU(;3-h zA9=Y)FSi>gt5y6R+%ecD;Yb8xV4OyG|U zq7$Zn@>n5EA*A+N3fwrZDV=g9{ZhA)1tjh7Ns0PADSplWVcK8wf$I?`#n#67EpQz$8#Nbr;{4gJ zzm**&S&Pgf6}QHYDDoNFJt|~5^S24_sfp!RFjFXUTfV%1It717K-o8mk1XjYMOcRU0ow=tRFk%jB_4#lFhPFZa8FMgc%+qi%h+{M%X)V_iE|SJ{rUcP|%|TbPq#-e_Bc;?c$e@eDm+SE9FPu^Qtz|ifdmZ`gg5SEt#{ zJgxXlYbu+%TW@&MSr@1H%ID#Iyk5Q(loi@6nj(dbsbRba^W=`aUf=X+luZ~# zG)-wZ&-&x20Qf>AgfGM#Q2ed*kVj=&oD_2|IUrj9e2g0s;cdaAvf~Yk;8&-)!Qr&z z+=1b7A~lM)P84r>>&EP#v7%Mc8{Y>o;vOK|X2G!AcB{g#-4FW!8&Y}oRewBi;B$9Y zHbOHl58;5Vk5Cs5XwrpaUe75t(OeZ)YWJ#%Q#Gl#zQX+ z*v(+OwHMM`O4Og~)-*Htrb^Z$DzFq4W4$p&-(lx0{EpX7D5?flWkIX1EhPv~baiu1Np))do6d7g!U^<2 z7T6Wnhbx+nx#XB?^wg>_0W=PeGz?6&Gl9TILb5g2O5#Vh77$&bS<7!4$GqJm{U zp<)zFw)W5$dYsm0-HzGZ6!6tfeb74obeJ4M^Dd1+KtNzsX{A=zTHQV^BzAy-RYAV+ zZFL_ot6Y8)rJ$&2y*w2j%=x#}hYc6c(=C?M7C+l;TF8q0hE#Z6di1ZA2d>L#`InW4 z3%K`F^P0RGLtt~|gI_&M0T4B9Wg`T_XAv+?hX1aMFe{Bxq>|5cs> zp4a~l`+@WH863S|h!c*x|CFfsRh|O;ryR#mL;o>P0sb9;|4#J067(C@--d$W*i$cO&LVhqfAaVaALs3kVk}eYwGzC|>^MvB;j*cn#McXUv zVo`KQa@zX396T1g(9AR09#g2_tMaN@V($-?VTK%=t6PY2bSLJ75;2u!zS=+REGn+b zyE$}&(dFz#K@VO3*vBE=)g(=!?cs-O6?yu=YaAd;v5T;gIbQVvSMe%x^A0jCOu9#o zAd;R|3YVZZE1EjD$kh-_0Es({K%cDYsM1N>LHwhos6UF~D5bvohQRC>f-ig~r0Dst zfSUQ_NP@5&w~f<>*adIykW;f;eI!?EW(z`X6y=fA*N{Buh8@uA9e9!(EW4ftnN-yY z&5Z-8`jOcI;WjED=J0!OUMIEReGCpF4P^1)sI3cIw=p{ltV&Gfv6`7fR}cJ{`h+zA zgOY7PE5RsJ)Uo0gmZige!hndo4tku}vWY#NhM!+}RXdF=?-@QF=TEUpv~xFf^x(Ed zWL49&>!9n$QBtVOgFy}FOgbv;aE_gklkW}#HxP8rtcS0*S5nxFsw?f}^MowCu(|j3 zn*4Nnutk{1t3ELT1MT4K6@>gxLLMcPZ#3bKz6&Gy_t0(jH9i_ITpk; zIkKVG%{=CWqtNgHp9Zv>V=!0XCdF~5=%Axu(mn2KZi<)+H7W_)%2q34AYV(MMZvTC zyE@bX3sH!2Tb-pv(fp{Kkr=VJhf^IGX8=W2k(<|@ox+|)ct1~DwCr}|ZyemVg3w|H z?ndS?RJmVe3}DK$@W8C4uYbF5iRl)-Ymlv@YD&P_xY?0y9pZt2Wk32k@$UT?L^>^T zHB(X>fK$i{tT{uYG_^-Q$uI|Vp(8-bVNJZ|N|D)GWS0(7J8T}!ns$4KiJ3uVkPX;P zrSfBp8YhMa5~(-v-t5D0#ur73FaET$+7L*q@TlbDJLBr@fm?!I*bg^VF@?_}Cr1Oa z9fUhPcnt?C1$}Kj!>geq&buwTTL<^%Z)dKks7*SwZ6Y;_(tZR-jEc@?C8a*NbJQd( z)shjWnN3{JCM85tulz_D&oE$#CH^sh^y1b>It-eJvXUpZHF1Pz5(No5{ur_(h&=6z zDY*jx;tS2_>c-@=Z^^V!bgIOu`Nv4lqnGxhpFvtsIuX}P=A=+7$eDU#`XhLN(PTFr zB~Rl$x3P`Yrar!SMP%Bf`b^i?Wd$KyuV3Pr>kmB!$1uKGcpaE3!w2<}L)=9I9^Lq& z>5m|40_#-Vpu%F2=no$Clyr!$-y(eOk7OANDan>698pcqjWrC6a49cBe>;r46XJ+r z{f)xw$ayZ@&-taDy-szd2_iI)0RMU2sK!}lt`pcA;@>~$Q=Wq2r(k}SQ^SQzr3rVY z)B6x>-uO&df(QZJbtt}Ywf|8);5-y**}LUM>2}Z9%?#Qng#K_)Gi%ggGEwNv^5(`p zln4221l*z@I0ReU@Z*xwzM?!NLo;X4{-8%JGq}sGcfzkXwGtd^_O-H&REHwL#wG-V zwk3&P?v&W?hSWE-bk^Cj#n9;PJ_}Q;c)y!mRN+D{uLEwTo=NTtFoYG^nE|!YlyYp$ zA8Q*H3Gqq@!d5e0Wx2nf=b^t7M8EXLfX0KMtPRMw#Y#U{}%1u3H5)I^RI+w4OE3HA!nBnYk0v-Q-pr)|?szHFgx$LPj6LK!>OT!72I_2{Qlzzv!gyCwfAOaQZ9`1zmW1h}>T zPhoO4JUv0Cdw;x^r?MntJClL_s=xj%@sx9RcRDUk44aoLB2OfBn=wP|-Au_B=*(&sv; zAFq#V;7IMJ^Fx#^#QMI7-?Y|`i53XLGX}_g-G(G&O&r2iucxo~yHj2j9eHN|!X-)4 zC*eq%d`oKvw;t>^I{>s$YOR_`uhZKi`IEjJDhy2}106wK?++`e8!BO zhaU>r)piU0B_;wrAMIFHICdVVVV@a7B+;16R<+8e31Vjr(r#caucYP3Ae2(w25wOk ze2nuu11<7}A#U#;@|*RzOtyKhmF1SLD>+naO|ef5T+5F%x-M-OoA}?DhXM{lL<64=8@lr-#?K?uoz2brJrJhDQ zeiM_5W`{F|c>>=>Y_ZxolDS7ICxB;ZQ^K$;v2`N9w1(-mtjCa7d+(anXdu~X7AADCoD z# zZyr)Z=E+E&s|z~@Dxg5FHt^cE3O(3m3LSnWNg71la!TJS=|DfMu>30IB?A1(T| z=)T_Bc%@inIqnaFk&x$lBJGhKgbSSSxIMJ(Ek>=hK2!31ory9%NOcAj^WM3)vN#yT zJo@xH3oX}+n8x}Me}E>(Je4=4v`135kOG*JYr8i9>$DKe-BHh;FJw^Izp0^uc>D?( zTYKIs!_<>$$rw1C=c3tHs4jYuJ4~X3wk=mWS@3|5T!qxq!CA}X+iSXmHZHPEQ*Fv% z5|*ME7GQQAY8ly>cZLe^ry|s?WR`6v_o9Cr@$VIFGHsj~mAr10w8y`zuyspHhF@hT zADB*f>Cqv;dANi`RtK76gBX89p}hOKhsylJb}nNWBY#-Mk=4_wXfKRIStW&2x0Oz@ zZ_*P>a~Ul)>^$FuZOnc6$PEd%Yg^vmc|Mi<_B7;Wp2XLTj7)c->#tQ~Pp)sXh!H>V zmwumCx?DGr=!XOqYkc*S6=^uq>crO5aM%FSkx~-$&;A8*5WarRJQ^CmUyoK((wM@zu4C1=zA3Xm*1nx<{fA|TaQC}|i z!XJaTABz0sYr$Y}!jv@8_j+#vg$y=+A(m>wy9DnXT5U7xxFSidUCsnv8A@PtwjYV5 zf<$AkIn7$0glINCqWNI;Ng?jb&rf0rOXKgh#6)B!P3?tLOqDk+goj%lzR;)KmxB%& zkGoriK6E)W1<}5Yuv9EtzZ1XJOwYY&PPZR&p zYvWC`!)6nzJPi#=Am}#6&4^HlYF}eXqy2Siilgw=d} zu=phQ@TuXH&6g&-FKdG-Gbs@CkLW8cDNCwRq(pYnx^gT-163tKiw^fF#SsEr9=UqG zggwc^Vvy04&EM_Cq}gFRej4JDU%ZBcRbvUzMRZeUeWIj_Wet{|HfxThUm&DbqvaF- z8bHkYtOVC_qnHU=P#-MPJ@p;H?aM-7b;QKzD_19Iy%p+X z0adS=!(vB`g4cD_gyn?@z|@Lb;eM&^DN4mp1%sbF*->3dAMC{QD8nd-YUz@DS_D*c zh={zeIGlWAjojvgY(-HmpPu?|3SC}Z)K4cI^@CvI4fWd5wXw>30FTzrDKp}S_1d)x zv#gDt_B;MeGgw3op*>n;5wuro+uO3rZtzVGJbgnmVkj=U>t(a?g+nuO$##P5{L z4Dvx)gxB*OOSNqsuK^_YUXM!l7yI4bTDQ>|+d7##P5e8oUfH1GReAArk>L`mBMNM} zTv-ecX~l{?VfxCO5R4S_92BcI+x{wt?5n{-%5%I0cclR<&b1NBo~F-tJpG_|RHYaR zNSkH7k4`#S>e5^LWC~Xu35yH7x3s?U`V6Mdim9!9-6#Lbn;Z;W!J#jiAC&QvNTi)D zNlKb3Ftd2WDf;1QXL@ao<&b^(urHd7eycLE47viPz_-&GMEaWgSJ$N5UlB|9Grbff zGTsj4%_gCnPis0t6y;An6NZ5-!zb$FOOPmGk(nE5A(?H7OxThm>H0G!w5IIq7%o{V2vR(ICq{PQxjn8II zjWW7jLC-asC_B7r*3;uYca*2uszo2h!;j*4-p&Fj`@6*=fVK5gcTySWUEP|xv5~U} z0|=uOby+g;#p8*powHJ=X)ntb)y$ua5(&LE_=+qtux{J0^M+ysDVvnVeocJJe)r}s zsW>U7em6mENn7>1G9=uIYGu>6dJOUtTU0ONAEh(8YAFd0K7S$SJeU%3kHy>7oYYt> z|1nMNdd%dNEi&L6+Lf?(H(C~lbjn5YCdGx?R1=k2vCS6>Ww|^|Q=jJCz{I0CrgO5p z`GrRIY~vH_bL%yeUin8WM|n59g4a&dgOh5%6tkVsW36CuDGhbn#m0K4mBrH7$S2$b zOV^JM)gqHQpo+ot3lQWml66FtQ&kMp{V=Eo+pjii!<< z)EwpnKD}-laT_=0nb7?9Jm1 z^!mbJdEKG}381M|BEEItWKr>gw%G3d)_`40S_3aDC-Q^U+F?A;ez)BbEVB=9p6v`w z_PB(lSp*f#S!6`p#aPY+HolWj9_h~&-CUK zgtDa^M@8+b?eSuK#Lv==KP(;4DP$E1Wc5gjU>_0k4ed;fATsrK5^qjOmb9+*z%>FP&TRqpA_o8TDo4ree(eLENP~!uRU-k{+5=iK6!9ei`}d=UadQo?bw4plmx<=Fsc>GK`_nS!ybc>v*)SW z)U(zo*th?S@XZ79h~=WSn5Ol!_&HO_ zD-YvH@p=@dwLLr>mTE%wrVI>4zqat_z`8@1-zn?gS6(_&_|WP5vWL2PyOeK0?iS z-uP$WMt%&>U=~BnKoGZje~dhI?WhH-!p*JbW(;o7M)zmOuXcB&dKuJ~mmVy8&aU4Q zHb^~U?o?Ww3r6aj7X56zd%uR`{Z3#0nEw=AV7!oo7IoRf4r$a38U*nH?GL7S5}~hH zB`U;4$Rif4U+R(CR~f2GbPt^|#@)AXOJc}^0qVSl_V-#x(Ys&-_fb=X+7N7>`aCK& zB81GURF&zhoS^zX^LUWGdKRlC@0X@1QmvN% z2(&i%2KK+hVc?W=GsdFsY3iAnnN7rNE9lrNEKB273eF|A)V4Vo1IghlN`*^Iex`l1 zHbu|>yu_}W*7=h%HtJI)_l6OOR(ySImdDktO1^n(0sMXANJ@kb%XmSZ_$;R=dMUrF zsYWT4vJoje^^vJbsFHF{l6kt16ZO`2M$j zBC6dQPJ@dg(W%5N70|D}yh|Qor8V+J_uZ%XcR0OWA(~$UN~Pb1a%zqgzv@B`UEaF^ zeyast;StHaUf*SXoIMsuZZa^gF4YS|0h(;7?h78h8)6+?5~!sWaehajDTf;;jHAJ! zT+B_evgN?8l{3cqMk*uq<8^&AJD=q6@f`K2WknQ{73W65ClvjbKF?kWxw`gyyvbGn z+`Uojdn1PXirbp2@isHs8e}(4j_-95y%avOkK;YcD+HJm`T^M!OAf*mH{zdpx32=% zxJ8sPb5Nd(5H-E`k(@6l&U1V}cV?UOnqEMh>Mi%-1$>jVkQW+S9}tFj31bmu zB-^ufz1W~0C1G7XU4q8GFQfg41cjWPSQ;{4E32UP_Y&BNmw%QZT@m8@QnkX`p6!^J z5TEw&eN?A4YOt_7Vnk{F;Ap7ko4knoc+77MMbmX#WHuSX&u|38?nPXr5HB6}{?Up2 zrz1{qfbl(d_s1D0FzZDz>3@(y1iq&b|9U(L%=-VdMfykO5%|aBN&iKQG#GrIUHyR} z&jIL#g#Qk_0zWrNLoO$D|1$U=tB;UBH7x&3_xn(e^TTKGgYSO;U*P+t1MrgMKQR4$ zFdO_t67(01(%?VWJ%2?R0&nK$g#5KD8~}rV)M|e#)&6oc7{&}g3-t%v-?{$241dV_ z|5i5r4WgePm17Zy!ol~&9R}wgE(7^L>ZX^0Jc~HIuN-`Fqrvyy?7uxgz!nEFtRh_w+ziYUfA~heGABi0{QiAz7 zNt;<#$zf*0UgnkQ{aIvkd>Qps*ZtL@1g_&o7!NT{?OS_72xbR;_X$u~;YX}xifeK= z^;;Le&H9n^c;;AVg{UnQ*gJMtDB9+k+SB!*wVs&R@cA~~Gp=yPfe5USfnEj($*fZi zNz5PMp;9s}6`@`gjl+JYc*gIfiEf(pGJs;ELS=)xI!Fv1>CiB-(ic^JQ5&^vQ!>f@EQydQhfYstLozHf4s`=4H}^Y1gs1#_M)`WhRJ4 zY8d}ov2}Baq72vAj)*Ao)D>GcupzaSsPgIt9kPAMAUHqD&S`w76%Z z_vKLnm4tGmsL~Yqkk0!)?4CYXW+SC>3cGAIyMzz?`Oig6A|6G{iLOWmdk5jKpjeH` z+H4HBL1XjnpUj;x__ug88SK~A#9qZ)1@1FPBF z(HI@|4Mr))Qy5@SJSR~!~slvxPPhjr5ta8fLjF%b?T8BV~(gss!8` z~nDf3`^bHP0*)<9K# ze0BG_d{^#N$R1a@z53P=ntIBV>;(H#Z0%}eoqN@@=c{*hi91&v4#R}?Z#r#iWs@up zw0}cp^g_nJaE6fc1l$jM^6Prq#U}l^o(BG}oZ&^{^}_qX&pe%{3Ux8CFBt~t>DnKMZorqWO}Xg40bj`V?_A)|9uR(q#3dd4*`|N* zr}_Ex%z2;7g#iC#x_|G5IXA;UTWI*{OZZXWi~OvVEj!$lfB*2G?KRD%!^q%Ece(s- zuOSc^hY~Q#Xx@K`UB!v2n))Dzx}2Z%fCwuf@Lk zhOl^Li@tQXUb?p5z$&KPlsePJhLhjizJx+IOmf3#^C-NZMnuOc?lVBkD8l|!ijl!6 zoc2g%%WYTAnLh1>4a=~qNr8RZ+GOo>*P_lmPF>kPU~u)N9cS~*7TqZY8X>hmYdB4} z0oR>Xisl^(+L2!Ji*)S{0eA+_kv!Lu9@F@M8kCT-OcGRk&>IvNK=AP%H6eZ=EhX^I z*6gFgwMD62$bJ54T@DZA^76ZriDbuYvB zD9nI?7kxETr+^QwGH$#SV-#+`Q9HbJ&-fTE-TuX_(_OIM8g!~|xcj)N$Y+XpxMft_ z%!rt#ee8_d*LnhTqojTur|ztu56|OukKe=Lz%1DV+O3snog%KcHl`+35>KW#&k(QY zQBprSy4@3;XTP8}DCM@oR3MZ*@Z5c2P!b#1_mIUFxNbG0PSYhWMTIJjiZfiwY3J&> zF~zNRv|f@fxq%h?V7hW*s;ArxGDMEaIXjeIq3|yDZlxmS)^+@N!;Sajd0vkTMEZrU zl23N_S9_$d&gv|8>XD=G-M3%V7!PU7h#daBO7B#AeSp31bmJYL`8TA!5Vn-soTE-S&W%>mNA{`Zs&mCYegK7n6hlN9??cr zk$n7C(R!C~6f?cx=FbRv=H}}U@s%wid1hyIT%&**!-`lNW5p*{73?B$Y^Bb`#x7>;9 zM=<)37F)HT`x^398zUFohG-rdtWg+NZ@`(i1QuqlAH|pK6=X4D7X#h?80Q3`LIY+W zL|S5KW$|L<7iR8{f67lD*6US1);Jj966_+S9BSni&&5U7o>}tvw5PaUcpPakr8ac0 zE_p4X_SOgp^$??{fxl+_BJ48>IC+C*pu2Wl+B$nrAym_wsyP*VvEzWTg z2CRM|SC~LCNb}3kHsThvEkA+aSPy_+uH7hA#};EB2p7sLE_9vKmb3lPT7H5_L0y64 z9y=HkYDK81?e zsdi@3E5a#092q}Yz#s7voR@2_Q$e)ui1PF_Aw(%NQ#>lv7T1Vs_13h;5v>_O_N8)V zX}-v;7nck?Vc-3Xr4EQhfAtWE@55w}%+NpC#3TmD@1A{;#F!KEU@Xb! z^O#`6t0%CcoQoDV1r8cOXBbCov>u7;OcGdogq=EY)cAg^*_xcM^;Uq?5Q&e+ zbb&5eJ{X@mBZ`qL8?RXK^|hcjh8aK9BnLEv*_Ti9TDQ@jt*T3?^rIju)pW&tJ3HMD z(R70(c>1_q?=V$&z`bhyNwAh%1H5o3n3X^)95=`yB>MFkKDStXf;fsWAdZcgl%3&6 zYCy)2etl++upaV27=kLJSPg?YY>RhHSDFaBAt-7xp7MoZu>`kl1U{B7xmj}diJbe( z?sJ|g@o{Wr$M-l4tgmObI>>P|1IAE88iO$*u{(^7Uxc~XJBq~LX6nDmVqflFRq1i6 z=}3Mk*Y_~Ks>vxEJ>J1L4B(JrhEYRCw8=i{lRdhDxeLO3cAQ?Vi^-@_4L@7f=U^hj z#G^DP66muKD1yRehhNY6kbxZqiE@8G0^BZ%=lV)a%`sQ^4u)!DP9gWz=j+gauXJPyD{9F%y`lq@-z?_9KIJ0HUohDeh2Z3<(L)Nc!;6h(~JHGrS=%FY?x({pM8o-68zjI zlj^4RbJRUyE+$8KmL_yoa2fsBK7G=Uza4z@{l{ow=3VEL<_O|qLz-k}6B^A!XC zCK?e^^^Kj|3gGNxqtwxPV{I4a?inPDYv~_)le4(it-Bo`iCpnKy_%t7(UTCXz$zBr zm;8)dKcPC^fJj8Tnl%ihb=~|L7O~2f&C0YtK93*g$F0M)gB6Px{tY51l5FbG)3Lm?N@fDFLDoQm5Hw60cT)8Z2+>-GuGNaVUVhLk&;?r z@g9_3h4yc;uJ=!{=jnHLt*%qc_E$XcO6uSy5P2~y@`V>aCPS1{Orgt7ENAx79mU66 z3D$OehX#ZhK^@x2>SRS6e9VXT9$*Zvn9~t^Pn0)M2J@4|XH^Dr-MKGz1f1~M+4f6N zI;zT-D1CUZ^}~Sq-p>z)>9In%2(@ce98Rvvj2;XtYz2zSQDY)1?^JpdD5=-yhoooO z#N01t9*!3px)H)d2^>Ct+hW*agDw(}qwje0rl3q8=e;shHP0J7_f$ZYTe3|H54pbO z1TiG$Gdpc}E7){a^Ir+;(ow%shmj`Mml<&6W4Px~XBzR01Rhtt5NaQdgj%74+w{@-*y0Oz+mUb^h&zsV;3C988G z(|;FA17P@N6o25E^K{Zrqkp7z*x@;$zh-8@@Vf>6^I$d@{4RoD3_ibr5cnNR{T*ot z8~o0l%ju}!@;ZM>NBxR#_+2He@ILjwB!$?1B;bBD|NrW(FD`NTRWj@MI}m@Qqkcge za(;yi{K3DHzT7r13jA8&5LWmR0C)$>Uq@fwE`KAk^DAxGIes{h(Sh z3FDmjweXt*S4}ij${VM#XA_^$NE->qy^@UL4O3CccWq97tL%8~@OWGh*;{f)d&|&S z5idskX;t6nv+GaVLjrG)kG@Lhv!hX9iqn3PbIKugcP5EW+?h%_?)64O=3?=xu~M?w zcFA-{PhGyoGatQjt$PCxZ{Raz3KRijUa6FnzIJt2gRSau&B7LmE4HgYId)7riX$&L zSc{`C6;kKO%9kX(PXV(?&$Rl{InS3>r=NnIbu1dWZB?ZS3EBbv9^a$X+Z%@K$AS2{ za$CvIPEsWE!Yb@0?WNf6vpuE8Tt>%q6k>wXhfOTdTd&Z+TpYV&5{3tnu7V%U|N3!= zrPXzNOVvcE9M4!T<#VESnQ5wmre(u(s(ix_k~5(n>HP$5HZ*ZheFOq3moKWIZB`4hZ-sn;dPbajJwVQq@wKU* zBo0nHEO{qL5kEdmTW(U<4Qi?M`#cypV!AXw%Yf5O zIy3e*kHI&x0IH#~T999e?VMizr1Q2c{+$I)6XiEOybRbfx_9o3>-vnXXPJLFAzwVE z4!BkUJuH1*Vdxn(pAen;v5IK|IC#4%%PX)EK6uT2#Lw|T4%fOXj3Oe>_V)a}#WgPX z+q*kUpmBct8OGx|;~`wrff3U5f)0!Bb#`IF2WIM=uCVvjS`-lrCWHj>CH&m}5^qK^ zXwuP)@u^x_XFh|n;!(JT1f%+=YP+Wc8pANww`FB;cnc*Jm${<`70c;}sgz)5+ zMVTdaxDhj36zC2+D@Ury9pawy3w|?f04;al0;C?dO_aMuxo1_G=MjNd8Yd^5T3_Ak z`Ph5+nepIcMfZ;!S*kOSY_Daaf@JWG5MolML#fGh6! z(EOvjeMQQdRYd*`raggN_jLdvl@Co|_SRrcD|Xk>!o&m}Z|1}ZCJwITD!q3se~1a; zR}E2p^~O919w%y!3B}Qov3O!87Nr1<%G5PVQZFX{S0<-CStU?pCOQ-;F3~8$c`26c z$K{m|oY?V#(ME9Nbad*_W|^*RiMlLJ8-_QC2->_txQZRucnygo7-t+v;4bh#gVcl< zA^Vb3MN%N(+*&><$4rV5_1*90P-#bJv!XJJ@pLO$&Yaqntke)Dkm6xNa=5ZTY2I7Z zfIv47!{560dgX<8v@vOybIw{Ul59F=3}sHlrhk8t+xw-g(R}UJ>j(k2G)F!Ezv{jN zDvBg%Sj-}3jG(L$P+>L)1CmuF31T?Y5tg7NiRRH06gd?H6>~llXGF#988Myl%n=iw zdg__Q^jG!F?9R-B=iU4M@4e6W)?I2kR9EWi?wYQtxpS?~+rKHkK<)pO;-I|TW?M=c z{iU&M!H1WY_10L|RkVs}Hub7X;}My)XUWS7`72v_kEpin!1Y7L%L5!&cXXR`^g0p>JOEEuPbwHaP9xzUjp(*;&7hZT7NWwehZF zgN|?RxV>(zAt}lI`aJ4=y0Ty2Kl}W(>}XE)H97Bhyxl?9O6*?nX3MI>D;M?qbiA9- z?6hpBkIh#GWr))oi1Z1K}(+B>6m%b#EFe(_;{yJAb*%vT#-`uIk>`$>wO zhG!ia7(Hgw>DM=!`%H41QM=FRql>#sJsLjDe6jv}3xJJLQ4T-Ce%=Ydq{8(Z4u*cL+7BTq&@f%G&YjV2@iRJ|~{7U+BDQdCbd%29gzh zoC21xu)XZW(;ovGYXtc-{4;CspHWr`Dq5nqKZ-b-7E!89gk{r%$$;|9JCs zN%reshW|SC=V61pG<*`+D4=-OzyZBRZan_=LVnfRO{+}*!$aTB)~}kp;8{6N8(aXh2D!@e)iSlt*LeP?)xirZuR9KCQh{3>EzWu zt;X}Vu@*zuPtKoj?Rfuz#51Pb&4<;ZCoWeGjjNPir_qb#*3v^Sc6Dg$v_dvg9XvLA z0rhxq*CU0s(lQ2Tzpc}CcksqBR^}y&$vN2ryVZPORn;IOr}~MUKPsH{a-)A=xwg26 zG_us*F4EQh$hNl8{w{0#yClEy3)}l>)X@E373NK zoxD`^C0{dt?bphdP24t*`BFdQXu`&R-qrlqF3nEzu&VjCG<9{LU%O@23w(>Z)>;$O zY4wT=^w=xK`|U=bPi#B8($?s9>iWnpKlD-U3hr)R!l+rEyM0N z%KO^KWq_UMSI2q1s8Z_s-;Ec;4!mP2f_l6n0JSl&^s2MLhz%%RT8+Q zoA~RD7wufeWnX1Re=GS*Jnro(xEBt+>D)$hlIZy@=UjN5a8s54a_iWeU8^|DDx?+m z2&nbA<0Uu?m{I>}MC~AacXmXpc4Mo;yR%38H#uZu<{h$%IuZN#_+bBd*SoRqGb#rk zr=B<3ION{_T6@OK|FO+VuP@sax7#l4(PrC#cVo^wE~YlUJNvq6wtaC%a88A)%iWti zdRMbe`qA^J=_VO(8#c6z`dE;6=ZOA|Z@UHEoQq#oUsUC3bcONb11cxF&-1Q4MfM=; z@yEtTiq|TdR(F#2Mj_K&Z*2A}oI zZWJ=j%`D@s^Xs1{UTKmsPFB~Z(%)yQ<%CLPRqF@qas%xv=u5shW-X}uyk)$ya@yVO z5zXrLXwx|7VET$jZZk{zzOB`~aT`JI0_Ik$7wn&-N_Tif8? zmFu~+EE0k{HptD|IX%R`^{mOCLNn;P`!#3mDO+);D4 zB(J%-FUfV_=cm7fm!8nC$gSmYJCO!zmeos1E@(f@)+X~=pS@DK zZ(RPhtPP(|J-JuaVr$670sX=ku9-#s;%lWDazlCX==#)$^A04Rn-iPY=gHPJ zc8};#c=2eK`g(7dv&~{Om)y--yT`^_lbC0DH=gqI_ ze*SVyM(0Nvm0z?p&yTieO|w0+q)H~n{^n{aP{e) z>IZiQ>?m3>Z}E)CL$hCZv^VuR-t6o|0MS-rI1!v#$28_-zBM>Ghrc{Xf=F2PJgzY1m|Qp3AGFN4#dZ z-K-LIwynjsZB(6cv~TtFgtkZRH~%!eI2IrXx-Nsil|2(eu z(4x+DXZ-Y5;Z4UCJ*!?&c+-7ug`7}oq;=^C>k{|khXuV9&xzaS+jSEORuau<}vb1;Pe*b-_2CCY3p3iCVSTW-iPmGHeS_bv8=D; z#MOu<9jXQm-C{Wawne|bQI9wnmHKvGdduUjhu*$*tJ%?E3$_(6-L-4})xr<^6nk>V zUpo5WZP@mq^RKUbeBxmJd%F?_f0=Tk_MkI$Yg?&(pY6UT&HPd+e|p3@;)L)cwaRfq z$cZ-pT5%bq`uG>yqTg~t>Jle}q^DqR`^e46=v?5lFuW$s<*fKmmxBM}y`)^wUAZxL zG~NmRU$#jNNiVovJ0*L({~Z^8@SGU9I2`xg1eIBDLM?@RJIZ)vjF{K_(!qYgsJ zOm_SP_sc`ibXi@)+iu{a+Kx=w(%VtbV`KI3k1NyMbTty zkoO*&cni?516Zc-Law^!27taxHB2HR)iPI?&hB?JcY(St{cfm>ZA{T(`^$;HcR-%_isVDuvJa8@;}M-r)4xok#5+9tfW~zBDRz+wLFYUt1PO7G8UN@kwXj z6_z88d#wDLnPYiwmZw+1;rfmK^gH+QP5$=$Yr7t6WDWl;Em3!Ce!??i*Dx!^;rhGA zFM5(PFl9jK7ZsX!_xgRObh3?^ zZ^)hefQ|dsThyF!EOL4exbC9#{iruzD$Q^@aAQIB)-8ixFYy>ZLp!s_s_>iLdhag{ zO<&!jzPYkTTZrkKBl+niVNs*V{K(&_86)v&=6GFVePOC)aC{p46a$ z|ENV5w^@y8bLv{tsg~Zky}he@rN?hw+Z;|f^n|+y=O)Yw zsp2;==Z___+j+I;A6vVAX@h%{_Sd<7`^>wbes6!d6jV^tf3;=3R#o?$-k#i48+mr- z(zMl*Hg)w=-M(Inu^Uo2#pjgel?N^8z0cMSn$$5cyI_@ed(euT3vVsR-kNjsn8TIA z)w?1;Z5Z2Z$kK(f)M?ZyHrFf`bVDQ zn+|_1rrTXBSoe38Wy79bd-h|)m#t$0yJ>68Y2yt|CsLjxk^uZy_MWh`$OAJhxL`CRTmx?H|kNRBv?JCQG?1?Lv{Nd%=2x2dt}izV$HrfE4t)8 z+j3)W#HRS!2ljgG+<7qexAs{NG(SG5_-p?O4_cgbZL#Cv7K!>)uf{(f&)V!{yJt#F z#DqB7wL{iJ>bl0|q@=WM?B?pfH(qwNm2z-eyB2?aYVH>}^Hj5Z*-bZ})ps&#Y*|@i zy=z2zTC4M^_bQH#h`rYS@%Aq<(V3KVhIZeL_OrHZE*&bhT)DaQUVOwN-|I!C$iOO|wRWt+77$@9h)W28144}APM z=4`<0^*bkq4Q^g3rKWjF`^L>2pLYr!e|0WBIJ{bc&k+6Z9XoF5mVT$^6rXNGKiQsa zlli6Ev`Woekib4z2O1ZfWly6p%hf1LwLBxd|8EL(D5? ztiY5X_<_6u@Bj+I)o3cnqkta`w5@`>+wmk>1>v4>D~wK}A+5+IYMT6k0OJP|tuQsg zjez^xnU-KTLjy17E8uQ)u4ThF!r&4F`0z%{Z6Xa+!3gBAwWEOdFXW(NI3k3R56%53 z=Nl{F$4~*vDIvU53u3DR!=Qo)Qx%Xy4QUBf@H&hVUKmhAG9SEiUID?Qa?COU{*_Xr z1Tj>@7~p~epaP^XAm6kKyg#I^5*ktiRaDTh7CQvOsGzV42p|XXM6B^!1&tE&f|{t* zNM>jpk;iXj1&mS!Vu*i3HVpDn!o~6UTMNh`Tm_k5$hSsALt~Jz0Kx$j$RBJ39%|s# z3nh#Ie=ETY#*`^Y0qz^q&&WZD_*CJ3qYS73IW3&FDo$jO-H|DaRlsz@2C_CKe8Wih|6I|7of0sT|Ja~co@ z@m|z4M z2DHMD3bQ{!A2@dqMiLwV-7@;+!DvGP6bt@h2N*EYMoDDPpQ-Q~!0vn|P zJE8&ZV#p0zS~W@z&`yU|7RI9i8maL&e#6TY$bB3u)`PGyiB3)8#HPz7A zIE0|7;36BelnUf3T3Y-@a-yXLIG-xyH;N=s0FfhBm6Z~FhU7;Wc0epG!T?eHV0n-( zgVa=lgl)O?K3f))7BuR~%SX(;@rgc_yFM{AAu2v8F2S6_zkP#aAd8u6P~ZShmkxgM z`q)6YWyrxbE;3oxg>^SmOG7F21)aR z<9q0%BIw8@i4^uqpg(*BKYJzxL!M)o*obI7{u!90kLfFs>ELI7tiY6aiwsV{{3mvl z3*}0=QSOun~y^-Z_0=ArTi#=Dgf_8qJpTtR4^4B6A#(sf@8y|5Gs@kjf;k8 zyf8{nQ>0DDxI`)(a`xeO1Qkg|QNyTcDu#-sVxwa92#up4(J=mqr=X#zxG*Y#N~99? zDf(E1CQ(U|33^f>DK!ou$y9PIWX?+rjZ4tO&nQne!u(leK z?TgVJ@CuCLKqrAY2mRm#0*zsLW=#q@#+fyx0%b~I*wCzXC;0=7W{ojwC=o{cBA`zV zAO}OBJhLCnB!#2LnCUVWHn4rTA6?- zU>R65A4!O!;S)s(f0b$Lm3*2Y>4Y>f8hcDeYNQL_-1npUQv*X%%hf^VRaOiMG z07H!`0!9gygIIpn>_@XEpNdV62?6UJ6~US)wEN|Yzi~34K-xJWM=Qq812j7k-~@m| zE#MgVlOl-*r%x=x9{76p#`A|4us5aj6ESUA#hnV;{p@F@8a_Tmi@e$m#{*jqvccx#{!8?#gkpQ zq?`(d3(3Kd8Rv;8-1(=X;blxInIq!y4SPc5Bp_%CZbeWd`FGRHz`y<$#b_SM)JA7O zqAinN&>Izxvk_xcSu4rT`$UYuLxYFlM8NWem`!lzDb}unH%5Vl7I-E!xMh@=fJ`bW zpG@HB@`(a;7SEmNlc14CuOtq{afFc`oV^6R)nL5^gaL072tz{>PNO+2N0yX46AmP1 zXBb$D82lI3LJK+ozxZ2}X9!OdVTE@PIFrt~Q|v@<@SeC?ikr2#$%AvW4DK2?KZS=w z_EZhklaCXu5Jf1_#EmtiB8H54kd_h*jcahC9vy{pom+u3EPSI;nW!FoZ2=>I1?=>%XS4^#ZZ zfGHc%#z}=lMr4MMC`m(TI(vLSJ!!*g;U5VKyNNtRfww$NnVF5HDIqE6J#!=_DGy9B zHD;kMgZ1V5&|+K}{_&VE0}(QCAC!-WD&wVasM2MzpJZV$#r0cM{jaD3|3!3Fz>3Ns z0jyLTC4eZkKmxd}WTO>9z4;cdd^ekh^&)7En4oMJL)qFSpeNae0L9~>DAp$O=6^Zl zq?1S*S`)43xr$Fj_JGKUAy19it94-8`rqpNf4~sTEDuMbL9~I@jIY6` zqgaKQ%WTRaWO;Nf&y8j|PBXg+U_e>3$YVLUi3Wn|;13Q}a>ycJIdO{wQdzdEZz`3v z(a@Lc+=_&gc+3J*ui#?}E{G9TSRj&VfyaB!31LQR2)q0f^eM36NB%I*$^>8-7t<7L z&7mpQRI;oRw!}`PzL<@dAY_nL^uGkL#(kJ}Sw_3SCNYZ=BLaeU;Shtj|Y`u~i zF5p%(zeMelk+bL;F(gD1wPauvxpxM*&$I;oH`_3>9JXgke~f%__%Z^ zhyje`VL8eN!zkFx59|O;^B>7Tq}kVw@R{Hd^vevDPisS8@U)B?Lelfif?-&+s2dmy z98DRWI+)@5SkAP>4S_?*Mil=Ek;dl`xP8%41 zhcP+esaf09@OOoz^p5T;h4zVl(A?>b!a@?r2> zhjR!1qm2zh5-k`k{xibVYE&ma3>wrT>G?1zj2#6)1S8f+0E7GJMD5X1Xix)Z`X-gt zqLDx+GPIuJ261164}pr6yDW`jhppuoER&3kzX#5}PT6Nu>}ffgma0R^WUsgeftMf`J+24eA252>p$f zA^OgQ?^3BjXbc8PsYVx&bi!-Upt8ntTJ&#B${CTSSqrDsnUDr*;qC*eY-mtLZrL!p}ZOSOf!Hf;6aLy2SZ0N*TPJ`=XlX9j5(LqoZ*k34Vlzvi; zscdKvg0DrO}G58Jz9POj)8<;#NPu zK{Tu;W*Jb%O(tPEl>$9>AxuqUIG7lyh9DsU3{17!sI#mpg6E1MCj16r9>UmDF$_b@ z#4rUj5E#Fa{BZnjT2NiaNMOjq1_3{ywipJnYoc;s(UrIXWk8zH9}K3LtWubW@Sw#| z5Ptxz(T@?rq&hJLp)Q8>ipnX;T0l@&u2aw^69>#rCKgT(YAhBwxa-_>a#E6QHDM<( z9gC0#d6TiW0=5rW2}Ty9uPdsoGf_|QXdui_SWY3=qUR~73mi7l5+JltwvhgEolMM6 z)Etx1L1m(|P=!NU3K8St*$&(&vRD-&1AU0usZeVb5VMEn_zhyvp9xGXgwU~CAV^q4 zp~H}Daa{~r7sCv8!RY@fbXq)J#DBce>G1VC0Za*hiAfDG6Jb?CxSzN^2-Fujs6clqUm_@^f3 zRw*;gfUMThpxA1$ZiAgM@mirAtR#dTqdhWlt5piEi2wskEJsim-y9U_*Lw3fh(jlcs_=@Duuz-Hp0NY;s(O{f6%Megm)SxhP(<%4aSi_eUgV- z@J0;{vXhfmVe0?sbR_+PfORxXo?>#rVv6j!@CyPA!(Ro+$RIiiw=@LhAU@ULl&~WP z>BnerQ8_T_z)nJcPTyfc1UGw|6oe&_2@C?kOkf(^-xVUG)tR=ZlNsE)SPA3*fhOYn zAfn1(`b`=HkDR9wNeRIaYnlK7AQCDtYP6m#qp5(nI5=t|`vb5y+cP#i4*mjkai_K? zyp`1j48B6^?&jvH(*(J=yMpWK?g9xhq*4!0SC!mVp>~q+%amPYumpB`6LF)JEa71Y Pu#hru+t$O+)BOJd=#WG> delta 24680 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 Hl|}nMwMcX_ diff --git a/documentation/Stratus/Stratus.pdf b/documentation/Stratus/Stratus.pdf index 4a6b233e15ff36f09027fa406ffb0e289b6a1586..bb72b8ebcbcf622f19d9dfcb1bc4443d11129ede 100644 GIT binary patch delta 460445 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%0AKl{TYoHDuXPd@{1dvJ+_pw^m6x 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 z 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 z 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Ϧ)oi?4ueHfMLthWK|m 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%0ARm`~>tf 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 delta 225225 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/.coriolis2/techno.py` | -+-------+----------------------------------+----------------------------------------------+ +For example, to use |MOSIS| 180nm, you can put in your :cb:`./coriolis2/setting.py`: -Those files must provide only one variable, the name of the technology. Each technology -will provide configuration for both the symbolic part and the real part. |Coriolis| can -work with purely symbolic technology (``symbolic/cmos``) in that case, the real technology -part is a dummy one. +.. code-block:: python -For example, to use |MOSIS| 180nm: :: - - # -*- Mode:Python -*- + # -*- Mode:Python -*- - technology = '180/scn6m_deep_09' + import node180.scn6m_deep_09 -Second Stage: Technology Configuration Loading -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +A Comprehensive Example of :cb:`./coriolis2/setting.py` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -|noindent| -The :cb:`technology` variable is set by the first stage and it's the name of the -technology. A directory of that name, with all the configuration files, -must exist in the configuration directory (:cb:`/etc/coriolis2`). -In addition to the technology-specific directories, a :cb:`common/` directory is -there to provide a trunk for all the identical data across the various technologies. -The initialization process is done by executing, in order, the following file(s): +.. code-block:: python -+-------+----------------------------------+-----------------------------------------------+ -| Order | Meaning | File | -+=======+==================================+===============================================+ -| **1** | The system initialization | :cb:`/etc/coriolis2//.conf` | -+-------+----------------------------------+-----------------------------------------------+ -| **2** | The user's global initialization | :cb:`${HOME}/.coriolis2/settings.py` | -+-------+----------------------------------+-----------------------------------------------+ -| **3** | The user's local initialization | :cb:`/.coriolis2/settings.py` | -+-------+----------------------------------+-----------------------------------------------+ + import os + import Cfg + import Viewer + import CRL + import node180.scn6m_deep_09 + from helpers import l, u, n -.. note:: *The loading policy is not hard-coded.* It is implemented - at Python level in :cb:`/etc/coriolis2/coriolisInit.py`, and thus may be easily - amended to whatever site policy. + allianceTop = None + if os.environ.has_key('ALLIANCE_TOP'): + allianceTop = os.environ['ALLIANCE_TOP'] + if not os.path.isdir(allianceTop): + allianceTop = None + + if not allianceTop: allianceTop = '/soc/alliance' + + Cfg.Configuration.pushDefaultPriority( Cfg.Parameter.Priority.UserFile ) + + Viewer.Graphics.setStyle( 'Alliance.Classic [black]' ) + + cellsTop = allianceTop+'/cells' + + # Alliance related settings. + af = CRL.AllianceFramework.get() + env = af.getEnvironment() + + env.setSCALE_X ( 100 ) + env.setCATALOG ( 'CATAL' ) + env.setIN_LO ( 'vst' ) + env.setIN_PH ( 'ap' ) + env.setOUT_LO ( 'vst' ) + env.setOUT_PH ( 'ap' ) + env.setPOWER ( 'vdd' ) + env.setGROUND ( 'vss' ) + env.setCLOCK ( '.*ck.*|.*nck.*' ) + env.setBLOCKAGE ( 'blockage[Nn]et.*' ) + env.setPad ( '.*_mpx$' ) + + env.setWORKING_LIBRARY( '.' ) + env.addSYSTEM_LIBRARY ( library=cellsTop+'/nsxlib', mode=CRL.Environment.Append ) + env.addSYSTEM_LIBRARY ( library=cellsTop+'/mpxlib', mode=CRL.Environment.Append ) - The truly mandatory requirement is the existence of :cb:`coriolisInit.py` - which *must* contain a :cb:`coriolisConfigure()` function with no argument. + # Misc. setting parameters. + Cfg.getParamBool ( 'misc.logMode' ).setBool ( False ) + Cfg.getParamBool ( 'misc.verboseLevel1' ).setBool ( True ) + Cfg.getParamBool ( 'misc.verboseLevel2' ).setBool ( True ) - The :cb:`coriolisInit.py` script execution is triggered by the *import* of - the ``CRL`` module: + # P&R related parameters. + Cfg.getParamString ( 'anabatic.routingGauge' ).setString ( 'msxlib4' ) + Cfg.getParamString ( 'anabatic.topRoutingLayer' ).setString ( 'METAL4' ) + Cfg.getParamInt ( 'katana.hTracksReservedLocal' ).setInt ( 6 ) + Cfg.getParamInt ( 'katana.vTracksReservedLocal' ).setInt ( 3 ) - .. code:: python - - import sys - import os.path - import Cfg - import Hurricane - import CRL # Triggers execution of "coriolisInit.py". - import Viewer - - -Configuration Helpers -~~~~~~~~~~~~~~~~~~~~~ - -To ease the writing of configuration files, a set of small helpers -is available. They allow to setup the configuration parameters through -simple assembly of tuples. The helpers are installed under the directory: :: - - /etc/coriolis2/ - -Where :cb:`/` is the root of the installation. + Cfg.Configuration.popDefaultPriority() -.. _Alliance Helper: +|noindent| The example above shows the user's configuration file, with all the +available settings for |Alliance| and a small subset for other tools. Some remarks +about this file: -|Alliance| Helper ------------------ +* The ``Cfg.Configuration.pushDefaultPriority()`` and ``Cfg.Configuration.popDefaultPriority()`` + statements are there so the value sets by the user will not be overriden by system + ones event if they are setup afterwards. This priority system is introduced so the + various configuration files could be loaded in out of order. -The configuration file must provide an :cb:`allianceConfig` tuple as shown below. -Like all the |Coriolis| configuration file, it is to be executed through |Python|, -so we can use it to perform a not so dumb search of the |Alliance| installation -directory. Our default policy is to try to read the ``ALLIANCE_TOP`` environment -variable, and if not found, default to ``/soc/alliance``. +* The ``Viewer.Graphics.setStyle()`` allows you to choose the look of your liking from + the start. -.. code:: python - - import os - from helpers.Alliance import AddMode - from helpers.Alliance import Gauge - - allianceTop = None - if os.environ.has_key('ALLIANCE_TOP'): - allianceTop = os.environ['ALLIANCE_TOP'] - if not os.path.isdir(allianceTop): - allianceTop = None - - if not allianceTop: allianceTop = '/soc/alliance' - - cellsTop = allianceTop+'/cells/' - - - allianceConfig = \ - ( ( 'CATALOG' , 'CATAL') - , ( 'WORKING_LIBRARY' , '.') - , ( 'SYSTEM_LIBRARY' , ( (cellsTop+'sxlib' , AddMode.Append) - , (cellsTop+'dp_sxlib', AddMode.Append) - , (cellsTop+'ramlib' , AddMode.Append) - , (cellsTop+'romlib' , AddMode.Append) - , (cellsTop+'rflib' , AddMode.Append) - , (cellsTop+'rf2lib' , AddMode.Append) - , (cellsTop+'pxlib' , AddMode.Append) - , (cellsTop+'padlib' , AddMode.Append) ) ) - , ( 'IN_LO' , 'vst') - , ( 'IN_PH' , 'ap') - , ( 'OUT_LO' , 'vst') - , ( 'OUT_PH' , 'ap') - , ( 'POWER' , 'vdd') - , ( 'GROUND' , 'vss') - , ( 'CLOCK' , '.*ck.*|.*nck.*') - , ( 'BLOCKAGE' , '^blockage[Nn]et*') - , ( 'PAD' , '.*_px$') - ) - -|newpage| - - -|noindent| The example above shows the system configuration file, with all the -available settings. Some important remarks about those settings: - -* In its configuration file, the user does not need to redefine all the settings, - just the one he wants to change. In most of the cases, the ``SYSTEM_LIBRARY``, - the ``WORKING_LIBRARY`` and the special net names (at this point there is not +* For |Alliance|, the user does not need to redefine all the settings, + just the one he wants to change. In most of the cases, the ``addSYSTEM_LIBRARY()``, + the ``setWORKING_LIBRARY()`` and the special net names (at this point there is not much alternatives for the others settings). -* ``SYSTEM_LIBRARY`` setting: Setting up the library search path. - Each library entry in the tuple will be added to the search path according - to the second parameter: +* ``addSYSTEM_LIBRARY()`` adds a directory to the library search path. + Each library entry will be added to the search path according to the second parameter: - * :cb:`AddMode::Append`: append to the search path. + * :cb:`CRL.Environment::Append`: append to the search path. - * :cb:`AddMode::Prepend`: insert in head of the search path. + * :cb:`CRL.Environment::Prepend`: insert in head of the search path. - * :cb:`AddMode::Replace`: look for a library of the same name and replace + * :cb:`CRL.Environment::Replace`: look for a library of the same name and replace it, whithout changing the search path order. If no library of that name already exists, it is appended. @@ -211,160 +177,27 @@ available settings. Some important remarks about those settings: the system will browse sequentially through the library list and returns the first |Cell| whose name match. -* For ``POWER``, ``GROUND``, ``CLOCK`` and ``BLOCKAGE`` net names, a regular - expression (|GNU| regexp) is expected. +* For ``setPOWER()``, ``setGROUND()``, ``setCLOCK()`` and ``setBLOCKAGE()`` net names, + a regular expression (|GNU| regexp) is expected. -.. * The ``helpers.sysConfDir`` variable is supplied by the helpers, it is the -.. directory in which the system-wide configuration files are located. -.. For a standard installation it would be: ``/soc/coriolis2``. -.. -.. .. * Trick and naming convention about ``SYMBOLIC_TECHNOLOGY``, ``REAL_TECHNOLOGY`` -.. and ``DISPLAY``. In the previous releases, those files were to be read by -.. XML parsers, and still do if you triggers the XML compatibility mode. -.. But now, they have Python conterparts. In the configuration files, you -.. still have to name them as XML files, the Python file name will be -.. deduced from this one with those two translation rules: -.. -.. #. In the filename, all dots, except for the last (the file extention), -.. are replaced by underscores. -.. -.. #. The ``.xml`` extention is substituted by a ``.conf``. -.. -.. For the symbolic technology, it would give: :: -.. -.. /soc/coriolis2/technology.symbolic.xml -.. --> /soc/coriolis2/technology_symbolic.conf +* For other tools parameters, just use getter and setter according to their types: -A typical user's configuration file would be: :: + +------------------+-----------------------------------------------------------+ + | Type | Getter/Setter | + +==================+===========================================================+ + | ``Bool`` | ``Cgt.getParamBool('name').setBool( True )`` | + +------------------+-----------------------------------------------------------+ + | ``Int`` | ``Cgt.getParamInt('name').setBool( 12 )`` | + +------------------+-----------------------------------------------------------+ + | ``Enumerate`` | ``Cgt.getParamEnumerate('name').setBool( 12 )`` | + +------------------+-----------------------------------------------------------+ + | ``Double`` | ``Cgt.getParamDouble('name').setDouble( 254.5 )`` | + +------------------+-----------------------------------------------------------+ + | ``Percentage`` | ``Cgt.getParamPercentage('name').setPercentage( 75.0 )`` | + +------------------+-----------------------------------------------------------+ + | ``String`` | ``Cgt.getParamString('name').setString( 'machin' )`` | + +------------------+-----------------------------------------------------------+ - import os - - homeDir = os.getenv('HOME') - - allianceConfig = \ - ( ('WORKING_LIBRARY' , homeDir+'/worklib') - , ('SYSTEM_LIBRARY' , ( (homeDir+'/mylib', Environment.Append) ) ) - , ('POWER' , 'vdd.*') - , ('GROUND' , 'vss.*') - ) - - -Tools Configuration Helpers ---------------------------- - -All the tools use the same helper to load their configuration (a.k.a. -*Configuration Helper*). Currently the following configuration system-wide -configuration files are defined: - -* :cb:`misc.conf`: common settings or not belonging specifically to a tool. -* :cb:`etesian.conf`: for the |Etesian| tool. -* :cb:`kite.conf`: for the |Kite| tool. -* :cb:`stratus1.conf`: for the |stratus1| tool. - -|newpage| - - -Here is the contents of :cb:`etesian.conf`: :: - - # Etesian parameters. - parametersTable = \ - ( ('etesian.aspectRatio' , TypePercentage, 100 , { 'min':10, 'max':1000 } ) - , ('etesian.spaceMargin' , TypePercentage, 5 ) - , ('etesian.uniformDensity' , TypeBool , False ) - , ('etesian.routingDriven' , TypeBool , False ) - , ("etesian.effort" , TypeEnumerate , 2 - , { 'values':( ("Fast" , 1) - , ("Standard", 2) - , ("High" , 3) - , ("Extreme" , 4) ) } - ) - , ("etesian.graphics" , TypeEnumerate , 2 - , { 'values':( ("Show every step" , 1) - , ("Show lower bound" , 2) - , ("Show result only" , 3) ) } - ) - ) + Lists of the configurable parameters of most interest to the user are given in + :ref:`Viewer & Tools`. - layoutTable = \ - ( (TypeTab , 'Etesian', 'etesian') - - , (TypeTitle , 'Placement area') - , (TypeOption, "etesian.aspectRatio" , "Aspect Ratio, X/Y (%)", 0 ) - , (TypeOption, "etesian.spaceMargin" , "Space Margin" , 1 ) - , (TypeRule ,) - , (TypeTitle , 'Etesian - Placer') - , (TypeOption, "etesian.uniformDensity", "Uniform density" , 0 ) - , (TypeOption, "etesian.routingDriven" , "Routing driven" , 0 ) - , (TypeOption, "etesian.effort" , "Placement effort" , 1 ) - , (TypeOption, "etesian.graphics" , "Placement view" , 1 ) - , (TypeRule ,) - ) - - -Taxonomy of the file: - -* It must contain, at least, the two tables: - - * ``parametersTable``, defines & initialises the configuration variables. - - * ``layoutTables``, defines how the various parameters will be displayed - in the configuration window (:ref:`The Settings Tab`). - -* The ``parametersTable``, is a tuple (list) of tuples. Each entry in the list - describes a configuration parameter. In its simplest form, it's a quadruplet - :cb:`(TypeOption, 'paramId', ParameterType, DefaultValue)` with: - - #. ``TypeOption``, tells that this tuple describes a parameter. - - #. ``paramId``, the identifier of the parameter. Identifiers are defined - by the tools. The list of parameters is detailed in each tool section. - - #. ``ParameterType``, the kind of parameter. Could be: - - * ``TypeBool``, boolean. - * ``TypeInt``, signed integer. - * ``TypeEnumerate``, enumerated type, needs extra entry. - * ``TypePercentage``, percentage, expressed between 0 and 100. - * ``TypeDouble``, float. - * ``TypeString``, character string. - - #. ``DefaultValue``, the default value for that parameter. - - -Hacking the Configuration Files -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Aside from the symbols that get used by the configuration helpers like -:cb:`allianceConfig` or :cb:`parametersTable`, you can put pretty much anything -in :cb:`/.coriolis2/settings.py` (that is, written in |Python|). - -For example: :: - - # -*- Mode:Python -*- - - defaultStyle = 'Alliance.Classic [black]' - - # Regular Coriolis configuration. - parametersTable = \ - ( ('misc.catchCore' , TypeBool , False ) - , ('misc.info' , TypeBool , False ) - , ('misc.paranoid' , TypeBool , False ) - , ('misc.bug' , TypeBool , False ) - , ('misc.logMode' , TypeBool , True ) - , ('misc.verboseLevel1' , TypeBool , False ) - , ('misc.verboseLevel2' , TypeBool , True ) - , ('misc.minTraceLevel' , TypeInt , 0 ) - , ('misc.maxTraceLevel' , TypeInt , 0 ) - ) - - # Some ordinary Python script... - import os - - print ' o Cleaning up ClockTree previous run.' - for fileName in os.listdir('.'): - if fileName.endswith('.ap') or (fileName.find('_clocked.') >= 0): - print ' - <%s>' % fileName - os.unlink(fileName) - - -See :ref:`Python Interface to Coriolis` for more details on those capabilities. diff --git a/documentation/UsersGuide/Installation.rst b/documentation/UsersGuide/Installation.rst index baa4ed6e..e7ee00a7 100644 --- a/documentation/UsersGuide/Installation.rst +++ b/documentation/UsersGuide/Installation.rst @@ -314,7 +314,7 @@ packaging, you must configure it so that it can found those libraries. The easiest way is to setup the |Alliance| environment (i.e. sourcing ``.../etc/profile.d/alc_env.{sh,csh}``) **before** setting up |Coriolis| environment (see the next section). To understand how |Coriolis| find/setup |Alliance| you may -have look to the :ref:`Alliance Helper`. +have look to the *Configuration and User's Settings* section. Setting up the Environment (coriolisEnv.py) diff --git a/documentation/UsersGuide/Releases.rst b/documentation/UsersGuide/Releases.rst index 68f3905a..fb210145 100644 --- a/documentation/UsersGuide/Releases.rst +++ b/documentation/UsersGuide/Releases.rst @@ -122,3 +122,20 @@ Release v2.3 To perform the separation, an intermediate hierarchical level ``corona`` between chip and core has been introduced. + + +Release v2.4 +~~~~~~~~~~~~ + +#. Complete rewrite of the initialisation system. No longer use "configuration like" + files with various list of items. Now the configuration is supplied under the + from of |Python| modules to be imported as the user see fit. + +#. Clean separation between |NDA| protected parts and free ones. Now all the |NDA| + related components are put under one separated tree, whether they are configuration + files or |Python| plugins, so that they be can easily by exported. + +#. In |Anabatic| & |Katana| better accuracy at how obstacles decrease the edges + capacities of the GCells. Reduce the edge capacity of a GCell according to it's + inner cluttering (that is, it's number of terminals). Change of semantics + for ``katana.hReservedLocal`` and ``katana.vReservedLocal`` parameters. diff --git a/documentation/UsersGuide/ScriptsPlugins.rst b/documentation/UsersGuide/ScriptsPlugins.rst index ab896dda..cf72255e 100644 --- a/documentation/UsersGuide/ScriptsPlugins.rst +++ b/documentation/UsersGuide/ScriptsPlugins.rst @@ -35,8 +35,9 @@ in |Python|, so don't hesitate to use any package or extension. Small example of Python/Stratus script: :: - from Hurricane import * - from Stratus import * + import symbolic.cmos + from Hurricane import * + from Stratus import * def doSomething (): # ... @@ -68,9 +69,16 @@ This typical script can be executed in two ways: part (this is standart |Python|). It is a simple adapter that will call :cb:`ScriptMain()`. + + In this case, the ``import symbolic.cmos`` statement at the begining + is mandatory. + #. Through |cgt|, either in text or graphical mode. In that case, the :cb:`ScriptMain()` is directly called trough a sub-interpreter. The arguments of the script are passed through the ``**kw`` dictionnary. + + In this case, the ``import symbolic.cmos`` statement at the begining + may be omitted. +----------------------+-----------------------------------------------+ | \*\*kw Dictionnary | @@ -122,10 +130,8 @@ and below only symbolic layer. The designer must provide a configuration file that defines the rules for the placement of the top-level hierarchy (that is, the pads and the core). -This file must be named after the chip's name, by appending ``_ioring.py`` -(obviously, it is a |Python| file). For instance if the chip netlist file -is called ``amd2901.vst``, then the configuration file must be named -``amd2901_ioring.vst``. +This file must be names ``ioring.py`` and put into the user's configuration +directory ``./coriolis2/`` Example of chip placement configuration file (for ``AM2901``): :: @@ -190,27 +196,27 @@ Configuration parameters, defaults are defined in ``etc/coriolis2//plug +===================================+==================+============================+ | **Chip Plugin Parameters** | +-----------------------------------+------------------+----------------------------+ -|``chip.block.rails.count`` | TypeInt | :cb:`5` | +|``chip.block.rails.count`` | ``Int`` | :cb:`5` | | +------------------+----------------------------+ | | The minimum number of rails around the core | | | block. Must be odd and above 5. | | | One rail for the clock and at least two pairs | | | of power/grounds | +-----------------------------------+------------------+----------------------------+ -|``chip.block.rails.hWidth`` | TypeInt | :cb:`12` |lambda| | +|``chip.block.rails.hWidth`` | ``Int`` | :cb:`12` |lambda| | | +------------------+----------------------------+ | | The horizontal width of the rails | +-----------------------------------+------------------+----------------------------+ -|``chip.block.rails.vWidth`` | TypeInt | :cb:`12` |lambda| | +|``chip.block.rails.vWidth`` | ``Int`` | :cb:`12` |lambda| | | +------------------+----------------------------+ | | The vertical width of the rails | +-----------------------------------+------------------+----------------------------+ -|``chip.block.rails.hSpacing`` | TypeInt | :cb:`6` |lambda| | +|``chip.block.rails.hSpacing`` | ``Int`` | :cb:`6` |lambda| | | +------------------+----------------------------+ | | The spacing, *edge to edge* of two adjacent | | | horizontal rails | +-----------------------------------+------------------+----------------------------+ -|``chip.block.rails.vSpacing`` | TypeInt | :cb:`6` |lambda| | +|``chip.block.rails.vSpacing`` | ``Int`` | :cb:`6` |lambda| | | +------------------+----------------------------+ | | The spacing, *edge to edge* of two adjacent | | | vertical rails | @@ -278,12 +284,12 @@ Configuration parameters, defaults are defined in ``etc/coriolis2//plug +===================================+==================+============================+ | **ClockTree Plugin Parameters** | +-----------------------------------+------------------+----------------------------+ -|``clockTree.minimumSide`` | TypeInt | :cb:`300` |lambda| | +|``clockTree.minimumSide`` | ``Int`` | :cb:`300` |lambda| | | +------------------+----------------------------+ | | The minimum size below which the clock tree | | | will stop to perform quadri-partitions | +-----------------------------------+------------------+----------------------------+ -|``clockTree.buffer`` | TypeString | :cb:`buf_x2` | +|``clockTree.buffer`` | ``String`` | :cb:`buf_x2` | | +------------------+----------------------------+ | | The buffer model to use to drive sub-nets | +-----------------------------------+------------------+----------------------------+ diff --git a/documentation/UsersGuide/UsersGuide.pdf b/documentation/UsersGuide/UsersGuide.pdf index 5a6ce5f6b277d4e06fb90c306ab73e8603ba84a8..6db1163d29b3bd6f41e5040a6ddfa212e510ca18 100644 GIT binary patch delta 279963 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

o9*=~gMpT7z8@#1Vw7;s?}o=6ymbpR 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 z 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 delta 23292 zcmaK!2YeL8+sCsNCG*)g5i=JT!yrpy91)E5p38{c#tX} zNRti$?1&A;f`SbTQtY5&7p(8|d-f)f@P7XA$;|9C&-2W8XJ==2W@qoj`5L?bsIlW& zm({o8IoH`5R*#CUwG%9BCB0gw%T@lMueI$Db?~*BN^Z%_V9-Cq<7+p` z*M5?(!=#We(O2Z_Jjp-P*Jol>L`1}}?6ITLhL_AJ_Lto`+kdm|zlHiowyHbJ*QDcY zzis<(rToaT<>g_gm45uU`DS@SzE0`AeQ7=y9M1N2Ws5ns|Mm{Pgo*Xp^?*R$fXO4h z`6b#j8Dw`DvO9gfsuJ07a2FHRW;4gae>daIwf*<7H+S0z#-0<(_4rbJ{W%KdPOQnA z?#$7{{Pzm!eYXF8x;`qi{DDhI=lSjx(pHA_K_Pv}_Rj}tT|*iwEy@$l1%{KVbKVEe zh0KZ4q3?f~DHqxP#h?Ua>xZgP)?&TPt4CgQm4As~F17v3D7|i0`SMFJAMq^_%zXxP zgjn*E;b1 zS)z+PL0@xePrhJLq5mK|dfoQFk?XtKcMWb?zHyz~`Av7E_RQ!aT5nasJw(Y3QaZoQ zmhag9!v^tyAbR;$slkj>^K<=2r1IXi{qNDV1{vk=Us8D=_>M^Bm7B`@P_F7x+y4am?|Cr`=PYBXU+kc93V#ZDW z{1T)ud?y6yHG}kJUVcelC|FP!=vrKo?+w)T7M1!ufr3C?|5sesU)%m~z#7f0oraYZ z7JBo71trCSPPp9PlIP2~Y~M-1on|=PQy1y@&oJb7w*Pwr`L#4eccdx8|AW-2oYXL1 z$bVMof3*ESQCVz8`OlZo|Kd9<^n(rkuTr7E+5X=vD-@k1JCh3i!&KbK30U_KwN zP?Y^Av;JlK|2C|@g_5gxkHbdut^AKL{%iaHqbUtDTsnddH;Qj#SrHMwe}rvMm`%GN z<33#1;DoJf(svCLGHY=<45e#Bp<2)VFLUWS$Z$HvyrPnTj^yJzXX_}AY+aYbFr=zs zQP$}A_~L?Tx*lwJjM4Q)E1K*^LziM;15uZ5j#-nD6k11GgMQKY~74Q0|j?-q0P{OL8#DERuT&81kMx6L@`UEHE~&1 zb5LH{f+Y(1LRn!bTf%}{qD~fz6b^Bz(TjC*oT4e}R_r5=GEddC5-C5vXFX^;5I@lB z_+{1{8q|2WwT5OlK51Q3k=LY?Wd$qdHSKCyi|M&$Bdr+~H52MvR?mutiG!_}mrdzf zN~g(5v#cNJSQ1$&75?TOENfWBvKBopYdO8u@@i`aHA()`>Q(V~ay!c!N2#rbT5Bq% zv>I(Sd%b$EqYuL2Tl7Zj&#k*@d+Jqe{733H)^!yp+AvabMZI>Zmh~`oYd?&U0_`Wb zVqP&U&A21U)gllyz$EG!`gRJV4k9q_$ zZX4?nJ5L+({FA9Su!LL3MviR#IQ`J4ee5PEp@nW1;TCG!*X`Qsq9IMKtOFf=?=8Y&3jR@b{EPr7zpL9P17^+7R!+l|r^ph|G>{FujG>y6}%k_-Fra#Lf1qFd^VPKzw31Ih$$@3hV zmMTwfB@XC*kvpI-0JJ-b0O*T|ogt8K`j_~KAz$Xm)~|4AAotPWeu=RMpbWrQMd3A4 z{jyyL1+e|=EK*Pqz?%%<8!!Rjn_}`7{n;-u`VgnhC4L(?z2Oiz?;v&_cSd_c(>(ex z3z+B#N49>KLqqhYi?W_>(s-DsG+n<3D{#FpY9A2w&vtz%TpfLF78$%_(5u!0Q3_x`L)>Q~-(3;u%y^s+ZGD16!wBD1dL@jc(*r?$ z5|#iyB{rWsHWO*@fOOXv!aey*mMQ27_v?oHE0zfN*PO8RHyq-ER}Sm!UC!ZK$#Aat zY1mX9+|?<%Wnee!Yrd@U^!&gFtmkO-psq>!52$j>K6jD%c`>K?gPJ7&iKKIRMwRf> zsQ!xueCmI5Wb1$Ez@T;w|Ah|D?LQGl)S!O`Wmp!q8W}f0ySN4vG~}!fn6s+EV(D;e za>CZNIK)}iL5DlGpm=Ja6RoVD@Fu}N3 zCMGv?Xc}LqVsEgpAP|&+@s^s@<5+xtqJnGODYFpwk?R@O(>9Bk=vIzwUCyDoY2Z72 zc{$=oUktm`J%v*>&mZ({oGa9`#c&S2HEDwD_L_9KBEB6<6!Hc7HUoVpEO4jaB^Gzn z6ofZvO_PgR8bSjOb{b7boWI5gxapvvuzhmg^pK%k^p&*MDd zeh_9Z{Sf_oliM|4s=NIHmMLfm`3OT!umSl(*yxAp!JMS%MVvO|i*dnw!y{OiAa=%_ zaG^_C!lcVMvh{Kf4e3JqH>X+bBQQVQNRcC`&kFd9w-Bp>k&J13Rcz|_>d7da>QdchX!#CweTdxZh|%t zH;cj+y4n+PZ56~0+gPNaAczSDaXU+7zNmMI%}zS!Y10t)7tI>=E_!}Ka(o4(mGi~~ z@a?9_x$%j6ID@hFiiamSG*~;R)x@|CPm260M=k?EiZ4;23}?EipB9B@=wNPgdG(^7 zg<0ji@zTe&=Q!V2IXe`neGobKbGy|3efsFu=UGyOJ26?6{j8#ut-5c>hV5PkFUZ6m-;m^Iam`TBqit9PJf*RrU||Q zt!m>V%0N}ViP#w*Z)VuH_|VpeI5e=YF+jh#Cf5~A@fPT}p^Z!Zj_4hxrTK2x5kYMK zE{hZt1o0|^_#RAv_`aBYK%Kma(I0Z!&>cn7y9o}#^ATdF7M&tLW&wkJ!jY{%<!J1-bed=LzR$Vs@Nf^txRqgfrtLixd=uGs|$Ef(bZ37n3hI1pMe>w^*d4f zp3Y1e=lVf#N1tVpf`Z`gHMl>*1h_wm$M@e()M+g2s!rAwN(FmE#Lkc!HrI_3SjO~m9N9XaLqi`;vkRLx%F>Nt1okGP(v(V7 zwyT-2w}-KUg0L?z?1?Y|dy<&&ytyns(=V651xrjdw}e`?egK64H5swf5BM1`g%5f1 z%%Qj8SkkMw{3I8k9%Ni2ixFRR%Vy~%EaAFY%8{*?acJs>q*aa9%VC1rc|=rJ&^MuM z*Gi{iRs|zrkt4_a+poRVdtp z?=8emg-&6xLwsoKw>dOm2l=jiIJ3;eq$#$J|D)+<)N)qh zxUV>ED)?(CR3n9ZkbZ;Md3tjIzGVSpp61BbXE-#NU(kKCTEu<_eeiuR3O~@3vnIIC zI($E}NI^mP+=lNbn1JtRG5Lkk?G_z><+S1Z4GPux;2wOx(|kKF@ee*?sB;|I`aFjQ z>Sx+#C&m5=WkCHU3V+kLw%hfO1NAS96chxipMm-hCV-0I>7=bKy7|_mXcwmqR1NxR zZd`9T1V&BH;cCLv)14bC4u*6sPBT(%j%;0rLxU7S-`<)O8_5zuiV}so6kqOk)vGN_ zr1e>(pdd(>8Kh{K0I7kP#Bj(yFFel<_vRLOilrUKN}kgW8wx0j0caz{4ydEA<5LZxmzAREu5X?6W=4CJeW7hv(nm6v3GQC2&-!@vbq*$*mfvv`3%z$ zhsS{YfF8w%e1@Yrvh^6c_l|b48PLEPWr{G1_TQ218Y^eiejJMw6y%JaFlUqv6P%G- zOvY2@olP50fRI^mADR2?I^$jdwnj1N?^&}2WeY@%8UCm=} zfuDSsrhJN>n;2UN3osRlLNN`Po9!wQrVgbnQcw`4n+=m6CScNH z5~xiL2glK8b8ANjSzy3IQdRH@u<3}Ms>&?O3ii=6Sio2_IkI&bhXza2W%sm5xo#499;klnh3JSvGF+2~z z1U&P^_?8#4dsfpcae5 z5;}C>1lLjrY8i_Z6a;Fjfm#j|Ks_QRE68(yi|Cb{Hc+bo<$*&$J&M?Y3ePZm>eVb` zs5Knf`Y{d-6kJw$T;$`3VZM@JL9t%TX+d4b30tqH|L%9YHaMsoS)`yKs8<@)$6*50 zO=7Z{9(o`tdJCrw>QGz%iXipRY&}R`l zJs2zN=lGB*_i<$F=Q%W#Pu7-~f}T>n9~Pi|L6lyk5f5g$UXscyf0;!J3W9miV7>wq zU>*>YS2+YG*3o6_hsT*8zb0~r@*qsA_0A{|%&#MMUJ)|S8+^pbZ*ml4>$f;E%m=ui zi>J{KMaCY21(@IFgstBp??Yod+A=l2a`0_*r|3Ey7*y;M5_wxb$5sR4fV~%Y735Ny~1vo7=yb}a(nMMS?0e)oB zpK_*<9}~OJ9J`4FS*2^&lv!c5Stm<1L!Gc1by?7_GF`Z!do$iSnBy+h=Zy7vvHr6*eNNX=6s20L zs0$@i`ND)o5nNH`_Om$cn?V6;T^oB3-KDgg(&(Rs4d@6prPdE;(V&H?Rv}GZm`r;g zZW`U-BHI}1u_TV3To@CLXRwS?Z}Bjnrzk*27N*hU(KQ>7y?Vqb9ghNVI*mDD>n1dM z(Kre`oN9HU#SbUb=ZhNATMu`O$F_$Iq$7AsV@~ zcO6Wxk)E?Ojow_=Aa<0oA1(G{==8FQ)O1;@HJS!4OQt)QH>GLIx=9sY9n!iW&r|HB z)yvXa;GBGArC!Z%+Vu6t%MIe?MoM{P91UHbn(&gTn;dB1#+xh}9@_p$AyIZl}th|Pv;y{7ifwxMIa|f1#Y%lO~f>P^~rD z)?+~Ju$CnX`GUI8pss@jP}hsahB|nEl{rq}HnPZ6;N#G%wy1+bfVv5>v#2wU2{-eh zt+#M!2-nm3HA%5sp$52ZqOhIXJm$7`04`%EOBC`2uCsyL1q;Ach{bLWQI8ik8F}=K z0%r!jNAjGC+>46rgHk~E1mf@vTJ-gkEMd;4II{KA92(9F=d$M&d8T>wGq3~hv!eGL zjai#bWsjv=vuVX+$@JygxPC8*tyAdBP_OoE081deg4ns1;+vw@rb$;edT2UbzP1_N zye^&AtWC9^r2}h|DROmSzFn6bQ(0M=WkFv_F~zU%UzbO(i11>9!4>D6?P9S|bZXK`-sx(2SZsKAKWD zrdplos*TCC;qf@SYh$-4UV@2mbl%v=W7*R+YY+4AmghYBcVhw#-jqT4kEdE~Y3}36 zbYxRwdiwEhb-A>Nu+mSDcc;wFk<@WhGR@e06+O5q)$&orrVdnhOMUu!Q?EMi;sRbf zET&eQ)998h^G8&Lf>=(ZZac?P z{*F|unC9+Crk8g%q$hSbXAlS$(sw)3q%L@hz$;GFa%VG|xN8i}-kEB(r*%6oYIpnu z&+9?-&Q7QD!iV*CrAcEMRZtw7NrQJaqd66$Y5lHLD?qRBN~T7;Nq(>flV{m0*tgUnq6*Fo$RtmHjv@o%fN8 zB+Kau7L$KlT;B&_%lG~g#Lm4h>Ut>)xc6Dc5pOr)(DXhigu2#gLdW;kihYC+q(Q9^ zy_NLq-W&NTv*EV*_K&heAzwPnM-A+1SO9j7SUg7eKhe5;EvHQvz77i2x^Q?0<$A;y zeI_%?J0++$u#ibNa>Tn%I5eavq00D;4&|z`8SXK|^(M{}@Xeg4!Q%jRe{#IF733M) zSfrpJhql*1~w-&9=^D$bW7X_w?V^<05^?u}w_2D=eE-Mpi(_ppTV z_j1I0NjWt5JE+G~&0?Q~0dCo+MB!<=?y0fXGvF+LmL&@L!a2)uJ_ieM?h}jWIRvLX zq+(SsFx?r8_DhBX`2uXJ4GSm`$S)#xrnzjYU*bdNeL1orfM4Mw1H6wipKcy|0O|mK zl@qppjb=SP!8#~S;&qlN!k;c~0G)hgr2Yfil7WCt_!j zgOUE?BjZ;p9iD~ARgC040ubP#+VBgPHW|8kz3$bVwSUEcHKT~-v{q_lVOy`-QZ zXR^qgNevdunbhP2Z+xZw&o|Gi&1qB1b)Zm<8ScRxi9F{nL-A33$k25;vUNQU4RcNE zvOg^rQ%<47_-yM2O@Br-m^Bw zt4nkei-fm1Cv4qK5Dh`>j6g$* zdiL+$Ll0#MBMsw-cZ+ankl?V&{eegDyu4gJf-{72q}W_VnXim>UF}d_!y*L*p)4?z z*TMvp>0&a9K6|BE)@V)}$}v!=HUz;vm@^PNHwTK(gxxIW)lObk%`Y<>Oc~ zNoRBDZji^zDZHYV6DSGkJg;`MaE!ZdzLy`p`E>yA8VV+U~miC2toV@wv(C>sjWjWYO+= z)A$>yEyDbjPmrbg(|Y&O`Ly}fw#~heH*!a5 zPiaBE!e-?uED50!r_y(?wrJqvL%s?H9NAh?)7Od;rokq~T_>-kNLC*Uam-yo5sf*N zG{I%AU@^pfCi1W!(WO(Dl+paL-+&Yy2&V9nF5yhRB&8hL+Rvf6Bq)g6P$*Z0OV*+i zpqPWXQKqCIN~&AKloX;>2Pa%MofX;T4AGy-p>YWhRa};d%FT`n&40aJJb&!za&`zS zQ^qY)MvN(A7Ty1P=j&~@;WBO&2jz|f>DJ)VDWeB3OR999il_jN#Lv!KXe7tB~ppAa23eVE3sG%%a93_!L169#a&ic*=_a?<-VO1izJI zX1q~h(LrG`R^0>r#RxE)_T{J?xLpUgw$fafuc?ZHDYhi2bOd;wQF!^LQsH49h~(YP zj|$7x3ZG4>d*B8yGu4BrzjY{qx9*lls6NQSTAV6^5Z#g*jl)}T*b2s&lqhVKRp{MS z1uXDvqOd(fVTDm)jZB6pbqu-K0i!O5Z3Vm}Lm8hTDJ;7ye1WL&dQO!OL{2y49D-sb z?1m$S7iFp;a?$CiYfw5maa9K;-3ALxIaOQetw1i8z!X+9Q~(*nP)HqQoQFTmY!w!q zRU!`Y`c(C;QO+Trt5qr#WjoZn3g0IvEW)Vv@PVfo)fh57P^NJK+ z9Vkq@)M*qLzIX5D3bFNEN;{NT*|zUN+wS$4xv%bJ6>i|{KEgeAR6yUy$K0mx7t04Y zG;R8B%KWrh6YgoJdV_WKJkH^6=|NF@h+aSBvF20fx0^Lxz!G#u1XFiy?VS?R1$rUf z@OIZ>4Wc{(4+5Ms}nOLz}{Q+zo|GTEdyOUP^DiogHJ!SjMsr zY9V!dr`^EioK}-KsOs|(miVH?=jKa%uHZ~tucU|G$*J_Yie>Qm?>jvPKFVo@p1Z2g z)hzMFh|evT_*}!8{C1Yq;ZUW|wJd|r9}ZtNa2=-=2B4}w*R#Y|TYPT4#ODUiwDm?R zJu;=TejjHU`{Zz9XFLwBI@09|uG&p3P#Djuy5GzaUmbD3?GpD}IMdc!Y2v%nDv`Ib z49G{`y?o$yPAd-wRekPYi7#4wZokCmPR`_SH0j#+CRO^ZU>SVweXrZV-JDh!>ZOu>9hBL7-vgQZ*mB`Pr49GJ+=sR#9rxnKZsy?4*iLZh9G~c*g@VTEe`5O`X<^xsf z^F@}yr{}{#17G5_%IBb}&zD)^ixr>dyXXr(U*Sw!AE2WjPN?+xD$C&WilZF|zQ$>l z!$DP_2U+5)CqB)KU-lX9C|>7GTfaeTj`pbRDBhF-*jxtv7Fi#)yWtQka`*7I=)c3E z=^o(08S?PmnVO7V2;Y1=uZjOv_&7mf|Bmt^h4mFv_+fE&gywwIy0Y+hQMm7!a2wF? zu?qK6m}K(ecFM4l;yiC@FreROIpcgF9zNvI;J~MY^E$fIAGu@oEmhdgsD=U}eBMXJ z@FVK}amUJ{KbG@;(G>j&-TiUPYd&Q~F6fx(f5xFH2p*h*@Rm;%O^i;6sq+eNwx@*PO)+-*9B>Z)wdZ?b@A&heQRe3mmnA z1;IkEJ_8|Be24jFle(29d`}HNZQJ4p&gJSk%aN^r4 zI2sen>Ct1|>8VfMsa4C2D)ng3RDLG*>0enD<^G0plk5C0mb~-+SkGAf2On^$=Q!g1 zo>8>)*Z}Kidhb|D(Vr~h(*Ba1zd2-{iF_?0hC7e=Is987-atv=bZ@@?hqKcyK5ww` zb9EGtSzexm@bu$fNVxF-;K5xJk9`yQDjP4-{i=t_^I6l&B6!h>l5RnrPbOx!lyowO?x?(i zpiB}2Iz^jrhBt;sAa?CWjy91D>hgfKC;&Hni+yo20g! z<|fpRBU`uU(5XhQiw+CE>~h&=cg-Nb=y%t=X3WS8-I4QU($^wEV8EvR9kxfuoAd`xYS-OM5zNP^m*@$fqcZJ4if##EA#)|&9O8rCy5C0o1 zTWs8wHVig?!IynHR$j&loMnKpn#-#f7b{;M27(^|-9U4`8kBJ(A2HA*(Z8uuKT*NM z{|3qto5__n4CFyg?WkT;xvXNq^28|rVk2)D4E_K%h3@-$K*m%)VlbcR7gXveDtP$c zU`lMJRoXCEA;5N42P6JDNHUnV0s)NmB6$4f#MmJwvqmIPCQ-r5 z{|38HZ0@hLVXy~KW4o)@*gRG-a1V;nLl+y(55vJ9;1Q7{mk@bUb76HcpqH?8l3vQ8JK78}IWn5{TE;?t z-HNPO{)L1B&ChH(&KxKY>9V~&@ylFfLP7CPA;jk8VFP7;|NJkfXil>Hn9Av|M zuigxqi&sOpAdwf9&x@hF&{|Zgx3U0`Qj0l--s#>#y^Uq*JkaLwFN*PrI%~DtMX|2W zQy2`Z?SNV>cXSxAkbj?nhuxjfQ)j5#52=H8aoQaV%mC;5xR63VWnBSrt$c58XsX@~ zb$6_{DA$V%S61i^_`JN|ZV%1-p-skKXx2snc|rXI4x;fST^uUPnTgR}Kglw_$T9h$ zqSBnohk$^7O58^CucH+dPbmp2KTX!zCj9=k+1ci!pM|qXuJJByyZ6r5&*8A4cV+>v zR`YX5C=fo!eehq)T|2L&7{Ai;yttK1!fj)EL7*U5qV;~7eYUyv042!$b5_W6a543(P8n!67d3|0 zXz-6s$`5j$yOy)r>vg2-hAq*y-f#>Hic3Sm9Dd|2$>&C@--KF}m~;v7DZGW_n4J8A zfG4*Q%|lM?kl04?%~Q&S7R=OdLk*48lbbW6AV28S@6?UBAtF7}-GJ}45`Ce7!_chd z?1MXkbRDzc|1KZN49FeB>rA}-9z-)P_3*WPkF(~wqj-Uy-&&y#->2?BHSYKUi@7xh ziufHsjz7fj0|NR(mfhp7kDH_NHabehKebE!h;!VrfwJPDXJ(GCV5+Z>|AP8sh-(&> z@X3EdPyE!n|EDZa(t3DmA1ukaaF)lQ>MF?BpCQqJn~O}4!tLcaHTt=AlM|f9kG|oW z%9&EYO;n$xYkzLh=@e(pb=TuxBIN2ob>{2OS%h9k8f0Zh@deHQxn=p6$cu2-zzdD9 zIBn~%IqV=yJPPYVvW}*(4kr)dDu%OV9ZW5O3@c4)4Fb#)WojoYS_*4lvZ$l5{3B}+ zYClrB2(T7{^^;6q^h6TN2?`4jvSy=paw_C*6bR+=%^u_*6D%ptaUSKr5yo%9=o`TQ zGkuv8dGZ^PCtn7rwRGz*&8>fF`7bTo@A2)CDcLk{nZ`v>hj{MnJK{SclYl&3h)*@u zJ9OfgOz$X4>-G0 z*#xIPq@R8r(H@(@Co&Ijg;Ll!rLM)qAAvZM50>~-D4P6R+IW0SBfo~or>kzpnhAb& zN&<1rjlHlSSANyPDVBd7(Dx6X>>~0iHyFqU0`bkAL1?DZbn>^Z4Qr!<09PbGf}`e9 z%I^uh0eZmiEv@r(-S5pW!!Bph;G3&3r$D|@pU791T|0Ybdng}NE*AAvchHvK`!;U_ za4Z_*wU_+XpqvJ8!&1BG-`|^C-6-jgv`%>GE@Wl+nGyLF5!D^*KM17kkbEbp{-n}B zx|QRrP*E@Pc}-B z@cHs{bn-iP^2xQ@LkG^avChz$bBWehRQr58>m}-PKIt0lsCTZjFXTHbn}D34C)cBV z=_j1{MO@##;<~t?D3_skahnj-(lURrk1C}3=i^dvL8h5Kerf>l*?)xB`Hn(;N;}W@ z9E+b_lOlC~Kn*eNjCZ*!?2eZl-f^eKn=2HUiI#@%hQ--b=PNe(GEP1jQHQ9{pIsYZ zudf*M?mN|l{C_qp$L<@2&F)TsZ(`)b80S7l+X|JcbEd&??_DC>2jnz8@=9CYk}GVD zl|XW)$nPHeX35!e<+BfLMscnuSBAo80?5qf7S6v`C%=E^6e;^Yy~<_O+4^SrksZ@W z{PJ5H;&}?Tm8xIiiwPr~eS|8XZu~2We@SfSUmY7QH&qgHc7Uo_s`x9dQ6x@?%_7h+ zcwd`3KtKMK6pt;N(yMp_d3@uAf@-csDSxLn#nw7$Wr2{&!ku29FQckY*Zv{MctD?FZQcvSp{&zj#Q2^M MZ2bd=q1>+j2N7gVF8}}l diff --git a/documentation/_build/doctrees/ConfigurationTechnology/Architecture.doctree b/documentation/_build/doctrees/ConfigurationTechnology/Architecture.doctree deleted file mode 100644 index 0040ef570c87ea51e6e03c5a13796ed38354886c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 71524 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 diff --git a/documentation/_build/doctrees/ConfigurationTechnology/index.doctree b/documentation/_build/doctrees/ConfigurationTechnology/index.doctree deleted file mode 100644 index a62225d9c29260687c9e8063e175116723659926..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65166 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 M2T#%=u|D$l`TuWl#I^9WYopc&WF2E8X6jKs< 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 diff --git a/documentation/_build/doctrees/CrlCore/CrlCore.doctree b/documentation/_build/doctrees/CrlCore/CrlCore.doctree index c752aedeb77fbb04883d496f9b255240c9e9db17..07d9de3306399bb5c37638ed3cff388accf09026 100644 GIT binary patch literal 64688 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 diff --git a/documentation/_build/doctrees/Hurricane/Hurricane.doctree b/documentation/_build/doctrees/Hurricane/Hurricane.doctree index 9fd06629f98994656a9c15a25ae3b5437ca44103..1743e0028f7093cb27e6149574145ee5ab771ca7 100644 GIT binary patch literal 64708 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 ABLDyZ diff --git a/documentation/_build/doctrees/Katabatic/Katabatic.doctree b/documentation/_build/doctrees/Katabatic/Katabatic.doctree index b9490e46ad3c274e2a2230e0c102107dcad60a5e..2da04fbf9cd47abf8b724c098e7cd23f2aa8126c 100644 GIT binary patch literal 65446 zcmcJ&2b>$l`TuWf zd&`g^Lpm!fT1};|o;THDtJ;S_Qb3_%t-8*t_H}U7RavoeNxobizN&p=94^h)vz^&` zG1qGH-FcHQ=knDNb5&C*ThFhUP^kBmsx7P9hobPxN^NDWx~{F3n&oVDy;be&vYv8r zX=}ZZuffvDRqb0tlk z2qsNF-`llx?}^n7R<&;nLGQ|Xp;B(kwPt&Z{f%qw$(H-FrRs)O%OJBWs8!0b>pzQ$>{dAQQx%r(`HvU^||^Q#d49#E!E9{dGoNk1u&cJ z@>-?OfXtTd`=O?B<62KLG^uq`EjMX#zBgZ5oEg@e1>t&itHPR@ zVNsP^`z?Z|=_?m=_}E*j+vr2e*K=*~CTd%4oT=5T+n#-T^)q30yUxry_3RS%glcPM z^Cs?8x6ia>>vdD?M8~LAcL=LHj?N74>g%Omt-8~q%sRPJwpK%W=S7*}o!Q({bcb4X zmqnSiie0tpu8T55ZPC$-s=F07&Gu#1E)~o9>X=#kqMoR4R(FSA!*hjVsS9pa_gGXN z>pNF0Q>~>s4s_eX>Yk$uTdJ@1Ln@$g<3|^ET2$D1QFTIQ&04OySGKUrqQb6=3ZobG z6}BpDUO>%z`!z4jufWMMQ6DvFSN8#+eZ%U0Fp(JowYI*_Y@szX%r>FAKMwmkbxP#X zL3zGRD)2);Agmt9X3dB`=_t49hu!c=qoa(~Su<(z@%eJsNw(f_F|4my*t+nULTh1r z`gc&|U+h-(;KHPAUt!Fw%?n^i{|@o}L)|UaL(#s;Vf8S!Z%edq(jXQOuog3Gp-goO z%}yPi8P;7fJ=uC;8=cQ;YjqkxO%JOxIx{0y^pqymaN6dphi8WOntUy9mgTE6$sV78 z{Y;L~31R)L&dTaTVZ+hr*@cPi>!DeV&R6H4`nh3sp8Fgo3q0BLv}bqdH2Lh(>U_~Z zGOQj&@1{lcqw@p<(43-FkZuzdB4@b|K?db#uW z^9g@BC7XZv^qDiNSIFTj!|GMExj*EbqbP3>j~hPbT<4_4^9$X@B`J@uPI-Jy;R<>D zg!A}Xd3;@1y`I)N8=TZoA6&k{xqM@0&0J^oOUXWdCEdOWZp$AwqWWd{eREj-iu3!r zl;3l*xp@n!x5)2X!|GQX{Z`)U`OWUF;wisxOZk0!;THM5hx7Yu^81dkdS~o+Lw)f3 zF6Z~%{zrW)eZD91+4^!Xe7-NN-tTnTnT7akC&O&q63M(cw5 zXjuIQ+q)S%$bc=tJn6y4>*+TKyPiJQe?8rVG#>{|j*`c_23MZ|(Qk#-Cmqp8LA0+E z#nwcz*4FA%$bUMlKEp;?5gULKy!?MVtUk+(om^}GJC{V;pX+b?HaekoBlSE?z7STw z)0vtcd^a;9k-$RRed2RNQRKJf(Uka-~aDIMUeJRDCzL0W!Ku)v1qIp9@hvE5*;;B#n)zqi|TH$4V`lq>1|3^AYUJt83rfq&g8XZ&{ z&XJ$EbL6K5Z(MkVpX$%xyz}Dc@bitZ`U~gh>xnajysg%$02Ci0pQ$D{HR)0ym z2Sh$Mlo-(WexJuQ6dmKw;NMR9{j0*8^7{qn_pkjKe7>i*kj4FROZ7MCU%w5jzhlEj zqG3r>fbx64dfxZEMIL_u58u;2g3CK$^-qq=Z^b1u+!?ICs}3QKQwn|6_eAE;VfB4B z!1V^?3`j&>0YN_*UC&TF)f+zWn_c}&;XP5A?5O-zz2R?R_3yN;-oP&VCYB|3iarF2Jn8y!D*T^;Bvp zZ$I_DHAB|GYRkuR_@T&Qvj%0DDVsHs2+dju*^qc%V5{CCG;1qI_gH2qmArZKCjelE zF~d#}sA$%~@!6-F;fO*r0%1fWptTf`Sy-eoEyy7gv#ylZvq~`;miZsZu((ggj8vU+ zCBDTqqaX}uTzs;Q&-##v&jv_@W2= z8KFZ&g9$|JznJ>Yub6tx9EMzBnj*!iRrIgkO_TtuOn zhtMIT;RG^W)vz>S<|9YAj+D|-Rw>5C<%?#ha4B!RmN%|Uq;M@zy&kTG5C&|3a9!ze zWgro*qmc;BF$iN^Nh843u3U@jSSlvhJp#H#T%ToZdl!8&$Ke>Ljz<)lMF<@#8cm?u z03VaTnq*EuDPikS1&eJ3?Ng&(=9l*odcDjqp2C+^{T{wf2-^p2T@E>7x|d_x1&NsE zkqAvULNe7I6sJw;7J%&%m9lILtibDv^qp*rj3*AjL;~2hc#GOJ@y< z(9{tUAZO5x7C@~}S;<;?;iMy^wT!X7!;G6|mO}_kD-eZdB|?XZ<}9X$x%Z6uv(1Uf z5TKK!bF$TmC*dg41dR_!L(r1mQmWI1sxs+_IR(OiwuNVVhv!sC)W1$cA~dHXB%XL$ zuKEGz3}x6ZbtZMZE=6Yu=`6<44O?%?oQ*@^`5dCqoP*Hep}9ma;}m)DHbKa)b;z!PM98j1A~e?_Br=YCDKmg} zz49%z8>s4C5$GDB-N@KZ%IMeb^URkZ0kWGAh33l$9WokDAv-GHb$GUJZbqJveMM@w zShaYC+?HA`WE_WW@f5CGRjY^Vs}Ke>FI;;&T(?0YT(=_;ny(=wu6WJdnEfVybWMLykb*FQo^pQapcUndX=h zeT%bj7EfV%P<48k9)d8Saba5MFnt{oVR{&e&^&^Wm^6RwHvmYFD#t?l29>-?KHVXt zZ!)$s4Eg&Qj)CZLM4@>Cp+iK22}E``MZLRNDw%H~QR-cwdDen8h%QL(0=8ip*l z2sml+F6GWz?*TSUF?(7TJZ8^87_cc~wy9(GZAiGLX`V$QG|wRDp9907hwN3;JQ_atjD`Ia*@fTJxzKXhXt3iw-9PjOF+1{=cus2n&2kb2f12#awKI?$}5)uJ> z8;Q{T3L$~TSJ8eW;Pq?eT3)}QqBqLXE%N#;V|x{K`sR0#0om^nh2{?k9WokDAmcbU zn-jA?B1gF1k6QasMFOfyui_-p83#8nz-X7;Y?^iaJAVL; zfRL!-`*dpnnEs+1i|Maa@-WdIV)`3nJI+zp{2j+Y^bbU#`6oh$hz3)L=9l_v=0oHN z(Z8hhZ>tnf?pbCv5xH}4_f&WKNR@hwK87%$buqf!G5Q1&G5QY@q4^Xc8R-FJg9Shu zg2y}2YOPrVY5&}#Lxi*@^Cq_AXvpq>vlb4qFe_zkA_{0J0f&9JH@hTXtFJ8OyR+ro zN;8y|aDjE0)Yq}R5m0)tIR78i&n^xos%l1;-!79dA0#~jXntm+0 zpK`@hr|yobH|dSp3BrI45T5xC&(4tO)ZGP%(Cmtkc;YKTzY$;>tz1=XcB7&<#L+F{ z8pGIL37o#!9Wo%>0}&R55jtcvoH&ztC74yjKEQFv5w12V?P-px2% z3}{~c=XY8d%8o zVx9UzPtwMq4}u>0;IDLAnIOfaV415C`c}NCfE%NQCB# z2nnhG8mJa6=DBv6@+_yzspfH_OXPF~pt=fCXs$-+P|;`_71n4w=9_Df zCsfx;?K-QLT%n%7TBzKOofd!Rr*K`bnmt@MKp3zI!gYl0Q^?Y*+BtUj6qR@O5p+iQ)DP&Xodi#nsa~tx6>~^Vr z&8o${%a&R#Wb9qGcna4Ys@21FCxijb3)d8f>n=!y>uw}Ma}UBq?}|*Adsz;=?o$EF z>we0-E=Iq|>jB1=SLFJGkbu`ih(hyqgpL<2CwSp_$h-ySVZ>tf2ohNPMaZVP?K*?+ z^-7KA>Aha&8>-Rc^i2o@nii+eI8Kj2B2JGZfi+}=Yz(i`x`AT#!1FE1EuJT-;^Cny z#PbwmyJr;}zMjSr&^&`EG~Y(((9l={4R=$|$@VSHnrD$EI?qY#d8-w#+o(|Uj^vNz zDxT^{FQ`%v(03pVXkCCh9H8$)B0w)9fdycM1f&@O`)XtXjJ~fd%jhL)d5q`~8U28< zoe@}umDg$SC$3!2DQAgi4GCeFBsbeu36yo zCJsaM7DC5|mJ)n89ax6#PrsxlSGC@j&abRaJRLxhrd+%U6DNHro+9&WRq2uW4TJ%0 zi_CW&ncqSpGQUG2G`~kkGMWy!`pq9$2yp(WTnpzN%Dj0cJtCYxF}8C8di*X9!RS3i zq4_gH$A~r)jCiWeo`)}DnD>z-N*_q;FIFq=K`Jx|r-mLxFJ@N;_(q2Lt19(4{SCr^ z*2U>@$La5oh|@oiz&bC&xCixHFdwoQNc~Ismeju~^GMMvlKP0TJ>S$u^DzWq^$DWT z{0E_9MY}0hM-|IUYUWd9iPaGFvCyo6kZqd?n7l1kq19qFMnzN0b!)0ZkJDNZ2DB_r z&pA$OL#*Yxp-6;gm{hmaw?m`a%{nXsM#Ghttd@&*^nz?gFm}&x=w}NAV6!eFEVCkX zY-r1}iB|167IoS$jhd0j6rEAhTi@!n&y46q#hUVI=t+%>2A%mO#d5RnrJ4<7B?0o`y%WvN!P6ScfcBOM~E zof+HiC}pz?1VFSaA}p;Ubckp&ajNPInHAGnDVOt^a#7#k$NK1QC?{rPRK@PLiuS{! zp1B~Ukp$S#GkLLh#am+wPv4e8xQA?b2**MgurWfoqeD0j5+Q6uA~bs&l0Xz^A0Xzta&>W1At%bY9@pM8z4|i9H=885vW;6gl0BEf{GtvxHf6J zKS#Ni)?6xjy^C&<);z{`-P7rt`H%tGk%&Tb6heoLh7-teVH>g_V-`RzSPP|+u`2QX z(1J`eOtx2fuxhDq`k13tqlf7j2m_iHrkxxnF1iZSu}FmGvj~YPz8_-s=uXE;ZUG%n z6%P`f5)qgG8VmqZQ8~#Oc^=CQ;|}yRf_SjOfxj>LH&3%;`S7K zQ{SF4Rn?jF#25$z8W*0~4o?jd^`JTu*s6=r;b|}cJj;}0`_OVKd3}iP5Yr0Ac6F4E zGb?cnL?2XC=1hcaO}sj)`oZTcWmrCEQ^(^&XUOMsjO~yORdWswfoBz> z(433V;i0(%9^MHZb@;T|`jJA4&#Y8v5JX-VGKG9;pVVM|p(^zdT?Ao3 z>q6A#5PcpJA-Wie&|HF$h~k-5WC4&aRhEVH1!{Sa=nx@&k+GdwN!eTm0We*TC^T0f zbeL#zKur6ZE0HBkS4rz?tChes*tP@$)QV-MZ5C*g^Ofwv&uR$VAcOVg(I}s)@MHYbRE@fFvcT>y5 zM2Cp!9>x}vb@^ThfayL&p}8NS!$gw_Onf9Ux7gE(Em{vCPn;f<+Cx??UNp9)nuGGX zlP#VC^>x+ifqEFifaV2ikpuMzBm(s)5~2A9LV}7PNjMWA^-bkjQjby1BSn`;>T$+) zy*Tpv2}pqITZlsQBtnOZMiZ#C$s@mVhItA(0`;_%p0P@Chr&|djOLgUS2(v2mwI)E z`L-(cI6VttKWAL^?`@|6pw2_0`{G^G`?t@~(TqjWRRB!u4m3rj<17Sex zBDdU;`xFw98-nuzE4T#AlC*m@8KY=VF- zbHGMIB4DGC2+jHk2~1C%`H?i50ksX3Z>eoaRd0obu94bCjBO9=ufc2#DbQ_#C^VZQ zbm(Y2fi8Lm#`m3>&5$W>n@evCs~4}c;KIma14B#R`nmITpx3CGEmf~aZ7T=^HbB%q z=csKBiKuOZL}<1}NNQSVNg4sO&nVY2+m4FfSxL9Ztd+4H*yQ*2I0mg95Mgl@p`%5k z30ml?LzWclW+!Bb)Xvh`#p=YjfGENSU29iW=|LI|VL;o0bc%zt8zh1> z28qz@j*yVzRXf!WK6@y`@)=7VuTRk#@)^h2-U8CuHXH)ao`|qgiqPSqxda|AL3J84 z0dmpVODcO?mG)zh%kjR`3<{_52D$P1Mf^I*#ongJ0X8{Klu3`?J`e_Mo9J!e=>~8>8UFcflql`(^8st&N0W2Rs%GiLI52Pr15oBDqIS5kFJ{S?! zSrIzgY#nH8qa(ki(27!rs?=m#O5a^*joKFNZ#+x|rbGocgj#Zcqu8aKnac99GwJ<| z(~#f4pHa?Cr^t@p*w5H@u$ch?T6j1j?3YF8{9u#hhkHv^Zb{u70in9gER~;a%f}}a ziVWIkydfLKQzz6MRq1t!xex}ltuC?Db%}Y9=!BY&1h%~*Oq@`x-yFq4II9*Y*Pc}i zDf7-Mdc==A!#G-4fyYPV5PXh7gm)q!bbM$taaM7NF6Wo?8zAObWQx;grFWdwi>Fdi zv8JpVI5nPHky?t`@v7cqwg|$2?GUq#9J3Q3(L=!wB(NTfkj(f6kHka4ep>;3Xgr6q z)QP)Y`f*?<%g5)?MueK9DB3FQ7*zb)Rbsy9^YG8o;N9yfhzS#E`>0lb&-6;kt{)?-q(XfXvzplGG4BVETHRE zlx4eKFSWdxJRKsXDr0+cO4%3)fT)HDZ$?1q5YglSoli^WrVp6{wM=@;tzLYRMyt+E zQT2B|x3HaBIA5VEJxnVh3}{=J?sJ$lw`%$Q7S6rFfQAjOS0TTr)uZ zeDr1{S3K31&Q`rihs@_74A=lcI^97!2NLzARY+g~7a<{O{=}(AzY&l+Pr0@`oliw? zB%@m-b^&91(m8!|A!I;y5hA=J0ii=i!-*cnrG`1#8eZIPE=Hb!T_Uwhty;X)U`sW_ zl{)im@f5Bvs8$cx7aYsOFt}bcwL8 zW^9)lBCoH31gNe>gm)t#bf{=Ffr``3-mY$QJu<}U2I<^rb>b5bMVdoOPRzN|fZ{1g zUs9DGq?;fNXj_n~4$_w)5u}@uz%njELW-X_sD2Q-MH!aRt<>=d(HRo@Dr0+Lq_el- z5O{7!gm)nzba-ekfrmY*lkfCzribtz2m>}w2)A?y?^RjOIqyRXYrHy6zaO=~1sJgCTI1#N z0V)l0xqOi2Bn0r|DMX=p8lm%pO_Cp+ zaU#u4pPx0)Af+zzZ6reTEJAi;_XcH_Y2INHgO9rrJu!7!J*P^&KJh$+0j;Y~T;Te| z3y|ov`VJDI`7T1XN0&h)BZkVy9|6Hz`TUR(EI?Q14B!R zGm7g?#}>QuMe{OsxeEM>w0>x{;-OiE2Eo&CLUG7Z@$`3zURA9gp4T7@XkK^@cX)mT ziSWFRL}-4DFvinwf)nzeD9hscDYd+DhaM5n&luYdWPScQ1mN@rqR{*Tq2ol82~He& zX5`DWi=F08F>(1kp4j>4-(xWq<=EDt4h>0AL1B@{)H$s|3>H#(O?1*dy^KyXPb|Z zCrBSl?GvjOFJ0PF%`r9fCO2eg-FbGZNBu`Nd#FBzFklme>MDn72!;irS_26z=prPl z^p|B|2Ef)*z6G{6RlVVft`XQ!=Gk6l8)=3?0%YqT!e(294jBz6knx^4+9PE~AXCg* zq_?isi(g0@6>AEuff+kiR6GT2Jyq)g8wp`R`vTVOfQ^Dgz}80sYqZ@)bqL*og%G`8Qa?w=lCWN0oSI8LbDk{hl^$txImm2y(7)$$Pue8q_m|~ zYP{$j*%VZACh7WDHAQMGRqB!28p43qMd}NV)HaZa)V4@q1s5SnB`$iffL^tovMi@o zYI(hi4w2LLjO|6Q3OGC95R1A99UNL32+n-76IFT5+gVDxSfxfdgM3ddF+w>wso$V6 zyQ)$T&S(e&S{Iy)9h}`D5u7ndU|kns3Jxp)&K}CLaK=*0gF}Z1XB=Y-rx$SAaENWP z2pt?+8VJrYW;|61XM&XWvPz9`j`<&Z&hk{x*;|!*a3(?+(7NDU>fr1HiQw#uL}>Oy zn1TZffV01{ESyQy^5D=R!a0Dkg|i%R4#Z(-4npYQ&{6_UJaEr62UD4N4w2fSRxLSj z5Avj`c+9)h>9&s<>UASrBfk-!^p5weAD z60SmnbgKqz9J}#a^kRCu;e1u<5jzsXfYwE9k|TB$BqFu|iO?)W$o9l*Z;=IX$|%cn zI+|MExJ`%1=@`a#mMLY!l}BJY77=#DB6OH&GJz=?wP%^*kRwXROKFi+iYZ}apEU@i z#s?~{bERM0eu66XD0M&>(7Gsn-cec%i6~`}z}pEB#*`W?fKpCbmQokByxv5INGZ?Q zo_k9HryGZOn=L{Ihn5C{Gt(5P$}_JhrNAmR!Wrbe8*tQ4e_eg4D)r!$APi_-a4vFi zdLR*;G7?y$MVNvE3xLzBEDNVfEe{SIA{@im!oe?MnHmnUYKzdpp``?zcwjol^ii33 zmPu{7RZ9*`gN)n_XPEnBH835M8kkn7W{=TI2m>}jjIMKxPJ~2^PC^1}w+P87Jutxx zK!wV;piZHx2a2u{)TxXc#-wA+X^;Tf>4@+uTZ9f74JVLAC)+%8CUOMqEGeCBl^Xlg zy#MiJtE5m@c4}hlvgm(}j#} zf2sh^ML5KoEkXx}mJ)E{{&b|dn9A%=mq_hWtCs9fgUlhD^`|3KjJ}|nJw{)IFklnJ z=z7QKGDyVeawM>Bi*VrnbmU@lCCh@=RVrj@T}_!si~f<;HH;fN)sf~}NWkqnM0j~E zLdT8P6WpRsHOJh598tSbN?)={jh$-F|JbQ|QowFfr5>;^Lm1GyfL-W--3*CE>cP1O!hqHV=R61JUPuJzJ|wU>i!cQT769h~Wmz~6Qp3qZL#7qAuGFZQ9y!7*N4~nO{%{Nu0 zN9HjI1KJjuQyrPdArYA;kidHk5Ry#1(?s=y%ah8mT%Mwi_auqVkjvAI?b1J;eFlfX z^KC>}kVWY5&|CsfbYe|6&ml*Ao|n=KR;jV?Odkx;0K-xG;mCJXsYmF$5C*g^LgzX{ zFG38({QvWm-mWP|urW(PugJy?H(Fkk}&>u3k-?~n-AKajxt4iFMn z{FO}CCh_`Ext7EVM24o*23e6`79WokDAmg+t)7e+9_nH47 zPryEv+7M*1b?#?bZK-CsQeDdyPvKfawR*VLgfO6a;o9HfS_@*~S{sSb43%obV*+Oa zXW=mASy<~(&4Wdk2x~a=>`W>0dITgu)q*HA>mqchXf%atYQ7V1Ej8;QPpC#pZIo4u zQQ10IE%tXHjiRH4hbC zBC5?8TU3$Pn?nLrTObO}mIxgx8cm?$)L`ng>1Hcrh||{6*~aR`Qv(!f4k@{o%h3uy zGM|F9t*Z1OeFnmSwgqX7gR~tag4BuxevAwuA;r4_R6hvqpbSfBN9uTl=nM(%#Mn*^ zplWu;A@J;i2=9zV=W-lB9&)$geo>+tq56z|U zEL~#EKFAQBeWkOX)rs+-$m-(Z#1h3*c=lJ79-c`M2DB|aFFHI2Kq5Q`B7s#`gfX7D ze&9J+85YkW)bS>kbcT2iWo+@#*~vHrp2HB~{jdlf9-2$xIcn+xGZh)aGfg_vtxo*3 z5=B-Q4^J-BRZBnpo}oHDK8HgX(75G;fqM0}1wA~drQ#(bOsGn<6~X^wI&q`8!N zeTXg*(mck|?7ORG=Hn2Mjzol44Ip%oXfpu`oa9q;k^fvO4kkh9ZM-N=*RD zUD*_;ysGp#bwe1?wm5C;I4yxhoC-+b-2w;`{Ymu$P@oJ8Xeo6(Ky-$HN{nq+f~x7k zA@GzDVFeVS!$WfkJiJ$#QR!P&Eay!xGKHurJ!AFadzGkIQ%qiGii)Q&)l{vAsSaU4 z`@%HMVd{fKn3f?Cn&k+IDZW>UZ2;8@Wm;4#spp}hQ$%$lV|%aS96t#n;5r!*7CR9- zTr``&#WRoZ@|kE(L6%^hDy`G3R($5EP*YT?{-ok5RHv&_57ikE2DC0zCplDSLLyXW zArYFh5fW8==0z3&>T}Anpw6L|2Z|06)GEgIq_Zxc3jr{lhX{+E2puMxOkm=yV{$3K zB8y$Qd2<1>h3Z0SUSu`nACQR)Ho@iftGIXy*XLEShwEYp1GYf84sy6Ifke12MItm` zKuBEr0T~YH4OW2ci^{ghE~BQ0jE)i6<&5qAzPJK&1%$wMB_gbPB6QejI)RP1c$3T7 z&TPGyGgl*5)UJ`@wN^2{#dGDFKxkAtr}{zYMP*n*-=mI4h|ZAE_Zi#C z160jRI0T*_APUXP2pt}pOW@)64YR%G705;Bhf;afs>H9n%JvQlr*Wj>twuJzY3DW7 z=)w6BgaJ(p&UYM~*C7#{A0vUys0ay1ue@^AgUwGRw`_h!74Jrdu8_^o8QWK0!P7Tz z1T?=u6q+{?Iy5wvK*M>J{gv;Uc?+51^GoTyZS~^b6BTO;ssH*H{p5Hp^}U^6sY(yf zuOSR*TYw&PfPMpszPIyRB(Mh+q3b>U^@Gswm65EI-`k-RB=ZNxb{^#%{Ub!c^9~~H zN=4}K(3Hi~@Vd=u^?Z%%P46O8c;1uVpRHaz?Tm`81|IG0i;AaCu=iDM(jD^wgaPdf z(PD?_FOaAY{S^u9O+`pV@w79x0Ze~artL`opq_V<(JA8kCu57tIsPF;!1XUg*rAHh z;iB18Z<tpGCV)bHNQL)v<6%|k6`j4vhaD574K>NaVn8P&$on5%r zKmz+y5hifOHh^m_Wm;ToQ_sUir-*AP^P(pTk>kT406v;x2;5CPk!h_Fi)p~FVg32eN8 z%?nq#d zDni1Fci3A4;51e_meV*Yd7S7DIkhpiJM5`z_QWv|jYkxk2?!k`8cZPK)%P&0EmiVG ztd$~HnD&<9M5`Fj(p|Y`sJxElilqpp+iQ)31sY5yzMrVkt1A(Nok5z zihC8yG($B&uVV2Os;R2eLp2S;fX0Ptr9(9x5}}%bL}(62nCMm305Hu|j>U8Yl{`#z zhnQwDw!KRJ&c-ni%|R5Jxd>&C zs`)Gqf#*0xSU*MR@X%ZW4=o((JIB@o*j&Y=X)=>*C_6zO+~s zd#JJy25f;)&2^|cArYz^5~1lrNL2A~-e3j5^2)Zrx~b`PC^|-9OBmbXJg&eLAOyA| zBCM(+bl7M*fsJETVP$XL;M?eCDRM=vB*h-97@vHuToY&wU2BXhnwq{3q8QZbRHO%xu21LscVW}0NLqua1 zQ8asJ&vK9B$D0+%7NeEYJke_Q??{X`7mRNL$?I9J-q!J{u62@XPC8{yhA?0gMCuqv zDuhH`>l7qHb1FiT(hgUi<&9>*>on!tzI8fPy}m`)$n6Zq(F?^QzgoweGa&`Jvk+nB z6`>Y` zAZqMf6U-NpEl!t7^Kz@1>Rc0=z-rdHCZsyo6{^{zbtQxWn;=^4j@DI>h}P9egytHA z19vW%0kdnBZ<$?3RgW26BeUxnd!1{7xdBp;yActVToF2QG@c;GhZC8F)5q>-ZbFu* zeOX#JTdnxvgbFnwHo%;ruiia&zZ9^qs8SEuEf5B@E?~w1yA=`v`zjKlxeXzK#SbSU z3t)A-vMj5wQOjdRhsf#<#`fWal+B$G0MlKFu*{0kVWP^3V^9qi z0P107Sx}Eq%ey0_Lj?6GW4nEE0r-3ahj`yBLdS=e5`1t6K4favEXVrrV^rqu#mA-g zgjI{zhi$3m9jO5i$6Q-H#phe9)#LLdgaOTq&sfLjDM-ZUX(U4P3_|jW*N2@60Q$D_ zETCtp=Jh1HL_p6mjub+nms9r#XcfKNYsAx2Sif3G|C%ZInzKbl8dQn>6vs!US zQlaLc8YT*Q_l%0CKz(18dZ1o{FramTI>Ukb0VD$TG7_PA1!3HgxC|Ou0H+@+%W`^^ zTHZ=19U`aK7~3<>y8I&ufa!Hacpm^lhlwT=m^e|NbJ#5N6J!X|Po?uSs}oPuQDhKA zsT<^;&h)paey%D#L~lSC(6$gg<`De?5+QmM3H%fnLL!PM>Z%`reyI!#=xyqF9f{5m z(61QVi8@rxuW<-Gzd?kz03dXDXfA<=C*1s%^#b0=^E>2;(C?-82dfsJaJE!)NZtu& zi>Lb0A62Ud=^Y3Inir&+gY+jz1nFHQLh~L%LW)l~X9Ar5tUSxE59$2V>a#ye*JhD6LhLLxLDBP6pe&^Y_`^8w6(-zO?( z`Td7gc>L%p`F+ZGV!M7KC{>dgg8LV+Tmuo7Vi7u)Y)pbB2e0X+KK!iES|}!(YfEdW z)rto%6&i%6*XvX~)#-+*QV-xd5C*g^fV(?@!yysC5lDol1t9^((}l%W4|rc6jtLDf|D&hJzD(cl9-4`4 zK{`U3v#e&k+!q&Y(x1GMDlVQvHCq*XsOCTzumwVubExJ*B2@E`2+e$iL=`XhHCO?# zBb9A|9YswK7#$<91&r--UtED%2qCa#5Mc=xp~FVg32fZMfK~QmAQvz06bQ|+RwdrU zF!&mKYHC_dud#ntHF}_qgD{|Jfm-1}9S?~>EkYtRCmOrVOa!Y72(mo+7 zkWiMf-NR6=n@$`7O%4&3ToF1nG?qZ46K>&blShWwbW3N6)#*Rs77qGY%Rk|2_4H${ zf~xf36d?>~TW~54P5_DEEJY$TC4__%pKz)lbb6Fw>6EGC^&dJzIu*wDgoCQ-#Ub!i z5n+K9p~FLS2|OISvGa#t1*suVgz8f3vug3sZA&#d)zZ^ZY{D7n+aSwSs|RU0gaOS9 z(r5>11tfyB5{b~9h>(!tq1%}Nr<0UtIh{;3j}u)Yr;xE7x~;Z31rne-6%kfY5js>f znn1;=re@aWbYzLt8PYn_YQ1L3?@KD48k5dar5>oWAq;3;pz03P=O7WNbC3wl zDue_TPcCCET{9R<#D1zp%O;bY>WsfQ1js!|Wt7a$C1U8tUSsJ;k^9zI-#L})HY z=ukCU0IDmLm8_LdALs}XUCG!E*>Tg%RS*Kx)rhd9iqK)AIg2TJ{J`FHY^AocX0An+ z5M3v&>#bIdNQIi<8DO1L#Z$fM234AL#@q;DKah^TI1Y8psakc!Y@qRCWm;vSNY+4=6exgFU;^)+eU zVKv()gJrxAh6S78>hDd-eK1r>A-hwRd&usBFkmZ$>`M;W-H-^`JxGM+UW7!pG1@hd zC7`=cMJ&4esqL+N(m|qofU)gm+Dan~4?+lh4K}K>MQhsH656B%<~>5}|nlA*sdV zdt`&Ngl{R&;(C&5UQeS>#Pt+oJHA_O^E4!2^$a2`ry_K$Xf(l!Glkl+vUwI60`;79 zp0_&jOaVojQ%Zv38YPOSy4DM-(u4FJ2m{&{q|ib7E+m5VA`+qb9zsIWOd+lxgubr~ zOXwx)cq^cEhJ=2=IGQQI*_Uw$Jg*?aDk?&UhvpJ^xP*X53F?5aB2$Q7lirW4UcCDy zD%KR!0O#R=r{L?V*W>hK2m>}ioX&BaegcU&{S*nj5da}MY4?kJ=wOWi*3Xq|VZA{` z@9d*ng!K!?_5q;$eiO%_^%f#5sUmc=Xf#2K&qxm|6}!#b$PubvN$J;CDIVQfrYWan zZ{iJcCyJ*}y5Fc$kJE1<3}{`P4se`)2Z=cS9tpe-03kWW8>(c1r`#WvV;Q|eCGV7@ zKVg9w&l+=9;jxc#82J zsx#@M84F=R<6^wPF&+nrx@sE|c)b8ZHYdJjSOWkzUOBd(PN0%E{Lvi(+>5cjX2{>Y zaSU7&5rt+Sgbo)CCORqyKD)JhUu22Ve$v|CYQ+~;6&eJR$4JFfkS3{857Ge;2DC0n zB?sw1NCfF1B=C{}goG5|ghv)Y=@4aEN{3R*qeO>DX)VcXGVLc8Qgf7NNzJ92M~W_y)I7#^+8=p69}=KC5)s}*fY70$(F7_^`*XQY zvj7?5v`{)3s}oQAQKUJf^I5*SMmB)iKeEk<&0lFmFDBD-BbXO|% za;2W{sMWKkZt}>PwMJ&0a<(U5#ET=kag4XMA{<>9mTBp%tQd=1OpN2E09j$3%&g%y(!D1dL&=7jZF{vlVr*_~wzt^d#<4xw za$mM&YAm%;W`sd*SHK@OszcJp&#n)N(f&0qSLxw5sani3(II=%-+dd0T-sFKFXsl}7Yg zw#5%7`cvajvsnq7h1SeEQH#upJVw_%No_g2Ftf1hqQWkV3bx~qUes3@Giy!P&rfFI zi37LSgvdlMJp~bVzpA<|GedA8rnBg!eVsw%{b?$4x-HT^+xPx}*8GZId~(J5*v`Ig z^p3IYc9U9nz!G(_Tx3_JD+eYW&ewAX@6Zpf@R>qu;G8={rUrIyE$7^sCBs@?EVx z*_^4=#`XUca_sE6(jVB_^_{clp%9#1EgR;16ov;EAi_pnRc}3DgRKX9;TAfWg(q9~ zC;pBsJQzHQpR5cDMwJi-Rg$0|zj4&68jLE*e$47>>z zGT<*}2OHszCpeHnodLhx9Bj>CZ5$SE4Y=Pg*oDFQEPfROZK>%9I#}yhSnJ7wfvv*k z!ANTI#cIJ^2E1brE~IR4)^HIUq%WBNIp8-IgWD-Mm(^5xcnRU&N(=n4n_wa{&Y@z3 zGG2Ov6L=W%aC_=~4F39h&_cE8Oz~|3K`V24r3+@!IOk8n7BqAkHM*I*8_V6m zTyDM%xQ#0~gBeq3V+1q!8`42LWrs0$8y=oYwf&gl`dP3u%jvzNuLS%dyMX%&gI!q# z?^T1%DdXZ%@DgQw`)0t`w+2tM3jU;0z*pS{MFz(+*qH&}sT@pTumywH*lKQl4gSSi zM$(-lnc|P01c$K5wJdT4Wy^SY34%gT&_W%q90&aEaCc%{27Nr~K*%ctsu+?vYIbda z)BFk*8Teed*_{hlq7cpnSB<#}$LRi7Bf=98)nL0n&8qwRS1w%sm*jEbx)ud+;kr(m z*IUi@nP?tvD?6sztNWzHeNDqbpZ%hP8<6mZk=6 znU;7e&}D9bg;{I#yPX+k8)9xm2Cr9NViPjMpwefG<|Z7q?~K;0mL>CLRZT&t5 z&bP0!@<2ZE_ID6n_;4Ev2b?D*eYhQxLW_L3Bjv-_kQtgg5YmU4kq^^n95ry`qfatw z$Ffol-|y-gm(S;FKIvc2O&M{h&(&2vZD1U%})n*uz@fq#^W%PU6HNHtyAiSmAE6XwPB8H zr?~y8ahRhH@bTS8>(<``k{{pyTsbJ*kJV9BAXZt_xv9(HWT&dW* z&$w>WmM^#U)o`EC)|KtS=G?Bn-o9e3ZGK_uKz;g~v}v6k-|s92xYex^9zTXU0^YDB zJ$@XL!bo|1Ps-ybkckIu2R$m64U8*;>gd2=NeK4$1-V0h2yH4@qG|`RIPLxc|EG0y6R44up+9PS$-Y_JHd?b&uAg?Tu>d zgmHW7v+VDyjbin)uo<&a!biJcH}5n67czdYjfb209O4WBt~-Z6oI*S_7!VlOLgc(1Rf9 z$?K35)|Dsj%{=|L3$Vu0l{H-)c8MM=?xN-#~;P> z$eVxyQ`~0Yrqyq%vbStyTD`>jcT$Uuo>0^euXFa05=AOD+9i&J($LJM++psmE!NLqBf?)Un`H>JkYKG@1-$t zqn~z-{sRi3(cJDbK&|GF$VS`WL4-FdsY2U!Hp;fW#I~0SeiPo=4B_W+F<=+o3iuMM z;B89xWvUA)|Bj-T&v6N-#k`9OaZB-@Ed9CPQen-))`456ib|XJkJ)v0xAsspi4q-;r+HY{m?z`){8sBrZ7Hh3op~a)PI+m9@ zSGGnsbseo32aws4U6w7DvYn-TYXJ+klUf(EvU0Zd!0uuxKWW^!HvC)amUSC0z6USv zNHH4`H`uI+CX(A)YHFHWi~AJUR)LA_9N_;~U(8S_gX%Cup;<>YZTbJHCb&YheVu-P zib1xR;V6KQV1$gdM8q;Y5HZLtI!7W8WT&`a1E;=YALE1DzJL14^NH?uZDl znL@|`g7;3zlZun>Lble5TO#z+R;036gRbRUF<)sd)_1M7*oEj?aY;E_YRz$SW^h{9 zTgQxXZ&e*L23IL>xLlj9FgvrU_&9fw{nS|>zprIi?V!>e_Kp8@c_iuFQ$rY4Lvr((Hjs(f7t83e7lK*z*6>0zMs5O?MSMDXNs0w3s&J zqO5KsDmxG%N9Jxle=rA0crZeZy3sP_B6A2N0f)?NEwe#wWlv|N)ZwbDnM09*%>W29 zxD#x6kSarmDR&BUH}Oc@N^$xOy@WqtS+59EuA3day-->mqn`mgvQ!C zqS}cV&tw6fbIGj&HiTRjGoIMK8_tO|7d+n{5J(nE0MdyFzt)P-0bv6?AVCs9mvr*6 z4nDeW9jq>ZyLRQ|5gExVhqS& zIrP9_1)|WbMCcf>4TCc{Q938ZI$&_J4px`JJwAgF>W;xFs{Pc)+E0sW_ZhGuWNeg1Q57 zu4+H8vG(($+Ij1;0 zI#^u{_xTvU0Ck7qi>m#y#@a8BYWFd)A;fS6?i14!t2ptACV{i=j zO6R^<2N>?x!Rlgo(8urq)E$NgRr^DYwSPUT-N(R&5W~ZaC${tUJl#LEPCX!kN1z4- zk0QcTIfM=Yn=mkfJSW_}6~nEA-$bdonc>B*Xw%_iIL4+!JPPZdM%T>akS;P$Ak2(( zGh{n={uX5TAzJ2afM-8NgN4QpJ4>vYr=<2YGl$pmb^H{?lA3u2hYeHXZrtzSU3t9FnlEoDV*lj} z$eWv4&vfUYfQ^}brewYYS!Nse^ol$8YvYRfdbiyUfX7vB=DRF10#o{2o_5TOI9`R# zo%vq6YWGXl%=c9JDBL0ydpn{HeKqraNk`TzH0j#-5-S{vrzd8m`2o`-OWE?0KI{>N zVprb0Oxc>)p!o_DBf78%h@Bcez2=8FrUUwrI&=$QUWIHHZbRT|4Iu62(brV4rI0Pv zqhdc|v7wofQTs~SS`9>AXSsl@rE@de;8U-d4zQ|p;RETghXpJ+mXQ20N@g~o4>jl( zqP@-LCln9u%6IlHF+XKxnGNzioq6_}m8E>GkjG0@e+K!vnQigNzqha6tp1;~BHmyY zb9M6u4@Ppex!l*&v4VGt<`SIR-UskLY>lI^uE9s`WQYE{zBj1Cy+Ky}&ehW#^e}~Lf znQh@}PkgW1-;+9OcnX;}zek~SGi&9`%gi5CnRUFkmhbC=m)MT`M~OGU_RI?Uvc3m~ zwV#@KNAitGuh!S8_3((wpH%0%_Fl1r=Zkq)g-7v}Xz0uDNxHuGiJ3n`oEd80xA;EO zEm2iGkv_0B70ZnuviS>(jgZP%EKZrf@_7A@u40Xg*XZto_&4c}z+lshRuos5zq1%m zx@>31@?uxLVEzHgtl^na$xdqi$$~@eTQ5IkdL6f;`d>KGgNw}i*fWJaBz2yZU|To; zM%Jp#h-iTwAJ<0^%*~8a*XjrPv83zOda#bxQSHM@S5dz0%Q-Y%MCUS?n@vGcgM1L*qw36vA^eTidfgZ+}st2DJ4;M=lx*hM@>fr06rz z2~sobK)5Kgna-9XHg6j~Ey6j>Pp``iNA9Z3x+c3k7L9<2*9ozV$MzQ1-Pf7f)L&=8 zsf8Ww>r!b*W-ab!Uk_<4vm+d>9Vh|!&*+ho)-JU}Ea1*J?XwEF157(|0`4}_I&82l zNNcZBz`a%4)e&%aik>J3d@inM=>c~EXy-t{Jr8{qNtyXxg_TIDt9* zOtbFS@ATVq?P$&re0aghY}YSYD+9F{qfn{X8N7*RS^s(}wZg~k=)y!5eZyB@uN4hz zhc7Y-MzS&nY8|)m)v~=^!OvYADwz7@_*)+OB@G$tfdiFta4{KVsm?$-c3nbm0ka=) zWqIBNOV}!PZT8Vp@DUY&s0J7FdHlcGRt6%8tDk=2SG>5G5VX)|WDhCjyY-7%@&VsKS(*)Qp&FVz1U+DR zFrJO#yAx{_(^)B(^L^!_ZmMvq?#7bz7A5gv>zk*lXl1cGUkqNR-xFM*f_?gRas9k^ za0GJ{?1I(=3XY|Wfj%PlbrJn~x+=yO2k>d%67;bg1Hq}{9Wa=%H@2Zq)PqDWalnFoTp-Y0N zc*JuK_gVO!d9WVR?z2Fv>UyU~{L$?boX7I`e@Lx3L9Z;-s1k1n(X07%mSgzg?S3sd zjOR@}7g3#jRgVUUT3@gLmFWxQ3e*&h&dY;7`hk-0-@bWJKO3rVWh&?^wBjil)=)Ok uYza@55)Z8G<at>cbcRqVGA@%!Vkv$ZUjAkJ~vf+!zP=IzK|}mi>RAD~A&R literal 65136 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 XVzW6yJ*elra0?vZEBpwtW%mC82yk{# literal 65132 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 diff --git a/documentation/_build/doctrees/Oroshi/Oroshi.doctree b/documentation/_build/doctrees/Oroshi/Oroshi.doctree index 9c1e2ca15ada742c1c5eb98faf84621f2eba635f..52400fce42c02040069756348a22a679c123fff0 100644 GIT binary patch literal 64665 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 JC?r+~{y(@aoreGb literal 64340 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 K?hR6=5cnUa9gt-J literal 70559 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 Q1K=BKytaB%R9OT52Q5B8i~s-t diff --git a/documentation/_build/doctrees/PythonCpp/DBoHierarchy.doctree b/documentation/_build/doctrees/PythonCpp/DBoHierarchy.doctree index 630f5c4e9974179fe6dbfc59a96c797f09d5b39f..72fae864c5e6a1b84dfc695ddec28de0a8f83998 100644 GIT binary patch literal 117112 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 QVdd?3spvZp!X)bd0Krz$@&Et; literal 116812 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 diff --git a/documentation/_build/doctrees/PythonCpp/DBoStandalone.doctree b/documentation/_build/doctrees/PythonCpp/DBoStandalone.doctree index b6c64869582a6631f3623913f93265bc43e984a4..5df1c220ab70ed91200fb4769165cb2b783a0365 100644 GIT binary patch literal 137844 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%0DUEjUFxI;0 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 L=P8o|a8LYyn2Lo5 literal 137544 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 Aod5s; literal 98871 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 diff --git a/documentation/_build/doctrees/PythonTutorial/Collections.doctree b/documentation/_build/doctrees/PythonTutorial/Collections.doctree index dae5807d25ce916305860e7488e9d19ca72f452c..1b2058ae9be0c474b17b075079d8894963a30a8f 100644 GIT binary patch literal 101043 zcmdR%cYGYh`Tq^Z#umMII7~Cfl5AreFxAKv%eHL!umBtRbUNv7eY(@lom_yWLrm`w zdI?_@do{`2z-X6BxmXP$Z9J3Bi&JG(k^ zntd#YH&pIxb3siv^fjz<+%b_@N7#s}vTU8&O2?o_d`idz^kv}HiQ ze*LnEr72YyxU6Lp{1{y~GM4U9Dw9m)Qn6${n@uH4nS8ETSan9rYABFb8C05}tT1R< z%ccV^v&gW39FnF1m=+0;Gqh?u44T`HgnwjhDPP7+RTh=lN zk~CVRa;Z{b^<^!C@jH_%mJ+!nTDiuumRbnL){QFHkAlTmBG(Qxxg1*uo27iLthDB` zmK~uq8cNxGqTOp#Dw~Zh&Xm%zL^hjY?Hvj*7U$K%!df$0`a_|;t*5ZI*WheVXR)x3 zZg4)C1d$X}3hORw8Hkc;P|Oqy>*?kj%Z2rI`BFZgP31Z>xl~~TT>>pFC6c9LVMDJ( zDw)pZv-!@Yg^e`BQQ%%mr~Jmn%B|aYnSd{2D;73c*0Ktkk%Ui$O_#N7fHbJ2mXv@o zk@fKx3!5!#S(OE~{lezU#8IN(LZj|bsZ@9S!qH<2TP|za3`G;&i6q*Q%_LK~VrqD7 zQA!nYtYf3jV_-} zpsl0QrLJsYTV18!}p zwZ&AC%`NPpp)Jg17LscbM{B65Io6fPWx9LN3aJVZi^F4qUgdS(Vqr(!FFHC^VVLJB zI{8A~n|IO@9)m@h)MEHPTuah8MGhhGY@v2p%Q|El>2Y<-TDCw&_tH{2pQ}&CKorh) zq@0%8aQ)Ll&Y-#)?Um=`O`oPcD~e%ccMn zN4ql}OLmqDyLuSRDPJt?W+Z0pD2&r5)zW-%X|b@o_Np6aSYeN4J@IvlJ#EEOri4Ku zpKEPTbrcJGx`n-lN)MmdG_kR;w>`Ak8kt;%$~A?3Fw%{83;SZEQ;EgJe2>C8+t9Kr zys4{;9md)Yi&g)pQr+1^GBs{oY+NxpZb7O$m0b`Y*qy*pDHSH9SB?+#s+?%I2%4ai zNn+%!DNJfv4+c}EWIep`+E%Pn#ZqDNaYq%VxP_^0@l{KSP7cO}{o)%{ai=gXUXv)H z|F_}HDi#{u!t|l>LG3-=)GHQd%#W{{%qEKH@r9Z5hd$u`p|X ze1I-Gdw!ugy?3G~zDkyZ(wu3#pdRn?P>92?LCJI`+YUDi`_C`TwVli4s8&;G0o?=K z!hu864Kk3IA*Io{gNCMO%ummpUzitPxtJ`>Po$gXr)SMi&z|3to{%1&M$HG?HP6A2 zRa0n{LrvO+1pt(A3vDnF?+3L5dfF1{{o(_46ADTE>}iuBErs!k15SII2R-E$I@qkq z-jVils~+sYkw!

  1. Complete Design Flow & Examples
  2. @@ -105,14 +106,8 @@
  3. Coriolis Configuration & Initialisation
  4. CGT - The Graphical Interface
      @@ -391,11 +386,6 @@
  5. -
  6. Configuration & Technonology -
  7. Hurricane Reference
  8. Viewer Reference
  9. CRL Core Reference
  10. @@ -533,7 +523,7 @@ available here: Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -542,7 +532,7 @@ available here: Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/ConfigurationTechnology/Architecture.html b/documentation/_build/html/ConfigurationTechnology/Architecture.html deleted file mode 100644 index b2e7344d..00000000 --- a/documentation/_build/html/ConfigurationTechnology/Architecture.html +++ /dev/null @@ -1,645 +0,0 @@ - - - - - - - - - - - 1. Configuration File Workings — Coriolis 2 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    -
    - -
    -
    -
    - -
    -

    1. Configuration File Workings¶

    -

    Coriolis do not have any dedicated file format for it’s configuration files. -Instead, configuration files are Python scripts that are expected to provides -a set of variables with specific contents. For example, .coriolis2/techno.py -must provide a technology variable and optionaly a NdaDirectory variable. -So, it’s simplest form is:

    -
    technology = '45/freepdk_45'
    -
    -
    -

    A more complex case could be:

    -
    Ndadirectory = '/home/crypted'
    -technology   = '45/freepdk_45'
    -
    -
    -

    And lastly, taking full advantage of the Python langage:

    -
    import os.path
    -import socket
    -
    -hostname = socket.gethostname()
    -if hostname.startswith('local-computer'):
    -  NdaDirectory = '/home/crypted'
    -  if not os.path.isdir(NdaDirectory):
    -    print '[ERROR] You forgot to mount the NDA encrypted directory, stupid!'
    -else:
    -  NdaDirectory = '/network/techno/'
    -
    -technology = '45/freepdk_45'
    -
    -
    -

    In this script, we choose the value of NdaDirectory according the computer’s -hostname and when using the local filesystem we check if the directory exist.

    -

    A second kind of example is .coriolis2/settings.py. It must provides a -variable parametersTable which is tuple of variable settings. Each element -of the tuple is itself a tuple of three elements (variable_name, type, value)

    -
    parametersTable = \
    -    ( ('misc.catchCore'    , TypeBool, False   )
    -    , ('misc.logMode'      , TypeBool, False   )
    -    , ('misc.verboseLevel1', TypeBool, True    )
    -    , ('misc.verboseLevel2', TypeBool, True    )
    -    )
    -
    -
    -
    -
    -

    2. Directory Tree Structure¶

    -

    Depending if Coriolis is installed in the system or in a separate tree, -the configuration can be rooted in :

    -
    /etc/coriolis2                # System install.
    -<CORIOLIS_TOP>/etc/coriolis2  # Separate tree install.
    -
    -
    -
    - - -
    -
    - - - - -
    - -
    - - - - - -
    - Generated by Sphinx - using a RTD theme on May 27, 2019. -
    - - - - - -
    Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. -
    -
    - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/documentation/_build/html/ConfigurationTechnology/index.html b/documentation/_build/html/ConfigurationTechnology/index.html deleted file mode 100644 index 8c398747..00000000 --- a/documentation/_build/html/ConfigurationTechnology/index.html +++ /dev/null @@ -1,599 +0,0 @@ - - - - - - - - - - - Configuration & Technonology — Coriolis 2 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    -
    -
      -
    • Docs »
    • - -
    • Configuration & Technonology
    • -
    • - - - -
    • -
    -
    -
    -
    - -
    -

    Configuration & Technonology¶

    -

    Printable version of this document ConfigurationTechnology.pdf.

    - -
    - - -
    -
    - - - - -
    - -
    - - - - - -
    - Generated by Sphinx - using a RTD theme on May 27, 2019. -
    - - - - - -
    Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. -
    -
    - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/documentation/_build/html/ConfigurationTechnology/pdfHeader.html b/documentation/_build/html/ConfigurationTechnology/pdfHeader.html deleted file mode 100644 index 39270199..00000000 --- a/documentation/_build/html/ConfigurationTechnology/pdfHeader.html +++ /dev/null @@ -1,589 +0,0 @@ - - - - - - - - - - - Configuration & Technology — Coriolis 2 documentation - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    - - - - -
    - - - - - - -
    -
    -
    -
      -
    • Docs »
    • - -
    • Configuration & Technology
    • -
    • - - - -
    • -
    -
    -
    -
    - - - - -
    -
    - - -
    - -
    - - - - - -
    - Generated by Sphinx - using a RTD theme on May 27, 2019. -
    - - - - - -
    Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. -
    -
    - -
    - -
    -
    - -
    - -
    - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/documentation/_build/html/Contents.html b/documentation/_build/html/Contents.html index f53f1835..94e1d61e 100644 --- a/documentation/_build/html/Contents.html +++ b/documentation/_build/html/Contents.html @@ -83,6 +83,7 @@
  11. Release v2.1
  12. Release v2.2
  13. Release v2.3
  14. +
  15. Release v2.4
  16. Complete Design Flow & Examples
  17. @@ -103,14 +104,8 @@
  18. Coriolis Configuration & Initialisation
  19. CGT - The Graphical Interface
      @@ -389,11 +384,6 @@
  20. -
  21. Configuration & Technonology -
  22. Hurricane Reference
  23. Viewer Reference
  24. CRL Core Reference
  25. @@ -518,6 +508,7 @@
  26. Release v2.1
  27. Release v2.2
  28. Release v2.3
  29. +
  30. Release v2.4
  31. Complete Design Flow & Examples
  32. @@ -538,14 +529,8 @@
  33. Coriolis Configuration & Initialisation
  34. CGT - The Graphical Interface
      @@ -1134,7 +1119,7 @@ Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -1143,7 +1128,7 @@ Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/CrlCore/CrlCore.html b/documentation/_build/html/CrlCore/CrlCore.html index c526c6a5..27abcbcb 100644 --- a/documentation/_build/html/CrlCore/CrlCore.html +++ b/documentation/_build/html/CrlCore/CrlCore.html @@ -85,6 +85,7 @@
    • Release v2.1
    • Release v2.2
    • Release v2.3
    • +
    • Release v2.4
  35. Complete Design Flow & Examples
  36. @@ -105,14 +106,8 @@
  37. Coriolis Configuration & Initialisation
  38. CGT - The Graphical Interface
      @@ -391,11 +386,6 @@
  39. -
  40. Configuration & Technonology -
  41. Hurricane Reference
  42. Viewer Reference
  43. CRL Core Reference
  44. @@ -533,7 +523,7 @@ available here: Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -542,7 +532,7 @@ available here: Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/Hurricane/Hurricane.html b/documentation/_build/html/Hurricane/Hurricane.html index 7814013e..70db66f2 100644 --- a/documentation/_build/html/Hurricane/Hurricane.html +++ b/documentation/_build/html/Hurricane/Hurricane.html @@ -35,7 +35,7 @@ - + @@ -85,6 +85,7 @@
  45. Release v2.1
  46. Release v2.2
  47. Release v2.3
  48. +
  49. Release v2.4
  50. Complete Design Flow & Examples
  51. @@ -105,14 +106,8 @@
  52. Coriolis Configuration & Initialisation
  53. CGT - The Graphical Interface
      @@ -391,11 +386,6 @@
  54. -
  55. Configuration & Technonology -
  56. Hurricane Reference
  57. Viewer Reference
  58. CRL Core Reference
  59. @@ -521,7 +511,7 @@ available here: Next - Previous + Previous @@ -533,7 +523,7 @@ available here: Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -542,7 +532,7 @@ available here: Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/Katabatic/Katabatic.html b/documentation/_build/html/Katabatic/Katabatic.html index cd84e8e1..58dbd4ac 100644 --- a/documentation/_build/html/Katabatic/Katabatic.html +++ b/documentation/_build/html/Katabatic/Katabatic.html @@ -85,6 +85,7 @@
  60. Release v2.1
  61. Release v2.2
  62. Release v2.3
  63. +
  64. Release v2.4
  65. Complete Design Flow & Examples
  66. @@ -105,14 +106,8 @@
  67. Coriolis Configuration & Initialisation
  68. CGT - The Graphical Interface
      @@ -391,11 +386,6 @@
  69. -
  70. Configuration & Technonology -
  71. Hurricane Reference
  72. Viewer Reference
  73. CRL Core Reference
  74. @@ -538,7 +528,7 @@ mixed signal conterpart Anabatic.

    Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -547,7 +537,7 @@ mixed signal conterpart Anabatic.

    Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/Kite/Kite.html b/documentation/_build/html/Kite/Kite.html index 826d081b..5f2ddca3 100644 --- a/documentation/_build/html/Kite/Kite.html +++ b/documentation/_build/html/Kite/Kite.html @@ -85,6 +85,7 @@
  75. Release v2.1
  76. Release v2.2
  77. Release v2.3
  78. +
  79. Release v2.4
  80. Complete Design Flow & Examples
  81. @@ -105,14 +106,8 @@
  82. Coriolis Configuration & Initialisation
  83. CGT - The Graphical Interface
      @@ -391,11 +386,6 @@
  84. -
  85. Configuration & Technonology -
  86. Hurricane Reference
  87. Viewer Reference
  88. CRL Core Reference
  89. @@ -538,7 +528,7 @@ mixed-signal conterpart Katana (Kit[e]-Ana[logic]).

    Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -547,7 +537,7 @@ mixed-signal conterpart Katana (Kit[e]-Ana[logic]).

    Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/Oroshi/Oroshi.html b/documentation/_build/html/Oroshi/Oroshi.html index 6e868c92..f41f6a83 100644 --- a/documentation/_build/html/Oroshi/Oroshi.html +++ b/documentation/_build/html/Oroshi/Oroshi.html @@ -85,6 +85,7 @@
  90. Release v2.1
  91. Release v2.2
  92. Release v2.3
  93. +
  94. Release v2.4
  95. Complete Design Flow & Examples
  96. @@ -105,14 +106,8 @@
  97. Coriolis Configuration & Initialisation
  98. CGT - The Graphical Interface
      @@ -391,11 +386,6 @@
  99. -
  100. Configuration & Technonology -
  101. Hurricane Reference
  102. Viewer Reference
  103. CRL Core Reference
  104. @@ -533,7 +523,7 @@ available here: Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -542,7 +532,7 @@ available here: Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/PythonCpp/Configuration.html b/documentation/_build/html/PythonCpp/Configuration.html index 3a0f73e2..31827a53 100644 --- a/documentation/_build/html/PythonCpp/Configuration.html +++ b/documentation/_build/html/PythonCpp/Configuration.html @@ -86,6 +86,7 @@
  105. Release v2.1
  106. Release v2.2
  107. Release v2.3
  108. +
  109. Release v2.4
  110. Complete Design Flow & Examples
  111. @@ -106,14 +107,8 @@
  112. Coriolis Configuration & Initialisation
  113. CGT - The Graphical Interface
      @@ -392,11 +387,6 @@
  114. -
  115. Configuration & Technonology -
  116. Hurricane Reference
  117. Viewer Reference
  118. CRL Core Reference
  119. @@ -566,7 +556,7 @@ associated C++ namespace. Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -575,7 +565,7 @@ associated C++ namespace. Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/PythonCpp/DBoHierarchy.html b/documentation/_build/html/PythonCpp/DBoHierarchy.html index fcc2f829..6cf9e5d3 100644 --- a/documentation/_build/html/PythonCpp/DBoHierarchy.html +++ b/documentation/_build/html/PythonCpp/DBoHierarchy.html @@ -86,6 +86,7 @@
  120. Release v2.1
  121. Release v2.2
  122. Release v2.3
  123. +
  124. Release v2.4
  125. Complete Design Flow & Examples
  126. @@ -106,14 +107,8 @@
  127. Coriolis Configuration & Initialisation
  128. CGT - The Graphical Interface
      @@ -392,11 +387,6 @@
  129. -
  130. Configuration & Technonology -
  131. Hurricane Reference
  132. Viewer Reference
  133. CRL Core Reference
  134. @@ -938,7 +928,7 @@ terminal or not. Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -947,7 +937,7 @@ terminal or not. Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/PythonCpp/DBoStandalone.html b/documentation/_build/html/PythonCpp/DBoStandalone.html index cd819245..e30b817e 100644 --- a/documentation/_build/html/PythonCpp/DBoStandalone.html +++ b/documentation/_build/html/PythonCpp/DBoStandalone.html @@ -86,6 +86,7 @@
  135. Release v2.1
  136. Release v2.2
  137. Release v2.3
  138. +
  139. Release v2.4
  140. Complete Design Flow & Examples
  141. @@ -106,14 +107,8 @@
  142. Coriolis Configuration & Initialisation
  143. CGT - The Graphical Interface
      @@ -392,11 +387,6 @@
  144. -
  145. Configuration & Technonology -
  146. Hurricane Reference
  147. Viewer Reference
  148. CRL Core Reference
  149. @@ -868,7 +858,7 @@ the module itself. This allow to mimic closely the C++ syntax:

    Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -877,7 +867,7 @@ the module itself. This allow to mimic closely the C++ syntax:

    Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/PythonCpp/DbU.html b/documentation/_build/html/PythonCpp/DbU.html index 5354172c..9dd4f58a 100644 --- a/documentation/_build/html/PythonCpp/DbU.html +++ b/documentation/_build/html/PythonCpp/DbU.html @@ -86,6 +86,7 @@
  150. Release v2.1
  151. Release v2.2
  152. Release v2.3
  153. +
  154. Release v2.4
  155. Complete Design Flow & Examples
  156. @@ -106,14 +107,8 @@
  157. Coriolis Configuration & Initialisation
  158. CGT - The Graphical Interface
      @@ -392,11 +387,6 @@
  159. -
  160. Configuration & Technonology -
  161. Hurricane Reference
  162. Viewer Reference
  163. CRL Core Reference
  164. @@ -582,7 +572,7 @@ the DbU::Unit  Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -591,7 +581,7 @@ the DbU::Unit  Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/PythonCpp/Introduction.html b/documentation/_build/html/PythonCpp/Introduction.html index b75cd40f..a5291d67 100644 --- a/documentation/_build/html/PythonCpp/Introduction.html +++ b/documentation/_build/html/PythonCpp/Introduction.html @@ -86,6 +86,7 @@
  165. Release v2.1
  166. Release v2.2
  167. Release v2.3
  168. +
  169. Release v2.4
  170. Complete Design Flow & Examples
  171. @@ -106,14 +107,8 @@
  172. Coriolis Configuration & Initialisation
  173. CGT - The Graphical Interface
      @@ -392,11 +387,6 @@
  174. -
  175. Configuration & Technonology -
  176. Hurricane Reference
  177. Viewer Reference
  178. CRL Core Reference
  179. @@ -696,7 +686,7 @@ like in the code below:

    Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -705,7 +695,7 @@ like in the code below:

    Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/PythonCpp/Name.html b/documentation/_build/html/PythonCpp/Name.html index 9369a1b6..639d6d7f 100644 --- a/documentation/_build/html/PythonCpp/Name.html +++ b/documentation/_build/html/PythonCpp/Name.html @@ -86,6 +86,7 @@
  180. Release v2.1
  181. Release v2.2
  182. Release v2.3
  183. +
  184. Release v2.4
  185. Complete Design Flow & Examples
  186. @@ -106,14 +107,8 @@
  187. Coriolis Configuration & Initialisation
  188. CGT - The Graphical Interface
      @@ -392,11 +387,6 @@
  189. -
  190. Configuration & Technonology -
  191. Hurricane Reference
  192. Viewer Reference
  193. CRL Core Reference
  194. @@ -535,7 +525,7 @@ Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -544,7 +534,7 @@ Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/PythonCpp/NonDBo.html b/documentation/_build/html/PythonCpp/NonDBo.html index 2a72a3ef..a2ab3505 100644 --- a/documentation/_build/html/PythonCpp/NonDBo.html +++ b/documentation/_build/html/PythonCpp/NonDBo.html @@ -86,6 +86,7 @@
  195. Release v2.1
  196. Release v2.2
  197. Release v2.3
  198. +
  199. Release v2.4
  200. Complete Design Flow & Examples
  201. @@ -106,14 +107,8 @@
  202. Coriolis Configuration & Initialisation
  203. CGT - The Graphical Interface
      @@ -392,11 +387,6 @@
  204. -
  205. Configuration & Technonology -
  206. Hurricane Reference
  207. Viewer Reference
  208. CRL Core Reference
  209. @@ -685,7 +675,7 @@ a standalone DBo Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -694,7 +684,7 @@ a standalone DBo Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/PythonCpp/index.html b/documentation/_build/html/PythonCpp/index.html index 82106406..f189eba1 100644 --- a/documentation/_build/html/PythonCpp/index.html +++ b/documentation/_build/html/PythonCpp/index.html @@ -85,6 +85,7 @@
  210. Release v2.1
  211. Release v2.2
  212. Release v2.3
  213. +
  214. Release v2.4
  215. Complete Design Flow & Examples
  216. @@ -105,14 +106,8 @@
  217. Coriolis Configuration & Initialisation
  218. CGT - The Graphical Interface
      @@ -391,11 +386,6 @@
  219. -
  220. Configuration & Technonology -
  221. Hurricane Reference
  222. Viewer Reference
  223. CRL Core Reference
  224. @@ -567,7 +557,7 @@ Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -576,7 +566,7 @@ Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/PythonTutorial/AdvancedTopics.html b/documentation/_build/html/PythonTutorial/AdvancedTopics.html index 85f75646..9697d9f8 100644 --- a/documentation/_build/html/PythonTutorial/AdvancedTopics.html +++ b/documentation/_build/html/PythonTutorial/AdvancedTopics.html @@ -86,6 +86,7 @@
  225. Release v2.1
  226. Release v2.2
  227. Release v2.3
  228. +
  229. Release v2.4
  230. Complete Design Flow & Examples
  231. @@ -106,14 +107,8 @@
  232. Coriolis Configuration & Initialisation
  233. CGT - The Graphical Interface
      @@ -392,11 +387,6 @@
  234. -
  235. Configuration & Technonology -
  236. Hurricane Reference
  237. Viewer Reference
  238. CRL Core Reference
  239. @@ -524,7 +514,7 @@ hierarchical levels,

    9.3 HyperNets¶

    -

    This class is part of the virtual flattening mechanisms, it allows to +

    This class is part of the virtual flattening mechanism, it allows to go through all the components of a trans-hierarchical net.

    @@ -554,7 +544,7 @@ go through all the components of a trans-hierarchical net.

    Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -563,7 +553,7 @@ go through all the components of a trans-hierarchical net.

    Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/PythonTutorial/CellNetComponent.html b/documentation/_build/html/PythonTutorial/CellNetComponent.html index e1d49ee3..aaeb22fd 100644 --- a/documentation/_build/html/PythonTutorial/CellNetComponent.html +++ b/documentation/_build/html/PythonTutorial/CellNetComponent.html @@ -86,6 +86,7 @@
  240. Release v2.1
  241. Release v2.2
  242. Release v2.3
  243. +
  244. Release v2.4
  245. Complete Design Flow & Examples
  246. @@ -106,14 +107,8 @@
  247. Coriolis Configuration & Initialisation
  248. CGT - The Graphical Interface
      @@ -392,11 +387,6 @@
  249. -
  250. Configuration & Technonology -
  251. Hurricane Reference
  252. Viewer Reference
  253. CRL Core Reference
  254. @@ -845,7 +835,7 @@ explanation of that part of the code, refer to Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -854,7 +844,7 @@ explanation of that part of the code, refer to Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/PythonTutorial/CgtScript.html b/documentation/_build/html/PythonTutorial/CgtScript.html index d112035a..be1cdfdb 100644 --- a/documentation/_build/html/PythonTutorial/CgtScript.html +++ b/documentation/_build/html/PythonTutorial/CgtScript.html @@ -86,6 +86,7 @@
  255. Release v2.1
  256. Release v2.2
  257. Release v2.3
  258. +
  259. Release v2.4
  260. Complete Design Flow & Examples
  261. @@ -106,14 +107,8 @@
  262. Coriolis Configuration & Initialisation
  263. CGT - The Graphical Interface
      @@ -392,11 +387,6 @@
  264. -
  265. Configuration & Technonology -
  266. Hurricane Reference
  267. Viewer Reference
  268. CRL Core Reference
  269. @@ -515,7 +505,7 @@ But, for debugging purpose it may be helpful to run it through the interactive layout viewer cgt.

    For cgt to be able to run your script, you must add to your script -file a function named ScriptMain(), which takes a dictionnary +file a function named ScriptMain(), which takes a dictionary as sole argument (**kw). The kw dictionary contains, in particular, the CellViewer object we are running under with the keyword editor. You can then load your cell into the viewer @@ -570,7 +560,7 @@ function. To be able to see exactly what has just been mofied, we must close the UpdateSession just before calling the breakpoint and reopen it just after. The Breakpoint.stop() function takes two arguments:

      -
    1. The level above witch it will be active.
    2. +
    3. The level above which it will be active.
    4. An informative message about the purpose of the breakpoint.

    We can create a little function to ease the work:

    @@ -604,7 +594,7 @@ The Breakpoint.stop() Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -613,7 +603,7 @@ The Breakpoint.stop() Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/PythonTutorial/Collections.html b/documentation/_build/html/PythonTutorial/Collections.html index cffa69f7..521a2226 100644 --- a/documentation/_build/html/PythonTutorial/Collections.html +++ b/documentation/_build/html/PythonTutorial/Collections.html @@ -86,6 +86,7 @@
  270. Release v2.1
  271. Release v2.2
  272. Release v2.3
  273. +
  274. Release v2.4
  275. Complete Design Flow & Examples
  276. @@ -106,14 +107,8 @@
  277. Coriolis Configuration & Initialisation
  278. CGT - The Graphical Interface
      @@ -392,11 +387,6 @@
  279. -
  280. Configuration & Technonology -
  281. Hurricane Reference
  282. Viewer Reference
  283. CRL Core Reference
  284. @@ -517,7 +507,7 @@

    In Hurricane all kind of set of objects, whether organized in a real container like a map<> (dictionary / dict) or a vector<> (table / list) or an algorithmic walkthrough of the database can be accessed through a Collection.

    -

    C++ Collections object are exposed in Python through the iterable protocol, +

    C++ Collections objects are exposed in Python through the iterable protocol, allowing to simply write:

    for net in cell.getNets():
       print 'Components of', net
    @@ -573,8 +563,8 @@ requested name.

    Note

    It means that if cells with the same name exist in different libraries, only the one in the first library will be ever used. -Be also weary of cell files that may remain in the WORK_LIB, -they may unexpectedly shadow cells from the libraries.

    +Be also aware that cell files that may remain in the WORK_LIB, +may unexpectedly shadow cells from the libraries.

    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 Me2g;L50AwE2c29VTmS$7 diff --git a/documentation/_build/doctrees/PythonCpp/DbU.doctree b/documentation/_build/doctrees/PythonCpp/DbU.doctree index 5b688c0d4e7d0b2aaad2cf2d1ab70e9fb11709e8..72669fef63cca44fc3ba37656a6cb952af9ccab2 100644 GIT binary patch literal 70651 zcmeFa2Y4Js_U>&AP68W~O&$yw+t`wAL=w^2#FOD+_kX|V`=00C>j$d3Pn}bz&Tp!_ ztE;P9NA!<(WaGs`DxI&*WIGc18t!%{GKHGlYGaPf^>=ftkB$z>#JUrO-kwB0w}zV= zFuJ9tU%!6s*%c9$Efx|gH*jUkKuD5MO67BdR<;bnUPpFCZ&xCd8@y7~)3HKg#iV4R zJDnS{vSk1idb9c7e6D6?%bM6(nn^8<6q1QNDp+%6%cc;;dSdZpB9czU6PbKsTx3~7 zc2Ci)e5v(-rAxFXq;nSB$Qc zFSh3ksRCGKGp!wo&U|iNH@DvCmNj5Cy=i)5Zhaf2ZIQ~PXk3%q0Ax3Ga~pxIiY?D) ziz=STjcC~gHPzNe4rOhJMymf)iJo*Uo@i)@H00wAZHb;lx-B}eCx!qExs8+kqXWGv zH?dm;OI6II;`pU&a+|iS2ZxD5ybjTLZOhlHd?B~lu}9`McXL~`M+X&RUHtKLTShmk z5>74>t%(&1D%Fm@kk4)9=0=W=4(=%S&@P|bdP#IpJRQsDvAxZb=-~EPd?|j7d~Vw% z(bZEO`P`@_(E(a@yCu2N$@OE!=o;x%CXpL6XJ^#ob;sOT#5FjcOr<*zW^Vf>xp8)I zsSM3(a^pd_*3H$8PL7bCSAvv8<0gzwZoMSA&63>2X#adXHz}6fc1d#7lH_(viph{U)n3J`eT><(&#ATJ~8=G*l;v@PO`pbEi|h<_*^5ZpX=u4ncrb=0Z;ZkC9pfRt3+&RZobfOa&!AK zy6GN$zq|_nD)jT+v2;4WG}RMgzaYfEIXPe0uV>gVOp;Swxg`SWAUD^_rp@pm zp`;2PeS#{3#FJ5TJcSOQ>P*EWjj2p=MP%m?rM3{ISaOL_nq(-oCwUOZ-CPHoGJ=$< zRgS)wFo$$!(mI?EB8)D;SeG$|nwCofO3KYS21;CxhHAFv$g&@H#&u(UDcL+`$6m5I1)yo6_I` z(S=oLpv#m2;ZLg7LnPb~iNlfy3yB>KiNl4&5pM2Cy634u`iQ9z2#zucj<);7Aq@Q( zgkBcTv55OuZtge}_Yr}(d6kbg&7GQCDN!Hq=1!nnbIE2=^_W9Z7kj$np_oq$#e7n7 zrNlha#C)>Ee2SYpmCkvDOU$}DM0}cw_;fqs;~DW8h?s#;KX)eL{k5Ar%fx$1AYKm8 znr6+IJu`Q<1bmL0JC{Cpg`8s)DeEKRvY$EL-q6;R>`ZlqB0et^@%hQKCE|Nc#1}}! z7rMEN=$#|QhO+t)^2H|POQQYb?YT>Xef%7TeHp@*c-V;CZxHuy-Q49S?h8Y4&yB_B zH|MU9xUY0`zblVh%2q9Ic5hJ+#r^wG+*c*9khsU0xUZJDuW@tN`f-=lhq$jZabIu$ z)K@a*8@!lxEPp`EH@dl-Ow88=Vjc{tnQSW4!SUnG680@_?vHfrct5u(t`>RO&s{!j zFlKF$hzut<{BLO6y(c0g!aYWs@{xP)Ue~i{h|{ehPPZj*7EbFMPPdPi3+f$i?oPIM zLw1mgExC7~<>o7c?p&t76UkLsBFD9RrU;ha6>%SyN$;)o;75e5cBxeVy4adl<<`{V` zX`L6I5(F zp7%X(lgCHkVMqEgxP0Q~J~dq47cSAk#$oO==@7zkYOy|SW4)L$QzK9&kTw>xO|)6dPTqM$YgNZo>Of<)s(lJkn@WuqqRk+5=voln zVi0W(NfKubwFNd@wIxy_;-J8<9)Kbu4_1jYhrq4r3y#I_8>{7xn~5z-l5gS4~1{ zSkY;q8}a0`Ut{xZwF63oRJ|DOsEzz1jXKpig-*H4()m>ANZU#3v@q=qp+o0_X&-}W z7f1xtuGnx@15#r0Pev0YHy?l5gi5) zvFl>o+muy>yqb(s!8An-r)tBN-J!#AiqWfvs&uT$mC2}wP)(D1EmYGXbl3nvRWzt( zKq9DSV#8IlkP_7}G|6%TT(hNA)yqf)B)HBssoX^YB5rSicSNlhT~_lr;^kX zXbHB1q=HsmLCZ9+m)ZI@!ZK_evDoS%d~H&{g)atSOU2f;qePhQV3@`s5vCp3a8&{+ znab@`kHC%Z#@4rz3ntn=Cse{*?fa^;JVx&8$>vQSE`yp?3lJkO7#3M6Q|&8?MSDB|r|J z%RPWvL5hO4^1{hLNUO+P-(LDnQ_CO(rsc?7wF0TZM0Xlf*}!{dQ={rdfdD#KY!1;j z{sM&nmBDiuB+|bQ$A+tpKuSFRm|W@yoFk<` zcd4UjV|6J8Lr6z6_wLqu(&`xO0?)C?T=grY1`pi@dJ(S$)AMmWf5N!yIFt&bm120j zHuO(!Mz0#EQYR8dMm+@T1gX~obs~fg8z7*j8BixdBA`yjhO16NN>Ki_pyUL!PL)zk z>ogi#v=|m?oz7fe3yi%w12P~x6Pc@ijnp8c;{Y;_#$;N1zB&tK0_kyoezm1y8s)mx)3Rm@yr);185gXxrTNz zO|2^eLnE|HnCn3qX-t3i=%L= zhcMkDby}GI2%$sgf@z__bSor+={9V*>UN~WB;(hT13}dWvYA-*2+jPb z$B){xm+DdK`_q;iknLj>>F2@a!KlX}2jeG@x#~%zhA|rm#`2$xk>@0O7o@t91@#n4 z1n|>h^o%xY*~2@<8NF(R%K)3PsMH(c`m9uJaeWR#hb<7UD-GA@A(6iL0ybRrB2sc) zyZj92c|nJKNs4uce3_Qk366mg+AGZUlMo&Hs}O+JYsg&n7o>(3-3EFjucEx6Y@XaS zO}&m%A@+tCzNroUtEkai1!6qI@!l>U>*)vqdrRuIfV~Z&!v+Yj0}QZtAQ51H#fGc? zhLphkt7ypyc)cs7n%8?Yw9ax2i@e@vuCJoTUVQ)=kbQ{ERUaWW$mlqLjOV#V4$MAA ziQxJ~j6T&y{&|i%)lfz7udIU+SGv;3>@%s;LiIU>4xJ0Ch(YxQB!cQoY`E(0NQuh7 zPuC8B=_@JGnEpW{3lqa3rmvan^Bir}H`oWFe8$yTPh0)oD(T|V_qo1(hs-KaPkvx4Y^8iS{NRfur z56^k*V~+t5(rPTLZ^2%_?E$Ahc3rhPQUiyc0&v)OdtzOQe4#g;=!|9Jy=o0s!nxG} zVm?rtw=_YMqp_fN7+6_PDt|&&NT#qX$8&UucnYm5QiH^oMQ<>K4jU!(Mi_cSAd#y= z4K`f0CQ{NHiDm{K%~f&iFuL;V!&Q*@-gq(wLfVYEHwD5V zH^)AhY=I2Zz(@@fdeVK>TS(;i9fb{7ZHJVM{L4Yf2{4V8QmI&tp`mr2V_3vBmbtzh z7<;unWI#3!8D@Wx8f0`FIGlMon3KXvz*>|Dt~xQAppE>?0d=aOVrQ~&Q9XoeqSR@j zngpRk=Yp!kpxOZvK~;|pSM7+DsQk-;b^uH}Nr}d^GmR`v42PI@VXk|X#Jel@fv5o) z=6;bHM06NHB=?=Y@pQIF?T#{mw1=4Osm=VGsHvh=9g_t~tA{Y{CAC_Z_J+`*d%?8W zV44hxV48vrS4~AqO#V%jaRE@%q)daFPBRM>Ln5dd%)R?f9ra8|fNB;p%=;oWsOU6+ zigyUzi4HD8RQsS%Sj`c;Ms3&91r=TuJhiH@%2<_O6+E*xbh+}C8|}(0-S8Af)`gaB zsJYSv3+y}y9kx}#u4BN?7hT>%G-1nC`^x?ZIduoF7N$WsfickX3&aB2^l^b`roMlH zScmWzQlt;&#a_)S3K{V4hYa(`NDY3r4ESYv2iFVmFyx{RDDN-I2WVw^2#!LpiF&bz zI#5&=dn#MOeieX*Vq8LdKgRG)(m^OM-6TnjtrY2t;O>=vH`N9O#1KQ~s&=F%U^ZC- z<~k3a>~Wjf8qa1rRU9SK**e51p^f|l)96*}ZDpN}_tdqlGyHU}Q);#PPZxv^-An&@ z%JiQkBywP;u;D5PDGy8;s+C;ua=28A^l_P{m380Fh}bo{nd{pmX`jkK08CkAuIfQ* zFwte;u;fX8#?*;Bs2oZJlM=M%KBD;gHcG%=Jm0w(3yq1Cfi&Rfi!pi0CkY zh{w<5rrGLn6bPXs#O6qC<4;#Zr7u7>A-u&A0(6vAX#qMKLWjNuP{sf{1`+{uEH*Hs zjFf=<>1wGTe2$X>&1WTTEItf|e2!kMAPQWhkoQTX-Cm}U>=q`Xqu7Sx|4<@Tm zMwt*gMa)jsX8xfzRkW%@Dm&D8->B6?kWQ0YEl8(B=+M1D+RH#X0}_FBCN?mKjFgZ{ z*Fb4e8;`ZKq)c-P|rfyPKLIPyJL*}aABQ?nAID~9kv8R~ItE*5Z$gUQ%YqXi) zyR_CSA!F~->LFa$O05>I>mYRKUT{q{xUPppaNU3n%poHU^e*E9sBV-pjp`Nezp>2_>j?iVRrWmf9+z0fOkA`dV0 zQg=#?7NWZ#bm&?TZDA1I4T&JS2OF3}M#{$U0xkDWtR8so6}iT9A5APg425{^XRa5l zVy)Mou?I8{Aam7&NDUe~3!vdr>bbGv(wKS(MMCFcv3f*X`SUiSRJ{+`Cvi~^^`S?l zQVY;y5IXcOfLaZp#~~3wPhbNRz(@&51_SJ-o(C{`N{Te2r)gy|VnAf{40Amg&>=qy z0Wdv>%vH}LHJIo!fQe&t%pOmT^~_N(pin@)D0VMtJ0Fy%Ruxs*x!jzf=7d1KER|ZI zUV+e|cLDWl1L{>s1k`KTz}zoVA5@tKfO=huG^jUdWu2B75JA1kTu*S#0iU<9>#Dbr z8b0(C;KPx?GAw_3hnAex`m5OdP22b*0jN~vVvUtJ-h+CG%)3&hMdm#S9r_kBPZ%=q zLn358z=o?nL`pI;67cH>mye`CbNQGy)@YK!kjp2`^+K1XWs&|Lrz zkFv)3cmYFwfg%C)rC9x4Tlt+wl=?ta)_E8}W46MZ80ssj)I#(R2pxJCM1L}fzJ^2) zeS-~G{S&F*dCEKh(zjBiA^nS179<8lNZ&EnN0~HFeGdUJ{ea9>|3+#s(PaqJ0=%c2 zS3jaiF#RM}KWnR&9l??J!J@QEn8u1~Xp-(1sn9~y553r-XF>FcL9`mgGD+7T8<^-t zN<=&*nA(A74G{-x0aDph418Yzf+=tQ=ORBBP(6hepI zh3dhE>SmD0QMx%cT(t#KQuVKeo(FWpEu~0mRS{ZQ*FpwFR$DRG-BFCyNC<#vYh+m9 zi_{>Z%fL}8uU}?Wdp46vL^COQlOJ=T+d@y6jgl(1(^a(0@_J@-$RY@^tY`A-Zqy^b zhX<|-Asj6}EQDhqbl4a{xV1qz77{_YJvOlN7by{L!j4(pA&8C_O-;0xl~_a>E{WDL zub1x*RBF7MfN}tyhzzTOks82kPyjIY`xOekY6olx(RyrPIu|LMY~I6wN)REhpk@Ec zi1JJh^$@_Fq)H3m&Ja5EEdUQS0C#~z0PczntO-WS*7z4wsUN&{lLF0aciLFj2?j%6 zdob4*QwF;yc7bOvWLOc5)Zn4J03HsJn+qydDCQ@s$tV>@Q^atpHuN7@7`Kg-3)3bU-_Mp(O=}+-TD^;5k=7jM zdXCfBt47FxY%Vga2u5m<(QyD7u0j2pqiR0n0;@?(_SGi-4N!Bm8YbPVELi!_dp&A_ z)M#O9hR~sF!L*IRv=9=(6vYNs0wX0R{|1QFqdP4Uxdy~JSsM^TA)x)4>l>haQ5}Fi zpg9m3RsbV4Xy`0}hW@Z9HJ!?1Vd@f;3ZR3;uvHuSQ+-CS8m1DUu|_pC@@SJfEkrR0 z9Xc08HycFlkjTg*jty6JASEJB^_3i`1hqh_Q;LH%a|FUzNT`ds?n0(@DhU}lrI2C1 z6{+DwkD8M=2;p?-+}TadYAH&DQCf_;wUN(=I@S2F8}8}-H{43vW_%{Lrg{HdODPiQ_HXqM9Yz3wiT&C zM2CT{g#CU~vHZLj8$#${Y`E$Wq->HoZ$qUoKsKScs<3)jsSu{OM4sAAF9K0?p?r+E{!T4EY?*T%WgLs*b@f@EnT_bFD}X9=Z$Q;Z4wj zS<@SLQpcf40Id|Oed z>voY6kw3ihJOI+EQlufBMk@;v10tl;nd{+|7^^cN0H!mMVYU^i!9QV@R=`v)PWkqT*(Paozv&v%P>bEEoOqYw*723+jBucB^n?ya- zo34~fElj_I(4lw1G}B=EJtTtZDr{hlF46!d&jT=BBSjk1wY0J@F(6{Pj=9F9L%tpY zV7dVrW>=9KOmrE*#AgumQr+!Xm~|t{gwsu8cC$9~XNk2|bx>A!(&`~lw@9rPs6RsJ z(7k|KVnE#riGaEd8(5`_l%V`)5XJ>a-63U~)SWc5NHHXmx{JAJOI-pQlv3GN-JxEj{y6gP(OM`YPI-03!y{z!Y5()JO_#Jc^(_C zdI4#m9~l<_^rDn$KrhkE>PHNTfL>;<`;iy*E06%ytH@mS8d8IbP6MdekERr{2J0^< z5m2v-(Hq*xA1P6%I;KEB;=KvgLzv!_IxS3ZLFmxAVA|GTdK(hK^bR&$^;e|C}#QQ$>f#?Hdm~2IA5Yb@(5q--0CVK7iM<^FiAB*WH z+O%aVv^d*W(yWZDtVfx{K_2<(Rn;~2`@)|}^%k?wAavLcVfGut>~lzj*%#Pw)t5-g zj2{;azMfKA!Top9(e%EexpfROM$-ESbNywnQft-Mkb>bi$S@m=)G%ZN0t`8vYR_i# z1@$e81mC~J>N{=apRYuzGC8@gE5pZm0#OfjwC|--3)&A5I`l5kmK$jQhD4zKhz(c$ zgp|LFl*q-G1)Ut2rJ;3HGAuINjJZCiN!*)bAGEeWhRIc=h8CR$Xrbfv>q-?=1O-BB zE3p}=ZT!1Gs8pq7-5>L(hkB@MZ7o$=khX!)p>Kh7n1Qq{Bm!v^Hn4gYDIxi@c2Yn1 zjFtk;XAEtuKE+_jXDoAl_s3wj$1d=ULx!1Bqy`V&1@LeRs$HpC$c0Xwm`uPY6HfWParyHL|KpEs)&j>03mPYiON-tl2pzUf=nXgYb`V`IXspK;reI~i!lxcf z4Zws8Lo0uju@kNOc$Bd-_5DW~!-;tpioDN0`gN;aAqDLQWSD0~YG|`{pe>6U`C38* zTDyzZ9$HIYR)~0Q^VTx%DGGae3hTfuxRz1ag@W0e`hGCswTqKcURt{-!Azk@pS`hm zv2IT_6#}$y8ZuW+M{43=lOzuFO{#cTLCt_ry39<`pQZKv0}3jA_8IGx4fW6gHCw8* zy2L&ZI`l1FVyWp8b0Coesu3Hmnu|1WKuP^Lpyo+|KA`5)#yX%F41eh+=H7G)g54Lp zK(hdutD2D-G;|j@pm=u9B$o4S548}5f+#9>`)NCW0OhGw#Z-o<{HXHGLbw)5^%gF^ zU*WJFf@@uaYkx@OdEf!qaMgiGiHk3D1fB;PUurQ8Hg*_D`7yMFhJLpTKMp*I`u;Jr zF3Gl1PQ;byx0wBsF!wOlX1`%CW=z%hIu5u_8P)h9b+Ri^ny$R>4s7gK1Ol*fH&I?kd zg{cUkL*IhwCWC1iBrXqsTq+Tfq*2yVz20=InGq0CN{ays>5Qu>1 zP-L!hks3U7rSX)#ShFma?o#*|qdE+w!sl=?JVG1#<0qq64N!@XdCPaJxboPgA?q*QmO<7jA|&KMSntz@nbI%BVn zhYZM0K<26wks4%l9OzM;Wtbbw;}h=cB$NrTlf~>5ZRXE1Xsv3vLPwrf58*mhYPE2k z2BAauf@_Asbvh)1>kMqT>P)1><02POuJsq9ud=v<$3&iF^ZQ~z!P^k_nI56iV1Jpy1E|MxONEbus(6>O! z8Az8vB9Jb{hN~_^N=W|02B{x}ej^2%&~IsD5n?bTbUAZA6?}(}2qf7{0C1zJ^vz8WUaLB2(szWL}^vW)d+bq_0+XP0Oqqg34#~s^h zLQ@Xch))aQwGcXNoFLrTAiPd=Ip(|`Tdul6_QPL8EwunAEQVHox%>l-`nX))NPYiu zxiL}SM3MeCGK)t`~F8=LPXQ>S`|37mY)jp)Il!|DO4)anxtLg>)D^of&9pLhroIjkPW2BvwD zvORLyFY|x{>rpAv2i9Y>vhH&k5P$8*nd=$gg8}9V>|%{AQUivb0!I`lU-nORCQ|At z+Hwx%X|Z}nTluGEQR)Lv*#X5=Ve-1=N(2wJg+d<9Z1LgDg@y48Zs=gMQS+FWq=dUJTnuS##Fm{9c2RQ z4KaIDoB5!$R&`PqD6JmqM{h~37O1x&bm(3{EijY4x4>o5A!2B!cNnY~ZsBNZA~Jrd%ATuc!r5 z|Bzx$>TAj@QjCeDzG1GXmRN!MC-%YVTV$^K7gEECUIU!irDPJkQGJIpA@#kO{h-bK z`Ae-;omE+vGUpAMd~OVNtA9()7Ox*6bl3#pb)Mn%6C}dxXKdg*3P{N-{B}%Zo9c)2 z2&t`x-1{!B>Q9+)HQ0p|*)`CQ+4aJ75h9M<2e&<=QNYsnb z4aI09 zZB%~w+qWvH;F!{MvRsJN2&vQ}wK0Say$h)`4XI5a5mK9C!&RFhC8@yW4<68~HkTsJ zX$x9ey@~;m)0WKj|Dr52nWAav+m;GALL)I%b0cEkq0 zdw?_q2Oa=tXDQNfcA=F8hXE1JuFN$Y{Baf4fL+YRA~kU6DFDYmd(T$8)0lYn5VJkC zS@7)L$Gfs+Cn3{!}gH4_pbn}rOYL_lhg(QyD7_WR+(>$98HKG+mubFks6Mx<<< z8HtNhA3ds!7*E^y4tgrQ+;FZ`YQdTZp+oNitHHpU4~f8P!Un!@fRyd=C*V8};Iu%B zG^b`-S*L6UL{1Bt>!GF?t0)A(v>!4oe?@9A(PaRWcfy{dIAbZ4_7|fAw2@BlC9dZB!1Yk3+8F2|N6LdQvL2;G`gQ=w0BP zV&FKC2%M$Za8(*<2o5{|PPY_kI2l@5a2OEbWSMI?DZuH$uB&oL4IFw3!12#Xi#CEH8aVV6fa7T=V8~CmP(#o9*ZUE|RDc7LRp{WImp%K)%%**=IzUn+kfb4u^ zuDSrJK}N>`WL|%ot1d)|0J}(xF4jin{b}xh*`K;YtS*sCEmoI8=+L{cI@z$g3=(1W z8*Jc%21rBw2_Asyaw*c7uAr5Li2)JQmCSX2>IR(OVHaOGKx*L7QzbZ!>MEMDH(f18 z*Jz`1IIB86U`|ot`GIStQVY&?5IXcOa859Au7^b6+<*-%z(pE@0}p_6qZDa4H_^(1 z!+;3qX671B8gOpGF6LX28aVV6fW!HJ)zhtRr6t+iCN{Tg8-M;EDt+~v@=HIT`9M9? zZSIgNEi!jP=+L*2Ioy!B3lbr7H#S^#4^ooxmzzla;PNLa&|L1NjrBN*!H~;+%=P>~ zgS{WS!1HHhu6h8e!9#ZeJl=sdLp_KR;q#CfJ*g`bc-B9&T%9)-}M zcOi7VA@mp|Lg;a9V9_noP~U+EFnUsoG^3|zW%V5fL`F|D*L|lGaGt@gtDZ$_;LuY5 z4(CPi7D_y;66!fxv;RCVb}witBRvh$vM>6&Om&BogZkq57LtYN2`;LWkZ3)qMuldyojK z_p#xs50J7w{@sW)s7-xHHPHG<$~CQzDYIxXD$@FdxxOXQaeoQ{Sbc^JUphc)SkZ5Q z6DnpLSRUZ_)Fpj2>uDTaU7hWH< zv2U<}6}Cu8%zru4v`LP@Z>3c8`WFo?UJQ%8zGJQ*dK-K7J!C-k12TN|0I5Mn#{py< zHbvWunL<(hh%y28lbHRi&HM)jTB{naQ2)~EAzZ&mtro6+XoW-ff@@cUYc+@kSAT3^ zr7cq8@*fy@F4P*-Lk}Au3YyqJ$}D1xi^K-8Oplqo&<8^TUPF+%ss^dyMb9B#(-Q6Y zV5wRYWx{JMF&nDQd|p~>m3e9P5U*iUtHo<=2pzf?Ub`4x!yyq~>tF+ahzx0fmvI49 z>q(hLwLZ-(R1ArzHejw%c~Nf&2~cf>%vB?h8dP)|K*d4AwCOX{#wZX@n~2S(+QuIw zK&3jQ;Dj#ETlfp}AxN7^l@_GUA#~_lAdNMUwtz$+ZHW#1F*2ltWGdRmH<0Ce%ZCc9AMAJi9{Z(6``u(%@-; zMDXl}4Oi`s)W_r34?KHFfyT2ZZLA?CgCU;1m}@)?c5mzg&tzn-nu65ep}P>C1=E_< zR1^rFX<{>7+xQPJp|YxYcyOtXeE4Db45`!NGZR9G&V|qYhR-ZWgwJejxN0AyJ|E+N zr|LOUp!qb?#_B$dhJ5BS_lDpdc{LBa;4>eYtD2A+K6Dr0gHwIKd5fkuHmZG5B!m`- zRkOD8hfSi?2P117kXeooT!*^QLaEe36ot^CcR_T!L9`zvf@l#oT*dEg6Olh`@;m_2 z{!*kN9Y8A!5(6Tn1DWd)lNhVT5CGE>WUe|0slh~-0Zcqc&zm+`wW2^EwTVqk+xSNr zRQf;^y7p%}Vj)EBQl*6`4xvNef@pJtr~?u~l)whQEr2x8i==)4>XHHtC`lU&5Q8D0 z6m#8+V5%JK0?$%pm;ps<@X%cV5ARiGW{b;GnS|;_p&-hLT~^!q_bQ%RRZLbt^3+3^ zdZbzlQw~Ch{sq%?gGoUmnDW@bp9e!qO#Z!!?*picQm9caqn(9{K@rt*=K5a61ik_y z;Oa%@s)LalTyz`2#e7sG3)SHeI`l56 z4l$^XfJ9Ioi49jBg_NlLgU<5+P)AFV26YUrEKm%HppIp(4>}$4uOI-XZJ0H=&M4v7kCZEKk&y{-2HU6|3N~`jxL9!gZ2VY~eZ?LWeC7TzeQ? zr$8dOPQ`|+PD4su@@Hds8ZYw#WT#89Ms@}*Eo2Og$j)T07y0=Ws9!?}Y-b_EtS3@~ zjjjXOcy~8B6KjtZQgL+-N`>0FVtAf5^zZJBUKMENGfxtaS8WK|`BJY1?E(lLHb9`Y z8)z3oBG4|vhN~_{N@)JwooSQY-CZK3n%Si^w3sn0GP{hqzPmH_>Nk)9*>90y1{A45 zM#mv!-cpQ7>I#$!vMa^#ciPZLX7pAOnNbfR`@Pg_A-f7fhYb*9NrUWaNCeq6*l^Xg zNCU`9PSDM+lTwZBdKy~D7#5M;z+59U_UaFi0ojenTy+ytgN%*?$gtmUYBF0$Wz@~s z7GSqv12dvX*}4X3$eY2URSj3@B&I73;ks37wQ$`Ap+onAYj1<=c1Q%*9oTTyok-ar z|AyGO0Ia*DOvAdHW)>`lL|FGQ_nsfLs=@D#TO)64C@^A2@eh_+0 z3N)d|X=4#$FeLN@b3J%~sd^H-!1EL`S3Ql?;Gw$!9=>!K>ru}@E_9w1ljpRF|J|!t zPoHqg&s4m@h=tedJTEm`a9)7Wp=*KjxPkK`Bm(CpY`E%Wq=X~iz4EG8uTTeoUX?-( z=rzi$dl<$;K!0JbKYoR9U&kK!yn)PBZz45(=rO>DgDd?9zVqrW6bhub#qJ$#=XW7b zttzR~MbP_0x-?gg%ghV4Zw} zhe43chs^b0$^`lmM8NYgGFN?q)Zn2jji>Cxo6`%4Jg1sIMWNvNOzb|_cK+DYQ(FZ* zvbN7t4;^J+NVUOm)Rz!C^e>3o45Gh7A|2@~Y+xBGQX=xlp1u!Y`dSKgNBV|#){(}b zi0hxsH7*nQw-5o>zmU1=JER5|-G+M8)O4adktwL}Q7E{65W9bCJ0F*)wyL;1^$@Nf zrCJNuPY^ovFSw={Tt7o1xPHNgtNNku2XOg5fNM1=)VTU%+s4J9h--D0d5;ymz}J8X zxCS7@>Qtl#7u|+&@tgP29yN#+@hQw;u^Xc8TJ|#6Ijy!TxXcqyS%eV{pQ>u4Y75z# z5ISswAiLBcTMH6FHWV9Jp^B8qsz?nsx(;CDRb+loB7;AI(4AKspjg0dD3%*(OMmF@D^@{QI%~;c>8po&+6bxG z!nQGl4qG7Dx(&8XAQ5bvVgt)nkrJCfbT9J)Xq!v1hPDMQtwWQ65!#l__0Zj~Kt&(~ zwylu4Y9vyFjjjXO_&}5&R#RJ}M2Kx8M%!wm(sUJcs=&fPAvC1o*Udt(MoFC(tnDCl z=v-jc8d#$t5m;lefiR3iSgsNWZwNUK{p~D6Usyz*= zogfiZJ7dFDyC5Yh|L&&b1h{sUQjM#Dh88Y{MO?cv*F$w3P*vzvR1cw=B6V7*rb6h@xuEJbsHQ<8sHS7XRWpzV zdX;tnOf#iKW12-H3lqa3rrFGOuabE8!9EbpL55YSNDU%73?SkVedfHVnu`JWJq7#g`9 z!QA__m={-MqB;^%kUI()=2(#$a&#W(Ts*5!p4U8E9fJ~qcB~lvN*nndi#kEonM3)e~r9Xc0Wa}2KIArV|BU<02LKx#Uc4BxZ^fI3M^G^mqlWPxHh1a%5? zeO9NfIu-jsbQ&_usUkIq=rDk&ymL)bXP{U(ohg>T)|R2pHK_`$YMpCRsB@hqHCwdK zhR|UXgjS28bq*v#>s)N$YXV3scP_XAv-71~GrNGM7BhxMW*0KII@ct15u_k@F)~+O zg4B?s^8h(Mp@=S=F@6_yDT;*JWn%RkZRJ0q5Tz=_DvTM5h0gK2gn<24Dz$)J4xvNu z0!$fTS3n}buEYkuFMyQ5{3jHi2eA6R6lqph(aK`QfXM1<=K2YR7^`a_0H$k^VKx=1 z!9I=bG?SK8GP=*E+$uz8b0(C z;DfvAe$!%VIVOqkqA_ot?-sLrw3$CithK6lq%u4_=W6v3pFc^h7N2_|bm(6Aj5mDl zgGBh;j}3f204e$Slf=da06idO8qk9@vw9LkBA|zud#iwS)DJ@fRF5FT6f07LicSNl zc*MoKV@nh2F%$`@$HnRiZRK|)QK}BAY@i@tp%L{Es3)aT3)E8(I`l4}jxwO0hD1O; zgAFWNMe27X&V_m&!09Mugvv89j5AU*ae<> zQ6_{w5VH@pnSa1(t?H1h15T@l`q4*Hs|D#}2pzf?NO=S46G#Nor`T}SXGjUjKj4fD zaQa-zG^a0UW^rOj^n$=+4tCR z)elI?Yy=voUq7$l4*dQtdYa#ltis~QP|5En=JhS|$AUsNsh?2_mcJmwR4i_03`;g9 zz>+7g8R;Vaz|d+?6Po?8fwidG%0GFDQXf36UMK3IPPc|sY5^Pop+oNiaC-xAAS42C z5H|29ypR&0KV0xUfY}f!(#&dTWiewwWVR-Aee%*FuLS`x4Mm3OSEL3LT?Q}#TfeEX zjzlJ&P-~-5Kn)kWb+lb+?p>=@MP-5VY7L=USE{v8tp}k)|AK0iLA5?4f@%Y7;4g3? zB`W_>h3^BfHj+XOYXt2qSPY7=HfHWkB71>v0ugX+iVV}PNDVH!4dKFHmWpRpMs1El z!L^0hZK>^iT%Ovh;_}o(xFS-mg=;Ga9r_nsDT8YyB!X*eY~ZhPAr0X2eE`?CQmAo_ zqMe0{K@rz>%r!0(_-KfLYYZ|>ydpKY=r(|h=l;q+xVl1=2W$tLAi6bIYB)H zX?Lm8g0u&O4t)!x?F^(nArVM>VFQ0(3n?M_qX?-VgeFUYCNzaM79j>hLQ|RRQ3OoY zH0%P;bYz%pMQZTST>uX~@{9U<3DHax3#3_MIa^!$(|x{TmHuR%seJVis(qwl3)LJ5 z9kxJF#SN-PNCeefY~VYtNQugy?kn>GVDqI|18btC1&o0a*uKp5be~^=S^y!iH6z0m zEK-Awt^?S(kO8yoQOJeYeqypnoA?VE`krGC4NY_5Id(2X@V?5E+;&NF)RN?O_|sYt zI&>|dRv1tRKq8`IW309;A58Vau@YIdv zKYR-$hcY3g#4NAP{8P8qs&c4>hoe}DQ|U#Jg4Ak3DnjVcy+9gmAT5JLAT7rRKGTYn zko;4(aRE-fQl>c_Of!oULn5a`nCnxwwpNEi0#q(C%%CDQsOU6+ibG8qS*ycQB&3cI zt0T3QKhzYZ>Y(htBFf< zqw*E2;3}QM$NH+FhYzPor538wA#~_nP(5l;odJnFd^i&u_!KKrgR0yEP@N@3!CLwB zfq@Xw+06AR+i#jW2SQ*v7a68hks3^Nr!jetAK07r&*ppc>U#Wzvg@&dZ?YmKvh~oe3ZB#-s1ANNik{|o z6J^%)C!-|4o0;pbChK;D#Vrtm;UAGN!TjjFY3eqV3BcRM><(?_ z-^^&OD)hqV_%4+#W;(*}Bi$+0TIlYA(4l`pcc(#jHzb1Y9&F&vf22g`pX5Cs>R#%B z*?pp*ncYvB)#n%(nf;l$KGW+e)B}(J*n`Mi^$=16jGhC)IA+K%%czG@AhaG4n@6>c zKW2bRbyPuGoUMd|rUPe3B1p2UW$oKofd~ zHr8AygCU`3nR{af1p6Fzf#-Q-_#;_J4Ia7+;NfHf9x6yLd=Z6$=q0gxS=;&RU_7;| zm?|8R6%WQ&q+W~Ds}MSDfN(m_aC!|A;q(`5xaxJJG=nCnM@68GEK2d#II;YEL>h8CR$Xz^+3lys_7{S768>RmByWHJi@nim42y^8Su;A@!A*{zIFVJufwym3ftQ zD*cq)sD}=}ucc-S*EbM4Y=Yp58eIQ`L~wnJ4SbOmDRGrOj4!zXwC|)`L;Iel7Bq%N zXg@GF&r3}W>few8-H*ud7qXBVbaWm-$8iLXGOUsO8AU?v7qRMx69XG)UWO2*%D^~` zC?A!Yqol(6(AA_?i&%dM9l94{#~Na*LoCGBzy@Ca7gO)lUhV?421=QxHHc=`VaSk3 zYcR|7T_7SJf;~{GL54qzh15`@!vG~-0s&xp^HjAK$^_F;F&n1M{7azLs?MpbbD0=W zYp7?fE!A3_hC}Gkzi>Loa9Rfv;j}I`@a8{K{%|t=8Snv6>r0^qwE^ucPz;KoHe{|( z?hJY(?1Iz?WcX89NDV2v43OFoq+;nb*0jeH#3SIXkYOb(QWD+-E$^c(z`eC-2L1CUfCPwn8|L*beL&k58X!Lk8UDT& zQbV3i5%SSNUMtmTE%H7!KQE!OY79ied@MGw$`vVFZa#fYof2U=jsr=FxeVQ@9%4LB z>I}xH#zW}PxiD@vjB6p0u3Co;td~W~=J?kP?Ev5=N{Q~LlW1g}{umAc?!a7MGbG-6 z>;u=1$nZT@qy`rq20AKFe0q`h&L|Q_yNK1U+RDGMic%ktEJmUpg47_DT99^w(4lvM zls1rdheROlfeoyXMM_Bi?YQRwl=hM$O=)jhS(F$MDNSasZ=iI@Qy>7QsmSojRip+J zT?R1m%s07v(ykLGs_7^bPBX-8rZ)305L&A`D2tO;4}qE`wOXKNL+H@GfSPMS?E{H` znu86jlSN8U{@CBR0I9iBrb*4CnMH~rk<@(Vdf4wp-2@3x?TZXwT}5h8(P;n`hyC$* zyJ|*(a9SufQElT7`=L@DQt(15ixlGFk2vioRa%f1LFmx8KynNu4)6ui{@B23S)_!7 zte;+Hf%?^fR05{OQmQd6q0AclGa_O-h`GKzFydD1f>9eXSH+MTM)XYSBTNSa%|Y??`lEA8TBZj!q7Y*0g6=jK|F;PUb2FS#nTx zV6s~tI62%M939k=UD4Z>$f%{<9}=xe#|nuRlad8|(j-k$O>{u7Ot*A%Z_VhMOEW24 z+LCyEE3Yz?trguQ))T`eZ+toxPh|3m@yik_k7kdbG=750Qe|j#^-g>Qq=(zXqC+|{ z#nscXw0=jGqh#&q<~_0kVtjmjtS2>IB{~z}f$L~@EK`i7m7>=0=n#d{4u^lnC{M{c z(RH8|>&X|<=v1a_d`Ejx6;M*-PgTUmX#2Vr&vx@Ysv5NnrMRvwM}`?vs-kc34V>{~ z$4BPk8rTp~`9cJH`tRJfOh;K=M}BEtdSac^6R*Q>BVXehKdE*_U0#(0b-a|)iTreR zdX>Y}o}RjC?a^A)se0ipxn*>a*A{g!_t6Irkygx1&f@a{JSEWGe7hyZUGzi~9&sIZ~^%G}>|R7D=q=!LOMrjBhV? z;@23@{?!l}iK*#SCdEFyrBGZwNbf;D%IwIY% zxXR{hOMeI15B7MmuN>^!CfF08gkV?6hdL3;h~Ok-_*$$~uOncCbp&;|VRq)=iI)B& ze@)3-ocr)cE1epgo|6sE0G9BN2AM8!iqv(gu1h-9WWND zCbZL`TIR~-U%USCoj)Je`hR#~F z2&Lq}w3L7MEmw(~#O-1Kw3Rbe340lf^+{@{Kf9}SqXTh;FOjE`S zt+SZB2Xl8T+H#)P;a_}lIIMGSq6P179ex4NSx)6MnQ+wXyung_c+uH|wl}esaa4Yo zyL{8sS(7UKzJfE01$8XopI&zc(`*X2_$dKr3zqVd=FFsXj+UGa>F5Yrbg*}cJ`xeZysm)AVJ$A#fK{wv#LrdK&8LmM>pki-ALYX>BH5cUVWN8@Hz^T(M*fP*;jEI#7F6 zm%tA%PM6YObRaIxMU_&QVXtLdxL&ntM=epmfrY~{My&kOrhW@aamW%EmB_9OMRq+3@yG@#BWv{{o044- zSs(+>$^n)U#z;3_i=pX?SYE<9tdQ)*eRjSMgH}CeEp63eKw9dZ{?GRZde`yp7X11C z>&ijlM%3nTm>i^V6C}xjLgD%lg_}|6s#}nfLX$@!Id}TP+0B&+@F(^tbfse)L39+r zp*tfGx|Sxh-HEzosl@Vpos85gg#Aal(_xP*g}rLEAZb*`AO2mH%MSKqm@mvilBcAC+ zynweL`!vs=S214ym+elav%RUFTKqBhWU;+Am96vdT`I+RFTLm(w=TulXC;X0K3F-t z6ADIkKP1WF64i~NsQ!#XydHs+QO)zB(l;q}QzMg`W=9s7+pox6x&1<<{2lYSd|q0CwFXh_*1-z6+A}M6?*G~bf$wF>jk%pbs@%wVC?YzFBs#)kR;cZ7|mZN zE?qYsK_TAVKw2K-WVuJh8gIEr9T(Y8-=sz+)lQJ#veZ{=_3f-gD7UonM82+Z_SEU~ zny2G-Z$gC_AEUEijNaAuKh=d8ABVBS`{ZDZPe77fOJck^^gBL@LOjbv$`}`VzvB$t zST{|ZQ@>*$y_4)Y3`lguYBTYCQBFI{Q%h5ICF`kKJWk3K$_G8>iup8M>PRP){hF&> zBjSAqRXDu!561f}B*|eC?=7KtpF^Rmo=3`fCwuYAs)#DFmYrwWxHz7yb!JsZZLCly z6B?C{!xvb;4sLTVIFD8Zb42nY^qp=b!AM?$Bv~Vom@n^?ZoOYdp{rg&%1Abao8|(( zmlsnVk*SmC*X`HXJUasZ@kCFd;vLwlVp)0AX^waG8e35RpK4csff@#*uOq`FU8z_P zM%hSxFQzz#K8VBPjX8Xl4*>n>@Q*J#3pm*C;1(ATnBnuAQrTO&GMSUat37^1Wyj9J zP~p(>ZBeZp(A{1~Q14K=K2)9hE98jaZ^-b+HKisU0h^&C;43=Lm$(5)p5yRS?9Mc{ zdl||xnto3V-`9q+@Wg*@+;4NGTl^2iqH?1jFpd5YN@z5fvs9>6eS~7P{bOW!SS%Il zwzE;X?GD@CP4MgS4(2B&rvP^HZHFJJa{fxePVzfo%f55SC*qu{sZpPzLInGnc>28L zDcL`{iDTxYJZ<#_%K5u|DSBm-t?KWPI0Ymzu3!C%dh19pA7mo_2W{+T6jFtBqDFm< zGBn~FWcWfn7196K2b-O0Bh$<0@gkThQ{O@XGgoYKsf`1qD)lc4(ZcVflCl<}S)48N zoAW&t>#IBY0p<7w{*BC4KT2&Q9M3b`S@C`h6S=W2T+Wj<>L=(Rq@Tt97j56NDSoa+ z$y7QKX>0R;_J#%o)z%hCT*^nZ;K=ZP3%KRag!6C&8Gf{ZqBzJ?o=^9-N)1#xMNigTsbEtEup}K})Qp4K1 zhRUj;@P>=cI-U(*KeNL#zZ-*GSM;g}xgN^B11T7!u0*Yma)i18GQ5W*mFZB~3@cPV z&ts@w_f{Ke+Yw^Bv9^_meq~Cb@HP?cP0O^)4iiSSnG{uzXmgY!BAj3Qd54$U0wM&l zB{FnJ!n)a5OChMA7`ZNgzIYn%zdbT>qvTF(Z+%zey9^`bCdqMh^Y6gS| zawalY&5{~)kaTDTiK}_PS}4yJ<$bhri%9+UCU9Bt#sYIhtXqkNKBa2=mCTOTScHdIn&!ZIp2s&>uBuF zZ+B4B*vJ?R6-))ZoSQ3qst~&TI_8=?SDI{t95ZK_x#rFj1%1l&Vp8)V1Dhsf_^Yj= zFhb6$o&pFFNa?D(Ks1{@&5GT2p%mH;(G~H68%24j+wKP;8nOr({_=p-pnp+1w0=>p z?E9bp0BV2j>Hu+dpmrsTLH_4;hA=Ib%9nVRk4A&bx=)|KJCBKj#I8EQR+NL_HmG)0 zI+JRHKH$cX;jJ;LT*GBEEw~(MRO@>xt}E)0iW0gac{RS8g%76e2pwfR=HdWSq#y*chTi0}fRVF4&#UBSEF~o7{xUB9c=`^+*;+2Vz#L zJ61?ej}F1#5o*X|nlcew1EP+i;Xb_SCbV^px1%Z6!@$K}0O}aXK;c+qSn7b(P+*IM z0#|`}*Q(=0Yo*qbb+d~Sk>%N9x+8)ojt%N~lvIUrf|!M2Y;2l$BCYEyRC^K%(8iOI zx#|?DW`yJUVw3cb<@NPbMe8)J)$%^ByWV|l>1t=k+Jzix^rCFRgpa~ zGN$H`8k|6RSd7JWQ7)K~J#f#;o8#7a469mn;hv*$f$7AFGkj5QXQekY$yWQ>X0TxX4HxsEO_#x#5muWv^~kEyEZ+ z2E$z3h2ze6O2@dxfQ(h#=KtwAzt;e!3WCYccdVxNF8*$KrZpa#@q0=T zk=glddrUPn1jZ?>W{ftNHFfgBsk2aFQ*Y~n=?kL^=C#h7KX3YOHEyWenN!i}>dR{|gOM*Psf} zyA~O~j>y({#{gpw90S*j$_-kj!j=0ED5=_!Zxl28S06KHClks|w5~KDxETd#;4R4T z*+Z#jgyZ>QlL7;RTSe`A1dhmrVl1P0wkwMIP!CETz*jm%Zg&_bx;D)y}GY`r8pK%REZ zSxv9Yj}FwYY2ZFi?qj2CurYJ4iLSxt2+=iW&zmt{JqKHP3*mWenA@!vu z-zl&CuU_rsYrdAmmj~GpLiro>`W7xf2}9x2O#S{!MK15c7F^y#hChFV)No-tEG|xv z!v|vXp>Knq?<3h+RSwtL96pA*;qZyn{%LvbpLw<09M}+Y_?&rt3x{W64tU?DB7iSo z1OQ(mbJgFG8USoS-vGW6n}7H=0PwZ!tSW%(Z2;fE+yMBe)c$RG?f>#>w*jyr1n?d6 zY8?TqNF#a~X+;j-!xkKVK!&exA~hV?j=nkkC^kR&HsJ8H?5rw>8*C20z}#@?hv%bs z0*=%_-1^H-_$eX)d1vZ2XhB2>i;S$j>1HQAyTRFV5RuRP7Fb0U> z$XvA!QqvjOkiJ2zD>m!-HUP1{?5rw?8*LC9z}$e?P-@?(y!H`Z?KTKDgdjF%Uf)tz z5rn@AwIYU1Ux_AVuc}tf~u7|(A1ZpiYQ%e$b6muGmy^q6 zD}tGT$^d2}GJGWzsR6@=^$lhRv8nfM0A@$oSyeE%*kE>oxdF4Y)V@o3?Ynxl+hEub zf@xr0?a=XGTCIp-H<$v$?#NuV2U3H9&FCA$o?^3?ZvzZ_%g(A|_@j+sGRzHzDN_5? z^4h0)wc8lj5Mr3lyuM}oiieJ@ovnyq2F!q9CNex!M`{qT36&8fcyrN{ReV2rHniqN z2d6r`H=FmtKHhA`>nEjqiM*Nv=@Qk5G&Z8xsc(zqAVGX_2}{xsZ|e^^J>1B zHL-9orl$F}a9-_;-Lm@wtasz8=Z>2FV(B8jfuR`#W%HtIsm?eI@b-66rPU(HqMMl&_54OizBZL8 zbm~`>u!O!&arIMl2<~g*3Hnj{V}B*yAW!r#R6WMes{^F+VR)lB)zj*|Oq^E-igaip zOP8jNi&^0Stmsy~Y6-W8nrC+~>`17CDC>{6z+1U7qyuAUJP_&bQEk{~0P-WX%6*WE zK{f~XVhA-4kaDM{+C{M@8A}&DwK&xVM2C9q7bs&1)TGuo8ec_s#dVdcHjqT z)w@ZoJxpUW0nO-e#*l|?5=}^hhw7wwKu4mz*rmEyS#)@!yFI~P)0of7NIk_uwfa-6Xdqh`FDQpQL%9MrQ|xYC!8>EM6f*pP^JDRYr6-;4jyS6`||^t$gOgyA+j0VRSIc#&0{JzC-nJ zcb&wF6g~ui``=>T1DRvh1EK@5h@&%wx9Fux`Pt)z)@7-D3d=23UZfku)7jY4) zgI1(gsH3RHgD%$Ix;)iUNUEbDnKL*#EZ9laF;pC&|I*H}+#X~;+wd#w$ztm0+L%eh zU1)(vB_8J%)Nv?U86AS}Ea0m;{JB;_FfTexx>gC~@giL--;FOjwC0NV%0phA0NL@; zwb+CFQ^<*sMg5m@_;y3tJ2@SRWp&Wb*Qt}JhKU+{ieN>n{~%tSOz|3A45d!t=4L^H z)?s)mR2(@x@M=aO+gd_)8jbs>I@Iah7>47a{HH$y!sDZx>Z3oQ|B7oKXbZ_!S*487 z&V&jMB=0wo10=704dIgLhH|u|@G%L+73?^M`RjG4vrxJ+x~7UP_eEzz#Os8x^v~_* zu`35OOwn{h6U`bAggCo|5&HvUc%($Vr(oWpneF(*8&SWDPJVimhMZv@$2!Z4n0(z1t z=*?inn}O(259X+XIr!eIDK{bHW2@_{@2{)B{+X)pLHk*}cMD(hul~(7UOCLB3l?Fb zyYX||MH_ZWhLtb#-*&m}rJ1?m%#EV%eZ{OXRp1EM|L<^jL#E%J1MX{Mz$RB(ns|`| z=V5hf)GX_ATHYvcc=_nG*zdGD1Go4cy}VuC_TsI)t9UOf@Dt^&G!A%?;RET=%GX#K z(p4!fX1Id)G`gm3%6SB9;^*3jtlDcU{6Q6XCXpz2p9!nQaq(#_DQAlkA0CxrIn$O* zdF4l_G)%ow3iO~$@T`S`j8^RhHSIDxRBaBz&X1$cj zuSudzRjhGV3xYzmsvzj{eU3)db58qu9+NN;Tc^#$VbG3nC)v>O zfhQMgurYhBY(@u~8t*FxyBaRyp7=GwcmweSH_M_!E~^x0&(RA1ICzQJ(=vfs8cOnj zd4l7bEDA;{$+B)pz=sZP7|88lREvu#FjhIohm?Z9WUGiH$$K82PxC>a5b(HsW_MN< zV|=SFP14Xc(*Z7P7){PN1D1GEMrl()Xu4rj*9Esw_*IIR>S1xpTXOPbyRw}H?N7$V z1h?e(kwnbc5Bqx2Q!*sOxiFm&+U>V_Q5Y3*MF#5g%_WUa)`5luvYABs!z2K`xW*x!weP zr3raeOd>Wl)w9E)hfYU>3sS2XaVJSRSm3hSiagPk4Cj<=s&Gv<<&rI8Ccf6=oEmaI z&dn{(5DSdEjd4u_zSK|=k5ZD_mm`N{qllH9E=NpW|F<~*v6-w1)iGlLd3>n0%H0_6 zh8GD=N-)PMbYpy%TH}0u6LVRoK7lD4zu6-4vM>L14ckbLG6WDYZ{N=H@?CpTPi8~L z{kof|qcroYoR#Lira#S}M=+BkcM~zEJm10vDU``o z!&HxZQm27Ye=tm*wQvIzo|S$@jW1bM`DAp38#`U4)sU%?{3t~tG4IN~zBLlNhwv$^ zagjcUa^Na&F0*DVH52!YixDeum1k`q4WbNH>$D67+z83;oDF)WfbWy>c|^`JWRJNy z_$GY9_*gJZ212q@rWUz6Pm0Jqg%~YJc$$XrOkyV}QXe@Ryz@Y7hD&NG zoJ>DV3$;;kJajf`1Evc8YKHFNrdkYI#(m{?dGYgq7A6}8 zM{!ost~{D2d>Zk(!hN-XoL{AAp+&|{mzT%gj#rZ_t<(a8^TX1wc0 z;UDW1zfM^uJ=avepdZve_0tkRmAi&k`mHYRag57OS$=F)LM?Qkk$boMoYbXF^fdSd M8!X;V%6h+V}eNr444cCjLF~op6cqEuAW)T|NA}P_dNIBMO0Ovs#B-V zudBPOtE+pC>K$*-#*2kiI$xW~wkPs6-0VtZ3N^WPMjf5&?dH}U86A*`btMX`x)b@_ zdTy@I$d;O3y?V7}S4LE}SV*W`-_o{;Q>UI#x)m zoRBPZrE>#TxAZ}QRoVQie6D77%lg<@mPsv(6q1QNDp-GY%a#zux?}NVB9czU6PbKs zOk{aN9Dv{`JUsgXcH)wUs)(~{BDkQU+x_Bhk zorHC^7t!EUrZdvsR?H2V zSBwtH7u)iMQ~|8Anb!71M?SZao7;F~%X-k7-ZZ^2w~39?)<|ViRIbTw3bLEIxy?aV z#a86AMHNrvhPLdEnrdq!hqJcBBh~*@qB|XnCmI?e4f%M((nNP6y)@dlI|c^}xnarP z(Y{`lTi7jvrYdGqaqQ`u+?FjH!(gHiuY)&U+w!$4U&w8B{L#6s-P|^9(SC(kCwG2s z+vw(1+{s0vHL*fLrP|OJ^11EY-0+dn{_VwX>g99WFNyYxr(^j%(mO1P_HT>Dmtk+@ zb2~1HuA6Gl=SD1v_R&RmT9O-?+$2_vu9r?_61h=xc11m2cg&53U;X3BRJt8*=5}6^ z8)G|{%22H)Hx_hj-CW(sibeEQy+Tv1?wKSc&7IUUoHU=OzNsu5NBOn27d*T5Yi{mfSYlS2rQIJ2s1Laug)c zd3lKJk>pNqaC3XISu?#o?d4Y8*=2hg9c8Q>Lk&w8Co=7a>3ZFzu--elMRM!pw#f+n z+spIMcPqDda*tRsIcm=4Nid{;lWhM`cTH{|v~OQGH<|4lhW0h|V6j14jIN6^xhXU| zb!4<}M^<&k3dt?y=$5wTrUBG+H#eg#I$&j2x*?B4I+2?h?cc2u`Gi`Y$ju^q>;b(` zX3GJg{mktblbynbqtSDc^(`BqS>?{>8d3dRH#g7hhkXS++4GdZ?$D+Zv1PgWLcht) z?N9Hfd-VPMD*UU^&v(Vr>HM-(cZmIh5c}rjd||(_VZSg*&QUja09&%T%{fqaleb?5 z@S+mn>B*VNAh(vJ4{Kw>IuNjUj$Z87mpcfk4t8^k4XUV*iYLSuq12Y-K^%8;?QF_W zQmR%t`d-2u(j7_ba6W`EIss!N`WR|jE(s_pH|H2AaXF5Y-to&mGXKbE^!KT!0C$^D`3dSryA2DnJf%bBD7j z4IU7kS%n6=Oc@aFQe8Ym!VQr)B6+Bgs5c~z6cR_dxua>Grv~XGra~Y%#vnM>?iYvA z_2b}rnLEeB?-ShIFO1(u1^nh!KH4;QYHqc7y~fR*NVDdW&8+G^hrBL!cf~_KpA_=> z+0a~>Bi$TY>(H_<1^tg9bx(0S@8F4H}^~9@2LTQ zIY4WgHDmV7+&SX#xo++}+S~(jj!`792an5kbG)r#X;ZQz)fw{m{E)}LN}eMg-)lU+ zKs>(C&Hb9zIZ|vWs}C+;WL&;D+B@EsyCm4h&!yX!!fo+~jmZ55e*f0Z{m%G(VaV^f zvH1Mv+-2hT+M~AIeost^I7|HBYgh7o4d*Qd`-aT{-B!4rZVjuKi({E-{R(OrD4b0-6p%5=ViOQ zeAr;rmPR5noZ#@kVd-Ao5g8HgJ>29EpR`w9_oNV~+d`afPu?t?HZh#;7%3OjKe)L& z+1}0AK`OQY@yEDL41D@$(_^Gl3BnhYg+WZMkQp!#wNeo}){< zLCW(3a;o(e88?)57#`0k9@_iQhxYyp$!BEmA8GdfU*srx(apU?+uTEPc97a|jJ#}) zkynz|dEr^^)xW}d5{o_+u>AG*1Z43~F>OSHc+nEO~dgm9diEapBDGM~D+&)5Ld8<10x zh;#)6B{Fh7L-9~=_}p%G?u+CnLSFa8a$zjbrp8Lz(#^afr+r_RMC;(KxS2RHX44Vtk4vwHH@ayH(T&4;}GDdg?X z$?wJ6TRm@8uXQlvf?={+2MJg8M#xt9g92UecCK1ia^wa}tw$wmko*I@SACeFM+a0? zeX)J~(W)OJSM^8ep>Sv|L}LzSZ`1(f5QwS~rS-LvkA-Fa3oI;dV^JGOo#Kjrf2#&U z=+LCN}%#QTyznwvZYvL|a1W(6k`B z*&x~qk|a(TYHK81wGBcd;&{MRueN0wP>M)quwI-w9Qr{z+cDMyYR}c-kbuwjh+MS; zLc@pFG#~HeK|c9{D#iy42e6kqdz?zO=?V#j24~ZO|Dt3POkW z1=2AF(r8GeAMK2UtHvNCB)Q?>rOUHHMq?#U_oP~?1+O{|eIlzm#+sGq_BcquYCIxW zO+aW^(P*GA@#J$rWAkja3vz^1y(mr8O8()-GSxYSPPxm|`Bdm|+g0kcFzp7RL*s&J zw!ySJB!X!VBwW>ikeK|_kv0HGdrFRmv=^1E!;S6`(%y{q;YM9G3EM!l4pRMR1J*Z@IQ zFsNogBB*8};i_2(iE0p?V6E zNi9Js!FGsL(5fqFndbE}yS$CC3>!x*cJUCtrBc6zF9u;t#n!bUN0?49OyiIU({?0W zl|V?Qa{E-d1z_7Dr8L`4R$z5S`cAe<#`Tq(l0qIhJBVDh458u7h6Ffs{FcNsCzVOy zFis;|0C$OIMr-=h5q?3NEITFsN`OcEMMIa)tW;`I?S{~ybpiO00hohCE}aSqSLG2B zAcxQ87C@~aS;1O);iMy^Rb;GhFa4&ea{?f1fjzQ2&kzB)X9(ts8f(|)u{*x%D)!)M$~C6 z31p{B5smB&$}D8`jmXYqtS<iHpV=S$5Nw_ic%unEHL0>kYBNQB#kNVw|P2+577zmOR~ zyGZgiw2P@~T^8sXp*66?S4gcEt}7vQXkKvbVsKpriQu{#30GZ%khuI=b7KOiu9ZBE z>N=`f{fjOU)%A=uD$na1AOWfy5xMI32n{M44WQz1V;aW$>L%m}sGCLU7OmtDVp*m- zra<4~P@Kg>m~NFiEljsT=+L-eYBrc|heR;lfrP96fRLDE5L+?;NOww(hIAK|tdTz5 zA*8z*>tTlYdk?mO=w3vw`XfSvhz0|Q^b(3fM=G6G_aRd#-7k6%Xg&WCU3*rFRRvXc z-ZImG4NFI4+Vb6d>M+FYL9t*ldk8{@O%Z0B8fFhe!dXrA2okRP6GAeRhjvxXIrOA# zI#xYOHUAOvqxKZ0dW_}$xywz-_Hl~zL*a5~)Dw_{@t+a7>Pdu#F&hZR@=pfJa}ui- zq&kxY^%Qah@YAC7j8&!>NVsFvDZcM4Xx;3N=>=7AjUHsZ}9T5?)DI{H>F++*xw*@*Z=``paJ$4 zBm(ShBwY0lLIU$Ir6nWa^>@kDyxygvb(W)BV3$7>>r3+^#MYIjD`cq zc%EzI=0_tRG&iV(72%5)}Z)HS?{Zn!@rZ1^vVWK<4^c7=$o};e%8rwkhFGQ~T2BASjgCRss>0(~} z8##jLTT%K>EBPaQmRUL)SbSUN-ah|KMyn|dIKPI z*eIbl)X=MeM6L?!BjKtI5R%?-G&Asgu8LuY-j!b;2C@SG`Vd+HqXx0OzX)b1ac@Xb zeaogWxww)UH5di3ABG@u)kX+SCuN(lALO4rUz?i1Rd{1ah5RO>u&GvPsrSgUOqe&1 zUj0`hKbl2Dcb}U{eHPu#A#`Y1=ss-d4uwSSK8GRUsx1(bE(h&i<>;1MiZoauZ#>z2 z^4W^9Hw8lfw#GJaY=g*E+afeLXhe5Q@1B!ag30N03LP?`BFGgi+lk_Et>|9~Ou1@k zN?7Ek$`lVBy4y>=L2uL!5ISst;F)jm>F2~f>K zgn3_t1{IA4Q1RxVE78tHh-yD%3adGy*QoVcI#Gld1g}_CSY@orF9@F6QgpfUl^bo! zEZy)546h3<+fZ|*2^QFS5IStDfE{AM&X=;heP}|;Rr|~KP&sP{E)=FgIDyg8@@vBa z>hy4JXl8l;+AxIh7gD4T=EYvkDhe6!AAkt+$OsL7whZ`Xc?Z`E@G#_}4ir963Lm5k z%R_KvdQH@eJ=DQcWU*IdJLsdc^7KgdcgC~33VYbGznGO|4j&!zmQA%hf|G+fms`a+A&c@s6TGknUI@ck! zTK%UJLWkz1|NPnXpClx5V5X38m4lE6ri{``COB`lOtSQGnWmO?%TABjHM$ti3ZYgNCeUfBruPTb=p`%3SXszQ0&>8Ys!&pyOLsgxKP2f2Rk*iKdXz^>Vx)cdl z{RSa%g=eT?2FQLZ`5M{psA^5%&^02vjB(ivb(6Xr5+J(*k*lsmXpqrx2-&n^cQKV$ zS0PW3T`g+YXf?lg=~8QjjJ-=258=92YPE1(2cbjrf@_Mwbv-14>jorTbtA$+?=mKU z>i3eTQQbr}t9Q{QqPm%}M&)^Z3nV~wDIVj5Zwi#L(_t2YlG-+NCeS6NVw`=glr5i&~op@>VfBvBG-8C zql$%xt`N`tjP-(5Ecki=TR`(5B3C_x(4e8Q02(f(o*OGJi>Zf^C3GGUtv_ikf67J* zRqsRgNnDDD`p~0NsRigU2pw7%K!+GWk3%AWo4YFVcxIz&*f zGuCrkbHL{fY`W@AgoY0-1^93zupG;u{zgqsXuTymZ)+WYB!D7SxmaT*j`vVJMCKi- z(jxPB2p!rMGLIWF??NJE-b2Dw?;|7`83~yB)jwDWa6XV+4d+A3tRW>mBAkyH>)`-B z{urBJ^a&zYeTvX9qRjv!9%_yA@fL>q3|T_ybJ6-jYxzA$3iZILtOwDH#%zVxG1Nb$ zQj61<5IVFjobEB4zJf$JeT{^x{)N!*K_v_78x{kpe@nh5^(|!=xJ=*M8M=7u@qV>R->h8Xr^u*snFuo z8$ySch0`O3)4CALOx=1&xT=q+4wY9!P3^$bSH!^@IaNmoh@~HEF;8viVt)vLWdI^q z)rhv9LZ%sw#ha_+X{b%VEUMN=rhwT%^ag6Zmf0Q{uUJ(yWu2&es-P{=naWgqA5{$! zBSF{Hh7dYzjlkN>z#0sROd1bC0#mXGx#RdUcwjETw&>8G@)?1Rsp;P>hi8j7VR?T> zfG_>3O)09EIl{$(`qgI00qe~XxoRjv(*@Z|u$F)N1*28_7wXk8h=uYNqOqmc@DJ4{ z7OKiPG-ipuu#guasrpw%&jPyPc9JEvs^QeK zu8MSsthQ&YyQ3(p9UuUr9TB-|1VV#|CId&Qyoi}qZP`pF5zVCJoqo)U?u2r}Y@}2% zN>|Y`%j=oVA&nrwvYyH7yeS^>Ej)Nt2;pe4VIkZZLWhkJgu@NOF^~wtu}HY879kOC z!H!woAc)pUNlkPdE3t^uT@oG7xL&?MP^s~10`dWP7eubAM`!@EK>@(n?o}wPQWKF7 zqPrsDs@)K>$>xm=6bT~awY2Q7j3`g%C>{d1yHsfb+yg>~wguo}24Dju0&q_xT(uWM zw#L7#O8wxqw`6Eulc-}|C+G}$?Za4KQR(cy*aV)*h+H)Vp}|9Q0X!TmHy2c_P|S~4 zQ;{o-ritQot>{0xFy*R&Dq|#_z^gU{YKGKnftm@S!v+Yb4g+cyBm!zS60X`0Awl_% zE=-$bq(4V;HLXS}TD^;Ik=9(sdbZQ(t9g(C*?dHp`(Qp76u0g$;qiTQ11=a#l zY1S(Ktx$8c8YbPVELi!_8$N2G)M#OfLg>)6VA|ebIsg*EvFRI1Z0-7a=Ty+RSgNDWeXlM`1Q`4zDmZ-KOR{$*)#h6y~ zC;d#hYM4rZMw_Cckw=@B+0(2KC$Ybw^DABuz!It&R{9gdJqGN)`5=?RccD6Yaw zcwMQ|0(1m~4s8pdc?QstkO-iokibe^glvsJCo1)W&oPpr`5a3fiw~V4pW_(oQ#Mr9 z@z?~O6A)ou6`{dHa{)ZO30g2~dgHEYHL?WI8qqpYYxyH9DbxcZs|%@QBE4(qWPOrU zY9TrqLWkA`QLRCA3M7K)R3uz=8bTuSM^>H%KssHrG^8`AWkI4tgmfljJ+cyIbruA` zbT%SPt0FX*XtE-v-PAeA5=`fc)_GbhfT^c%dQ`v^`iO@*Un;dQ{R%>d)&*0Y!E^y6 zg6TpeuvQmg2oo#-(?yb{FMcEejJJBBtvZYfReZ8z2Ct8xdg|6`{dIlL1V85HT;+)rN&xHz7|r-7IRiXf=PT zSeL2}%IZ$KcnH+3QmX~(HV7S>7f_20sM{eCP;$%3OqghbprGOpi*I#`GAqtXV!fL`;t} z*0X$_fb#@4G0lq5z@eo89QLC*u|g~pQ%_Qv6MavK+S6Li??<{+bwE}>(#1pl=ozWi z;`1zo4$TXncEjg6NQBSxNVw_+gn@o!OaRbdBu@i+k!n^yqDuty5@X$uJg;Ad1gKs? zgo##!1{IA4P_Z9PDPkektH=>huZhy@TFD5*80(dPC~8Fue((L*s&J z2ZQNvkO-!?kZ{%82#LvmdaMlq(mRr)A^n|779_euNbfS%BPH?oJ!}Kf`-oii4}=C0 z4F(X=ro3;W*Dim6d;#^LsD7kXTc)BEC;CbyE8{BbQRZ-v=YD!sb&dVf@W)cU#q1LZ z9kxT5U22$p3W+fL3<+0#j*!gwg~8zKDcY9$g5`nmpHfgG{E{;3K%}EY_!VRQjjvLZ z)z^>$q2h1A@?IBLhdIdu=tQzu7D1aRd43$tDtsy zT?l|_Jw%w1MQAY5WB?QUTYF-8A)8I-69v_mHSrAAPgMJBRsT72sbpnf7OPV65U>GK zvjwaMLWfNdU_}FLeMkh@21vMSAVLC@=gizC)=y<(4Qw22~8A57%(b+-k__u&4Qk9Z*lgwR@;-Rj!qf}`@8Udk0 z+XBfokamJZAdN)ARih9Rl0R!F^@Go7$Fii+0#7X>%#y^oTh+L)6qxK47y`B6szzZK za%Kw4`_6<{F-}E(X%(Y5GmRpB_Qop4x=Cs}1Zd$5M6Q~N(D=b7i67?cRPoM&ngyYB znb}f)KV9BGpird8K4YD-Q9N`&&5?&$@Ly*U*)+l)=1S%}D0QG^B!%>@o9o}Dv^6@2AG9e_+hv`F;$ z!UG#M)jO)ZVpTDfAu2zrJhc$61EqQk*Fg|EY=_|5$ly8{5_ulD7ztM`LCBWzjgG+c zKx0cCLWN-t9VtJCTB+!FyYS<{r7Z6sLmQE7j3RG=umRNu8SustxvCwZ!OP}J&%;5a z9|X={G<|_eKrCQ8M59w{_(Q8E7OILhG>-4iu1Kg5&ZJao;Y>m3(7NEf!{Brvk>0lq z30I{N5~n|1yj+p|1#9FM)Gusl(LNV!70kB8v-E8A##;MXb{n4g&rtV=PHj( z0aXyaqSo^dQg7C|DymWsG!xsQiSy-BrG;q)gbr;Brr#S(DQIEl#H(JZ zen2`*GJPUnJ4^3%2Wv|#QkEJ^mKFg?%Lay*R zS`?4bivIY?l&c1)#791gWQvFS(y>x+&>?jkgbo`Zkd88tj)z40(g{dl0v916$@qyw zkCG9PS}nP{JFTIjbvmP4Bz7WWeb5Ea<=XGpCUt}`KYXkKtlH@MD%L~xyr1SWD35|=+^WlR9p zIg+Pgol7#HN3y#kxSb0s2IU4_u#p}7Da_M~*ItF1kzu11~^x<=Hl)oLv*D8V78 zE>#^;*`ZfZiNuQZ$sp&+YuVzY#V?F zMx1v@sXypa{)m%J^G2L^N`bq)0@jFAv#a3C-7N3>5*~5hgZ$EnQ+&CXB7ISlYSkYh zfFJiEa@G9^jUQ~1_`wk;(p>L(ka_?q=`s%@fwi;<*^SMYlUb&EhY6f~%#G-wp~LE7 zsnqHdk3i_qy7Y;YOrQ7@Byw0iiiE2kL&)~XWxvb<4y?x|OCMNIP|Lc{r9<4?e`c(w zfe!_kC$Z_Orw|%2v=lg^INx+&sw0t7Pg9q3D9?!2vs%kPHA|r$@RS`;JmpC7@Eb(W zNv#&1=OJ`xUhvE`cwT@+@cab{d`JPIkEdjUlXEXgmd5ikwXE|FJtCf080!wCef}#1 z;PfgYSG|VNaH7coC!Tp`CNhnwHuXC41k@X%_NG?zLFrP}Nm-zD@lZedo78H7dJ95_ z<^|OL2GrY-2&i|Ez!ww{5|n=pGbTXlUCGm=-lLjDiY}4V`;7H9%=7vmkO0*Oh+Op{ zLW7D%1E{dw>wsC)8r4Tg38;^eaMdRW*)H=rR+g!bDR8`TcP~%2ho{Rwl{zg*7003!A#nFMcC-y%;SeJ5()Yc+rBQkSZZsjN4dQ-;htH->uD4^p#*>PHA2HbGFG zXHfkFiJ$Q7rg;m&;J&wSF9?uGG^>pUhxpH8mZO-wmyUo?F+Dk0k#1o z0&E}>n9D^-VEoRrUWcfcpb4!FB~#NHOg*c6(J9gz!dTy?7{@n)2)H&z5{i}isjwDV0%7sV`l}asA!yt5MT}Yj2NNoX$klGRn z%-|vJvu~A+cMS{y&T{~u!%`sga!^RRf5x`hEtUtX?s!H zK`WKR>EZ3Pz!}QG3H|nr+EFUC;EaIKp>=_Cnt`(uBm!q75}4OT7=i-}fHPXMG@PBO zWx=6CgfoV*hSLo=W3h>4vIq?vTB-zRk*cFA;fxcd@mi@I&Z7Ua=d1|zoC#8?1!ors z9aSi`}OtEdKS;!_9+4IEku z!0}Jqv(;WyCZ4@TZIV_Cp16B>SGMdVWcrSr6K97Q?ISf?jP`}lVH1SW`G(PCNQBW8 zB=9)|gk%&xal;HiO_O{LYC2UdP;`x;W-u;0anDvWApx>ki10}Sga#Q62asXA7e2f` zyIJjrq!62fgsU16vTI#oY^WtRUUL5qSUFC%Hi~I$W=UH zhu=?6N~IQ@6od|~3!GC790wACvkVE$+#(FYfd#nlTJW6I!%4gB2s3+D&Pj_x=cJ<4Y%y96p~EH!qYDkA z6_5y{l}KR4EkZI1pOat)pbnLM4eBteTA=6}K^@Mx?3}bnxsU+a5r{B}i_jpW;Q%u4 zV4JUwLXH4CT9l5_O6C1&{(pI}Wkalvl}asE$3f`Oy0ALkusR+RVRZr$n7u_9>QAr$ zOsgeJV_HKk3lkk8rV|e`TbgHPGrqzP|sfXcX zwf?k!h|%d%v&HBP2pu*-82#EXIujCMbQTi$+yTPM{Rw6O>X(wQL7hWY3lv==sB;;Y z^{4&Sd5{3v`H1kz1B3<{4F`~U{b{bc067BeLQ(p)Rx0mLbN|c!)D>cNkyL82x)?%- z)`iu{hSepI2&+qxz_$(%hWZmM0MlRAq0vN|dhFO673Yc0RzIox&3W*GQ!noNFO;XkFl}F>tPfMBrSHgsW~q7=i-} zfODf{X*j>9mIa3n5zbAFHJmiy+>A|E-Gb1-p``#EPWY?tE_Ew4$>uiExn1k{6aFaD zQ@<&{>hmEFiif(*9a5!5<_{1$v@K+gFl6q8M9AEQgsbjGNHYHV5~&|t?vV`5q3 zk;o%bsYU2d5IVFjgjO3uk3u4Z9zy~Xv@F)!Ps{ zv@WRrXi&WaiJn8{unipKV8(cp_ zBDi{?m6)nUNL>EI0b>G3VQs5` z0;mQ{o<=o!92!iUK0|GW4B@o7=nU05 z{?GtLszVCS;PPyRpOg2UQ%0Su@5`nZ85}2e#NJ#!#0I45@wvh}? zXj|%7gy;+jMHuU$0aVp?*aV*8h+MTjLW76qLU>x{HmV(vA$WEaoe^5c$AcpO4Ica$ zdI-->Ql*7wB!mua3!bdOGYS&HGa3n3?Tj#hN9qTjF_NM2jHQl+ht3dBEn|%bs;Ul~ zz%ve!tHvWVcxWz!XIZCG6ObWzb`hO=t>fcCk+sFcfhCHE@Jy5{Ej+tI=+L&{dBWh? z4HCh#I})zi1EG({)UO&?2#ofWT+L`N%B;~PJtCvM8EZ!LcoH_jXdguQJu-xb5p9MT zEtuA;4>EyetZm};X`u)J~-d^nzv|rBYu4h zSwg5uwD#9p{)kBm^}xs)2V_>@v(}-0v_LAg5H&;S(7GVH-5^>Bi6Dw1fu9~jNJRdK zNn22hSPZ220dDg~%7K(wr05k%9mH4C|F z4nd~SY8AbuTF)Phd&R2qvS@k5L%d>At;MSiLWlN+*EGW`4vFw;M*=@9hLF7c!MJY& zusS4DcdJh7S+M97VI>*s!MJfe1rcyLi176Rga#MQ25_-!@e?%@RT^0Wt4p*pTFdWR zQm87b(1=NjhfrmuQVUf#gbu9>szVK`93+BDA%X7?APjUZ&jLUdBuj%TQp*BGhX`sp zW8JH?%PSxNrj>{=ABxamqR9XzUREck6Dwm_Y?@GqB3n=$CYpz9P5;+W{DM_*S^df{ z9>V2H#TKq3AavLQ!L^scbtEK$>nJ4fH3EdhCBKHklU11&AUj5~HL_!=X(6LyM0Olw zy=={|KphVuu$_PiQ=MY2B>}*7s2}Nj-(QpWvx6ELIItRIe>|9YiPb>P!Ou4m0W{QW9oiFuT$bJQ( z!v+YlPJ`?MNCer1NZ?xq2m{DUM$pYJl3b1KVk%n5=oXP(!dN3S`sz~1fb2JjFe{4C zAfw>`GHmynn#>kb8TC7)1=wXsxax9*Y+VCN$P2Ghsv54)NlaH7!gYnzYT>#PLWkxB z*FFZ`jnsuWx_^sBT1r6|D#j zDjE%-;=N2G?qzO5hH$!BbZ*f){%90MszVCj%iyP1LXd8iDlJI2LFmx7KpJTv-42OB zx&sM(uK*z-`S&tXKM36^8Jf^t)UgQB84|jiu^wnaRo#P4;JFtOzEptF;Gwwy9==8w z>sI$cE_Ch}l?Swn|0SnbcaLz&&r}>s$HHq-9+Vm_I1fSS(6qpL%)ogV5`psw68J~~ zLc)-o66Vrz@bD;~o2u~ci}`UFCU_665ugX>dB1lMOs;Nt`c1Gsz}!1aY>YFz)Mo`s7} z5!aWDy(x3g@vk5PuCEc{1F;AVE}9MF;-}oB-Rc`;3a)>P-nUw>Wgl~i)5X>Xmw9?8 zYYU>`v($G|wT0|^2pzUTkX>w${Q!v|`wV=T7{DtG%061+aIhxZ}RI)hH9dg>5 zv0gY%U9}CifoNMq_zWyUgNOzLh)aE%kC@mk66RV-5tRfS%~;vrNMq)rRfE)Y62 zE~r)-RP~Sus)N9*|GD-`JoQ2F?icgmfa@TWxgl`1VjlOc3yTL5ii08N2J z08K>#YgG{vkUu(?`oU+qWN1D!sAKV=GvqUqu^yd6Rn5XC@XSVp&$%KrcxWzwhZbiQ zl}g29nB1F#Y=P7$nsc?Le>(RIRzYPQb$;AcJefHh0D2DXrz7BD(SU{S{UbnaK64uBBY79qmCDnf&erUTe`u1c=zPAI%& ztqw%4P&-Hz57vtQ!Dq@q9JCtB2;ydgZhmwD(sUUec{ zKqW;pr8P@S?z~6n0}QS-B+|dSkZ@H7A#uqP zP9EyzX22^e`MQI3Q`PEVbdB6{jJ=O#d45I4D+MXY(V3POj*1=oHC*P)OIuEUVP_hJ#6-X&u= zZ2+KL$1;dGp69jErifSm)006P~6SDlBD!2E|_o&~TvU$Qi-Us20qMTf}h z0>=6Yg(#~FApoXdBf@MdLW7AW1DLSw{hCg*x)>V*>JlVebtytN%&e=zs|)zio$Ak0 z%et4jb!!fR`i)d-f%+|k4y_BQvkj=+uGeb*B(W}4y(5+3;W<|q z5AnG{YPI;>2%$ss!e@-(^Lt2y&rL|U>Sl!G<4+PB699CJ+QqAf~bcuj&W9%(> z(O%yU2~gdE2ve*G4JsN9pyCl1?}{x;s5_A*r0x=}yS0|zk)%*{P-UY9`L2o-4}rQz zDz!k}3!y{n0_tc3>W`2JsQZw>rv?!E9f@T zLjX*VAi`uTLW7AW1DH5kpF3radK4J~=`qoHT?ghUWMg#;F^A|xVzv@Z1n&@+;u0X<6{t0U1F0(y?I9<4)FJ&#S`c>xio zS`ivNG#9|b1FmURA&IZeyofv@^pdE(tkwJjPM4|<$vWV4@lZc{MQXJm{S`uo<^_^6 zkY0sEAiahJma8HpB>#Z(OsF?l4zS*o0vgueD6?SEFT#3@u|DcN*WZQ&yxu{CF9IMm zyl6SVi`}Ui-*A5y83OA)(Rp9%w9G&@A7Pw%_M_0-3Gsg8T z@*6mzn$+jW1;UM8R;T^H|I-a3C*uW>uas$pTVS14?L}|C&fcO z?_W}>1@IdP9aH;i`4DUTGFy7pscO0_D{jLbaY$ zYoY1`p+ozEYDa^rFC>Dh9}=$WkC3SRhZepKz#1T#8deSUELe1ku-0enO(%PfZvYW+ z4Mc1{ci+aPb0= zoSP_M`TEw#6I$Dd+O}HFzX0e`RbiEnBRJyH#Y3n)_4+S7JsAx2RO3wYM32J9# z2&XZkGgj;PLy6{8wL3z&eYQEFcnDIhRB1t~gV3REfi%KE8V89$8jpmlCLkmve<&gK zgU~LLp$XMf$09^$NN6HsJ(Pf|+7+9?vl}8;?T*mkp}7DaTIAQ_^*W+GkS&lJL~~EA z=}-Lm1*`NY>rCYr524yiDz;GV4WYvp2&y)NY7!)ZY9A!9+7%&D`4fL-Rsd|WWNTnk zsA&PCV+1ypv7Y$zD^SxQ1h(mjTr~rs!A8>oY+TKN`SzKR3$IzCGFz+os~LKpZ4Zr4 zbK%+c{iH?<)Eo#Mnifzi45&s(1k_w4uDh+MT0p+Q4q0W@;JEo@X#WC)uBL}!uKDIIVNdwjrUA8`3X_yHGP^On3O zcU+Pju_U?E5_KSi4s8pZjDd3yBm(DPBwV!^A>sH3oYW6GOC&?nIfOb^|DiLa)5=&M za8OlCu?ajeM3_rOXzySOdhj9^%LoLhYiK&}#mvTbHVGsD+24SdLTa#fJ{5 z)#^c=5IQt3kajYVl8^|b6cVm-5E7Dq>NY08X_@3{PHC!HoahocburebZmq2{kN{N{ zk*m598dNkIK*gb^jI31-Swc#QR$goQLrp1E9hBXdqku3CwZp!}hxX91j6NtWhxD77q3bcmb|W2}do+U3I`045iatBycuFwtZH6Z`P~ z#aR17l}O~(k;oQQM~UXqTGL167p#J-bP6Bs7Y#jzI7TY9P#p`QL+gU-PX^U-kjP_* zVx(-h&8s zsROh5Re5y^vV_yAqIH_q@;OPNDvT=3cuMh5mpWZ44LYOFfY70J;nZX}oe7C_sk4y4 zEB^=$C%OIeECA6jB};dybEsu?DLO<{=Q7q^O1pd>1i*AYBE0O6&|sp;P?zG;mDa{Y zM?qbHY(aIQX#QGjwoC>~S@~%SR>4*3Qo)}eVcj8Q7fIz7vWp>f*a|^*i9vP=B!cWx zB=F`xLL%E3?W$x6=zc3jG`inW+nNKVgG6^3W8KSS1&?63975o`0+Fk(L}>8Qd;lNM z@iQ09kItK>u0o!$yIRz)(Q5w9j4o9LT=*Q{sj|gPd-&CxYo%I?+I0{*v@g{DV5nUW ziBP)%3B31@kktH>yk~<4J~`A>Q+Rqx(%UWMWX>$ z94_RSXVmS;5KwoB&L6anKU_eO>Xd?@I9rM0p{{kORB1uF3qpss1=8UL(%p~vP2hPD5kAt2(BPrD03OaG;Gu$a zz=x43h#nEWKWROGF^pHNDy9m@VZ}r6QK{GB^caK=8z7ucFq|HTL^wTx1b&VSAvwun z81wi+8v(2*C0E0Gii+0JN4E&;X~z0dp!od^wn6JzM6P-cp`k^i0a|=oIwhUzP|qVr zP`w~Zf6+?**_~yoatih)-W9i@c=(`uQ7W}Ky#%2{>%ytQaC#XM;q(d;SnrCEoc#4w zVu6R;tCFJ`y+$SLkfT3j^g3hBh`QXdf{)&r3}W>SIWO?h{0=`V^r-N896jJD!$Qf=kR{YU z7p*U}mOpftLY0AW@K8P=HAhK>MWX+dS}kH)E5IfEg`w9{v_B9e%@`{ke?zQKCbnG=Z_c zZPG690s%19BXZS5ga#8$1~Bo=H@R!V9^=NVU6Ci8b`!PTwVHo{(50$_vN-ADAy9ir ztrn;T2pyUiP>lxEo{$Kry^z3yHnnj8(k<`A7^|0UbdNL$H zH3bpA%!<&UqR{{<4*TQrHZ=_y!fCqb%+NaiupdRLLkeCy_#nuCy#5cSf_ELcAXHA;piG#6=m*iUCjXdYvIWuUY3u?aj)i0~~| zga!}ImE$Q!2X)6(KGE8h$mj7pS$VYpC6=gWgwa89EY!u5=hl3-sPK4kA%ydyHSGyJ zJ;U3;SQHQy$wskaA={D77BbmFqBUQLse(EHIdj&D_RGY&5-EHrVG*{m#ueenWZ!5_ zTXyAG++yN9t`3AO*)Q5R*(Hye4&rA2XutOC%2l0-j5?Ux1EMwQSRt`;Lb8AlcPyr; zCfa9}%&#or*80))mt|78swMIIR$d)K*#^-qV%;%Z?Z&24@kAz{7`r^7@@V$h31i2p zRu&l;UAF^Yxme2dpy+@OOl)rlP6BekmwMUigo9UXml#mIkvs6sM?WJ zAQzXkPDHLsvM9O*-@q9=dTeAaE`JRXl`llFrGL4#WjgZe+Vjim(&Ou#?sy&cjeKru z?1b8tb$L}1)bT1xBeLu2^xB50-Q9K5+M>0nQ>9=nxoxzc*B0e)8+~w@v|?s*7AL+j z{jGcWPD_f(QFD5m4xMJ<`pPX;UC2at%pk&oR;g}iv=^?pbQ9gN*yebCcT16+F4EFy z`@Lr*v9cR`GgTPdR_wsu7|Z_E5E+gM=~O1gK1o;h3c8vo#3v0eAxmzZ+}1J9DKS;q zxpj?mc@%#NLOlQqCL_Ti>qwDw)D%szO$=Dzp}F%8fOnhAvn8MHq>D#3=a-RgcZ0_z4m|& z)*g(aqh=2FghFH%$#g+`Z9;VfMdGA5mMKYx-RKZli^QhRaZVT zBEsEW(Y2$bd}Y_RGOitsLS82g)v1m_CR{ldk*kiA>a;6tkapz`wsjI_N}P}A!J!C} zYn+jA#96?Azy0j=#$eqU!=Rl3-)D9>QD{;9*46rHOnSj}o$xp^A7UPcT2*%qgs z8Oy2IMHw%zP9rxDqR_GXa_S>#;G^4vTXK{D;|ok@qY!w!E1+Z+?e0|y>yAmrr$RrHE3 zXv|kQ!haz}Djx>FHHX1!6vAO(s!?mOjh=rZA}k4)8g$R6S?T%qU7cPZOQ77E=Bb#*INtfm)3cF@2O|i%BPMyC%4v84&&ZXXEo)L~7*m^7on`Jh#;tQ$xg+lIR<;LS z_;4-?I~)%MeK-%2_X@{9GC??`!yuVf#TVkyAr@#9y zp>^%=p26MsUsnzam!dX@Bjg~3-$0V=D-^B^QTQz~@%w=YNukN3keoYx;q2zh1h|Vm z3Z3Z~2M_H9aOlbigwAEjY*(Ugc`C6YUnhg~3T|IUbK31OCAZhEHu!lt)SZJ61pT}M zl4L*e^ZJmVS0WR?afpz9Mm<00;5Hz#P;LV%I$PS?WAoW~Z93JxYi)FlahcP)ODJXvh3O=au++m=c`-asqb$L&i# z_E-tLx)E9qZ-Rne{T`C!VDak4kXJV$6E934q*wDiuk`&%-PFkBrrD7N=FTfJSMI#v zDfeR@mk$i}^R@amP0pwj>f~mv4nHZISjl5FU7@$$LSx#w(VlZ_Sr>e~70M28{enK; z21#;5@zMOsZt1#lJ2G8$2f}h6C(G?A7In+*>6pj?`u;RBp>~|?%Tiyh)pxSuq1?^J z6ZyKv*;A*_Yo3lfy>S(M`~!^zee|xj|EVtccqfz{-XaHmybF@#2IAvQq5XI_GVvL6 zg!FNtw;yNVp1Nt;ocf79^iHzpFd)$$tIfpoMLF%PNG(g%m9(d3@enCfC?E8gE9Sj4 zsXZN6wl~+hM)>$i#~> z2UpV2d%$LB5BOq^^Eqw+ zlIJ@7%(yc}+KqgSre6@nzi35SWa7Uu?zg$p-TjNAQMu6%m`1;ZLTEIXu2iU1y^L(M z{S`!bcq|p_wzE;X?FX^#T?D@g?_hprAd9BnbohNL=Pe3$VX7S|`_3Vsh;x>vM!kv( z;p}T->GhJOWbfn_P72$cit^-Y>HL=4HAcQYca0Le2e9VNH6baJbs%x zb~6g8LOM~S-a#H3@pnY{R6Gl!|8D{|yVgdgmrvnEFiED~Ljg=$vB{-2_K~X8`xK&u z|By<`T8L(GqRem32P{}$-N=W?#~%0y5#G&_+J-uwWwx{8{TSwOW1YC1Cu`IvCbbRx2JslVGB8sOB@rIA!V5{tys_)+mO5zL>4iZnFfy@7%*n9ZbD z)x=PwfR7Py73k7P7PG1l@FD-M^{psZ%i$L!x^}5JLcK`0$}Ugg0Upfd6NN~&qXzeV z_^MmuJfkb+L?O4NGD zM??D{!q1^fW!hCX!*Z2R@#w18y;VQ0+h24CXkB^KS5_$GUX7GqzpQlGVM32KkgVz+ z4MaXX!uhqAcX+8m5W$HJ5#dAmqOYBxG0O>dEPXVpAzE!CQQKInNypRqp{8#l1vm8y z@`_e|K(py`G*_YV`oy8O)M{Ia+SXc4 z8n5$1jo(HJZtE2!J@4GZc1J{9z1`a(AMM6qq8Cr`!?B4bZ;uFX6p5~GGL2YG&Ot|? zH~&98y{R2_3r9!`chW6v`TwOUp&c<&+BC{*6W{TZ9Z`NzkCx2pyJKhMV|U=R!rkE= z$zveIP8o{`-=~rq^iH8cYo`q3PN{a*S9Q9kaZ=NGT~kYsDj_E)i0&?)u6DBQTEae8 zFPYVyoQQnSNnca#3L%`_4H4d?k{Yy=G-x@At9h?l6y8G$H|WAGBK6ywz-7f73+ySy z_VS9I3gtz~LhY3bYv8U3Z?>H&drrQRR~>v9dpgyTbgWx95rWpng1 zcODb-M6Wu*`N#*s9Z>DsbSBk=@_@TPB7CDuD%Wt?ObaeY8rAxqYStAkl!~IdA{m=h z)9}HR9bpHE_99PvEbPt5DjY`-kq#Z`8hL?(-M4%l21?VpZiI*VAxqS~=7SM~VLJ15KUiKBy( zsm^2?{})=Y&O1jA%_)Z^h)HXI$J0J(u-Pj}lXRfGDQ~|z8T2Lv3828G$2htL_ z<`nHnk!8AwT>cKvBvy38lfzXSQk#n3Il4q8+&MNkZe*yv5B5+N3A_g<<%c?lV2%Wp z(r$7Ku82rZA=MnSqkSa*1Si!Dbv#>alHOTfUq4bx9i>aPyo>9ucOP52+L>O?4j$oU zP&#*HbUu;p7*lptWDkstsyVC%Cr}<1qj6o73ua_*+_UoLxHTTbf)<@QX(Vo((;Z_c zwR(j{?FmJkT}Jv^dq?I)8yiPOSR+r$)0N_(hA;ACArcy*@LUzLtde||Df=4}8IA)r z(bX+C+;Obu)vcyN86J`5aM3w_ye%UQVf)+~1hW<{ zIM8d784i zP2aP|4Rt$nDmt1y!I3kNQ}w*#Sm&87O`kjl+US%2w;TN*(v8%y*x@+W9EZqN$FuKv zR|TF|0#}6-q{uIH5m}PYVFicWdJb$wY!wa-9*ko+7{_?N{0xL~RO<{(nCX#tX;g)g zc&%EEN<$smjJwx}#qfF5|Af$qQlP$N8*ijjy-DgM6ot1ZBXZR#qBnFc^w2hXUmB&K zDixgORWJ&M*VnucgiB@XY*LF4(d$D{b z&D^j3QVO4=3;XwL+E0!qz3a=lQtUjhSZM$@oce4fdRqgQtAp_s%1e>0|M@<{|yEN>}>xF0|Nh2 zUAh_v&Q|_4Tie07qWabMN@D+S`?CL&u2(@D9pL}&v;TPY{U7Wzbv5YXD7pp_ejAB9 z$~(+?#K<9p(_VtI==ueP&++oc1MdV}hwORLf&M!MSmT#h*GnxoAdL2hK$Zfl8%6kg z3J2#`b+u*Ftwt-aZh{yujWZJu1^|Apeo3^CJnfpZj$V=hq_Uk~ipOlTY zMRSctdXg1Uk7wAB7gdF{`7wUe*;0uWyrWJ3t$ImY!ZTz(RU!l#+~)s>1|o`){D zynqOw<3wnW0H#rS@0LYk$qF-R8iCki+YY z>svTH3vZGSZ41K7cMbe256YE054{U^{x|@UiH8;_HCJr?RoO z9Im%HdD6v?U_;2^OUCsrTnifR2>Mm8iVVJj9vFO$2rri-Gz{2= zo*8^2I{)@{z~EciSX%}+*bKgdx?%9W)c!+x?LT_8+YHzcGWdycearZY4EVYlZ{_g1 zT15~)Lm41?;n6gnnIkkH*pQw<^cJ0UeI0;UPd3&T#EmwHK2SFx`bzEn%4_fM)oz1e zLkMC3*5it<}F<|xgG{@8dgNJDXIgS%@E;hpa=~b zHmzqgLq%tpuLCq&$i~{DxyeSeCDaX?t)%v?%WL1ptKCM!h7irRjO%3)W%zWV*Q-Xn zw>ZZ{yw^CnOtvDJ2r2`Z?GWLeb%X{C8`d+J?L}t?Uk6}zl#R6obF&R*1k??fouu}W z<+YFUYPZ3#Ap|p;akWFoe_ypChMl1b3}X8Lx^D_$Y6gLZC=2XI(k+}fVNvqpX)I)(SUXCQB0bOY59hXP*wE~>Pe30ZV2 zv!b3~2Fcf^5`_-^iV~L4*Qr@7G645A@dWLt+1Or^J+h-d=OtI?r!zo zBhITiA{|)B(xho)BP;BK72Rr;n#=S+^Xv|a?FluHvfg+Bd_EHc+A)U41Cg$7)r4(2 zAUmm5?t|3+kj=rp7+lQ*q}-{g1yZmk8A}(uV$CepCpyq;AD29W$U>HLxPWtBbSv!j ztZD_TY&&*HtKLjv?O__pC`v{L(}z5ClW0O3Jk$Xc_i0bG6+6`;Ru&zc=xR%_*Q`n> z^2r2#vx%$6) zv_JC3?l`W#T`lG2ki^Oqz5#&y-(uba8DrIbqJ6Q5qa)R++N4U^?eRkE@>D*B<(4Wg z(oN&(Y;0L;qAQk4x5nD>)9V7g9hs}6Tf@~Z|AxKPlUn7Gqe`IAn&`TT%yQKsm1)Pj z^NC_Ryu_yfIz>DfPt&vL%krJ6Oe~#ONs(_vdii3TEYbC-q@>RE^$l|?j~C@g;Xynk z%KGv$k#1=1F_nfm+DHGgOBd5MUR6AhGPEQ<{gm9cr?>gM)_t?j9NtPMNB zgP0TD0XW%oqZO%@O0gIZx>#H5id1_csq&D_=^q^w?4+u|f_?Pw>lB&pXTI3599y!O zI=Ufd(r_1A;8BUkxdpWXS*xQ1@QDR{ONYB_B?R-LgQRPfK&}$$2Kg?0)S)$3#0MVo z>QKnmL^og$@=qa$K^FC2%Hi7$W$)y)CzjWtbiPg<&SIFT!B+@Yw)zj^l}qt@Tnwd- zU~;PMrfpAT9OMUbw^bfe^fwqur zl~u}c?N}7Sf#mHIIY9F2I0%2O*pjh#f;Td>J?p=U&~m7G=9Aa;YfKa&iO6QPV%m*a|%<78Jx}F zKn52v;39ZgK_YKWI_Goq5C(itPTp;C?q;f$0pCZGcbFW$eI@UUIDDT)-raJpL#i0v z2uBXirUiU@3GV9Ywv(h`C$nM6J@DWBBJt$(xfm%kt4>iB*cLGn}XXpQ_FsHjXL^!`tu@ zWdeu}MMNMPumeex20?++L^LRkLA&Ew&mPb2?9S}Ou_Z)0+&DnvCX_(}N=t~=0#O2% zD1nHUmuLet{NI1~;-v7A?wxbbYtEdR@ymv2sH>R1a+;~C#~#eGWuQ|Pdl>Z#A|W2W#uoU7|RH0oQIfso9E4f~6*75uQBc*&?$kufAMWgz7eOF(qHd2TiT^Df$!CFV? z#_@F?jf=GlvA{Zx0hDZPW{W7QzWURxX%ksj2m)f>em*U#eS0yROh=0Q5!oZbDoBgv zD^bIlhcCy|9OYu5JQ?i4Pzx?TrJf$tgV5mi7C!1#WqxFZ%K&$SRQrErj`Axv)JbVO ze#l{NH@kQhmEsr(d)8pLDHO}v{rGK6cY|Vc7yl8n)%4f(lSsUcZ{KBNPJ(eM4pE2~ zb))hgf1&PFe`i2EYtg2scoO{tQZH6@bvC)8&7AJXYJ}88j!^`$C|~FO+`#Kzq9?D$ z?f4wsq5HYHp_)Mq7U{Q4VolXWAY z_$pUj(>*{>2=8;<$O~!^@AXO_W?ZjHIE$p`w@XIX$D5MnPLw9L#HVg2THHXC?z<_q z_c_C_OO{Em&nREuH?#vkAn7+Wcg)H^&!ugR=}S{J8(TF@>)Ko5-e^A%bvF|p06)~= L-S#6m(e*gd9WnOtzbw5>4 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 RD(owk@dCR}xRs%v{{_UP_f7x+ literal 95995 zcmeFa2YejG`Ty@wj4gUErW~djV@uc+fvLs~XJ=+-=T>KJ(A`t+9;_9L)#g&UCs%FaX@9O%YpT3s|FbI_gp~~^wT~}l`*XFS zfn2q+QCQh{Qb*I6F=M*Q>oTT1Sj(Bp*b6$wLXt~Zk?rbsBoi7)CFdLw!ENYLumE(naWldbd2Yr z$>j!mRv&ywW$Oz%c7tGGsFp96TDmjYfkMXQdUGaM>ds~Qv!%gov9iqt9a|#PwB}5q zR5RtC!R{K$u57zlg&FAd1XT#OyI`<=>*`=vwN|L%5|m4;dUCzh%JyMphe;h9p@cb0 z=Pa!3=wBgUqfjbPxv8=fF4)dtWfxp9lU-Xa51Q^=WkSbcD5<$Qa|TO0Bh&bw$qf{< z-MJYvGBc{(GdgnvxngJg*nup3t5tT*Z_qwADsnf!M$j~axTI)6O_kj{wuQl5t-A%@ zM0Kk+W#5(Uo8U56t2o|oW&60UZ1-whh-zih%JvNlJ=MzoE891=StqZo9FX5JJJ`Na zu~5oYrYtxV&_R7J#e$qyt2~bJ69-Ct*LS#=uQhO(0&=J#KjpS*G~ziWQyJW4*)FL`-x9d5H$U24*<90ov# zhm{#H(LM%h(+0b;`HAggZ51j<;B>G{H&+hrmUrHfd0zCR!phOC*1YISN2v`jcHNam zLz$}kZbs*+xl+&Rw%o82);GxSme1rT=J%q1$3*_cZdH!WADJD@Pg$^I9t`Qo7~;$)3Fdn?sk$Wmi|0iGEvHSx)cfMD*kI2K*b)ul8q)#p>$9K#F~P ziv3CXWn#arW4|I#&K+UpovaD_#02L=*=^Bv72uPH0Uw_~A)n-SNw zjmxX71gdw1l~oQ^M~sSnXxqZpN~a)Y!%7#cHaCKVlm>Wg2UQ1&ol#qN0S&&;TjJ;T@|~hI%~8tbc@y`Bl|EKwCsJxuINDy`-O`1;cRObZBLEBzOX;dr zRs%{gtn@o5y}FO{(f!LdG;8^?g{x+l*On?J;VFle0oG||geOjK0I3d7F9zaTZAK?m z4q%ZfGL;k=lP`(Pb&gC`WNKk$khNe3K4XM(0cDMYvKBX{ELYYg`?@mW3;~YwQP*w55nIMg_RFGe=kq?%SqkRdJ%5H#nC+-o8P1 zSLMcJ8^4Bbe*$jHA6BCBN%;M#uyT|0`}&mMi?ZEI+A5!x-#3SqTk8E*+WPs;=B?~0 zzi&{-QoVIhEzA#Ax>VskBA=Y;XHjoi(fO*or_2cOmM;lKc9v)A( zBh4>?CVRTS*2Z#SB!pf6O z*xS|i?YSiC{?*~S@2(qKk77^3>H>thu21zr1DJ^ z`mM0?ZRh6`@-v4S7N-q;JzbS&)nJ|rE8n3@t&p;RKuV*wqIpAIgW>&*?5V5&eCq0d zH~*}z{=41P|DNuW?}wEi&^E7-dIyz;d*p}i9(f_}^$XAOs{RPhJ1<^@pFa*OKXHD3 zKXHe!-X|Pg8#XEdP@He$x5< zbAJY(>mSHx@z~r{`32h7t6}Artk~wLSke@r{K_w$&pj`b$FIS|_w+a5^4qZTJICc! zacLjt3|4-x1|g2K@`IJvMCSFd@&{JHwFab&NJLEm!7v$(XULvv4S)2jUHMb~HBmX% zQTel4!y94cFSM=Jz&=x@!STPk*6=sK$9$dM|2=9A^x_}z`k!ItU(V|{60Lzl=&VH; zBHomSzvo{&x45tG>hL9V%1LMe(zo*#N@)n{xY}$ZfMBWtcCU zjc^c}jipyNJ5cFnEOYH0noX3fV$C?pyeacrU}45H!Oj(^ZJKa?-q~hTM4{OXVFV_i z$rPIfSjI7%BZYX(7E;>MD#e7D=iea2>?uN9sZ5X1)({3XE=ZjY(l(F?(zZAV&2|WR z!Qv^DH2^-_E5-8Jfl5g}0o@^@9T{6h@^>ek1JTZiLbD4(hlmCfh&bmgW{0rCW+os_ zkam^YZdR@1(5OSPxf){{Zbp-BR=+PXyQ@SG(H;;6G%ZA*bBHpK&VM}AOV_v5rt+ygboc2Su{~ELNwKy!8)9ogfyYq zUuu)BTHM##TvM>;U}O^WHp_!Wfi%75F}uAFrv^Lg3z&|(L^(1FLctvw)y5zq=;0j zln%2>@twvzjX9Oh@7%G)EyMrua^?1_0@3 zrC3PEP|3T~=nf$r%h=v&)HO444n)Tx3e7Bp4iOC|5V7fE0=%?rYE?5EslqfzigT@E z$C1dx35(0u2-WbtrXk8@PobKpay?YXLm03ELRE99=0hS>C*UA73lI|37O0YE1h^I| z)#6%2MGqITuPsPo!|Qt6UG)Ne~9CfN*`t;aUNSaCP7yH19+h<4PIf&cl;pk@HBpDY_C{tW}3 z9A{09nns0sRI3mMv@U>OaR6(OXw)3UL1@+>BtXui>n(uVS|ue*<-kctNNXKq`ZOs63V&FKgoCYrOD>So~cmM%1BAVGja>6~eG;;A^YG(h76QWw-WP)s$tcdN*x zBjzj!1KJjzjKgy_Bx+yh;2<>TA|#%8a<1|L=RHcWP3k=Acuk7V5YqXKqsO*^qIoY) zf#(85p?M!dhll18t%zg6oN6~-L}A`_AyUQYA}L;M730p$&EgRe#qdSF4w#kX@^iJ!Bt& zFklsg>{^HHqmT&MbvOvk^$3ZKJzvTUpnXi~7TOI|^+p7`Mra>rY$s*(>wqQZMo56{ z6Np0dNrVm=4X2PT%k>0!DL!hptwsm)=!9};1D z00*J@0zzWa{B_s>AU&uQ3+W*$d6Rs)Lr7m_Y-bqq_hFm^(U%Z~=F12jA{tB}vb!^C zy@g`YJc2|~dQ^H}v3l`qx}LJKH3U`HWx1um8J+u0V6!O<~7 z`vGJ7O2oSULkK|Y1w^6w5kg0cW)m%vqbMIJ+h#7EZC*sGi2YcKKe3AODC+X92Ql_= ze737*2YOP#UQ)Rpu$LhWSOEchrvvs1Bm(wR9E9d)2nj46MTd=m*Uyz|dHsTlUN1+t z$m>&U@oY1@jAsOj4WSs>-+CWJb(uO$p?>#z1NE@`mb!<`CM<+&tK+0T-l}&jMNZDflDX5s>RM9$ ztFl_Yfc-gc@vISwK8Kq;|oWt(ZUF2(uG$Z%t8a$M!IJ>PTkHHpqbMuq`623L|ully$~+(0{#S zo0Y>Tygj5Mzk?KZv45)2ywrpZcG!R7!edR-jdBCaWn?MUGC%~Z&MtQip&g%LVrG@Q7TIT9== zU^n1_ND;1SQkrg+;*o%P8lhr4@^CSG3e`a>(?fMIgaM5URkuTR2qZ#vC=No?ijb({ zk-!=Nro)tCF&$1N4-?%XrWuTFtCGJ*;2emKM1%!lgboo6CJ^b7bEvym9xz8EO^}X} z+ObwGetw#zT#Ye#kZkr8rkN_$!*m>k0nH23DGt*tNQ7xN4ni{rAu+|zPtF8D%~hHO zHIHf@D7r*Y$1{!|HLch4Apxor5MePI=+E_VBcfS|M6p^Vy~S3qqYqg) zAVk?3!m49cKOjVEooI6PyEnRw+rANHnAnoqx?z^63Le;{5C*KPz;5lpo~XQhd{~B~ z(6s4%f_m-5K;bHc4vdc0j}6PIGs@V|&iwJ%ur=YIM3KFjPmM}8D>xsW!7-gd;JkqTTReRw~Q8qAYtte?5Svd|XBS*vItqQ76)e zpO55YmLfa;9XZlb=&eOb^mp2m=}yq(dB}b&v?s5Dr3f8bU&fJ9%pWj80dIWpoCW zyuOR>kWt9kcJkCUXW|@)-i;_UXCZWmXfT0@_s`6w^Uc{v5TSFVbFS5iSE`X^G(bKf z{8}Rg=shaZ19TpQ0c{IVzXNnWBm(qa9E9cqgaj0?RI7aOd7lz2p9`tu@u4&1a}i^^ zQVmseF;0Q!5=5bSKSGCx<`Q@`2IjK^Sf{=eX(Du))GoJb@vSyXxf(;NyVdx}XtSpv zeL$spkgk9*pm{+$+CjP!5<$8O2ch{OLP8oI1689=-fJIHn&tFis(GB~5;*J6J*Nr#`%_k5NS9*mSW`OLIO1H>9MOAMBhprLXO^oYSsF#{gLjq(s zBMQwe2puvSP9d8;I51eKnp=@3WVcD}Ggd8bT{hQxA!F;Z*;BY~SE(MZJ0J{bUbv2P zxbB2RxIT-6(A*Mln2L-Y`Y0Zj|hZVu5GArYd7aS)m> zA!KDZKcp+iGs2{hbJy(l}l zI%}RllIT1st*=_Gc*#bY8n+?86Ib?B8+uBGdVrpWFrak-dY1$AHAn>L861S>>j()* zlL0o<$O0IBLrIp=H>u?@qC;f#Eyi{-U|s$;1i2t&|#v<1SZbWv2Z*qJFvif z2Z;jpy!5_n^#&&IM0r>m`r=fWXq2ohK2|k<&tijHwm#N7GtyiS;Q>zot z1dyd67jLe_`5v;T$ox!2dSreMVL;m=^OPg=3rIxfRUCxomk3ElGl95#aQT%IESFzX z$D2*k8FKjzV>=U|v%keD@ca%@Xnv2-;i0(%9^PdOm*7Vj<~1Y<(CgCrgVl-~k1~yd zsIKwQfraG}evM)Ns6stNe}XWebs>7lA^I~ULi7d>Lh~1dapM`bVE)Q%AoVw;TT*|g z%p*mwNa`Pq?X9Ldntwt7R{ug2nl}+TR?`m8{+^Ay;7Z^Uxr4dn@yMnjK(P~SuB_8 z=mpt~XYAhE(9b3az-CiK*p!RVv7s%?CR(dwH`HZ+FlshOqUdZPy)CU?$NY#+l&vA3 zx|USGRM3^{E0h}jCe>^uBT3iH)({4)jfm~wh;0Lj7LB*X0hVMD^6K%I>4~)f-(o<2 z>Q@A|r)K=LoL(*7f%)SVfgOl=M~YgtMtEwXe6tf$zhc2->*xVsUhRkoI%-BUE1y{)T6owgaNIK>X4(FfkgM~o;bkXUWB9? zkBX56G{e1=q*Be^)bd6}Iz(3cFt*K6%4S~(fM`ENp_zoxA)?8|t*RemmQ7c=RLZrN z3i?SuRz>$mJ~5lDA`Y-cbQ~YG%(j$95@21+MK(NyQy~mk86lkL z5H>?1ge^G07GH!!xC0AjYj7+o8abDsK)(IshMnC^Uy6 zbbwi*1Yn$xsnv!|D-J~TFdT&DaD=R~`&9Ft)3mPTwqr49HGI6q;oS9WokD zAj7~mrmfwyK`vO!rP6Ly;zyyj_C}a&tMXt~Q@`>tC#gga(+UU!nii(L940Qc3e!7r zfDOM0i79>*V)1BBr$}xAok|rC5M3dlm5lA9P<7C}3ui#H3Q=e}5jr$9mOw*$*qK@^ zRIxiXi&O#Xl47@2j2Hb}zDAga0Zn#UQ`3(gmFXeMK^V}u5Z&bv^+KZQM;{KbyB8r5 zanY~N03a2Vk}Q;y54u4(0b|>GT*b_4$bhJb2rH`y9U>aDh@$xi*F+c1U)p9$ND-d0 zlm@I)jE8v|p zrPwyKmP%e5qC3R2jXCh>k zT$hb3qXF^>b(;}(@2W@-&{+@$v@Jl39iX!z5ukH$fZe+YS(|uGRON%udz4`LoJSpx z51k>O^BLPN8>;5LI0c>y5Mf;vp~FLS2|RofT6X-Lg@>98kt9GDN$X;(70;}cX%s|W z6EgW+@z7LfeTfS75WOG5fYybm*&(_V5+S+_2iUiZkci@$Rb&B>KA1t_RW3>{PM*FVE2$)hI@-Ww`P!H2b zAPi_-m|7gBk3u3$*WmzrbrGg8!2&RSOi32g4b<{5(IH~`IOAbVt>#7ufaw#6u#}3> zVWPeZ)^BuqC+>(f>%#-vQ^-LIFmr05b!eUY(UDvrE<7!siR5+W?AB6O%|G=WN6J90zw%p*t z|6cfaD&AxEdk6#8L(Fb)%wB^;%wESqX#RkZ%=mmCZ{Du6#j)>?%46yMiR#`xNFPb> z&y4LSzJ^OMZ$Ju$e?b(Qzan%DS%CyYPN%xc?KADnf^c<`Q_g`qX92G{{9~x>OFbDjh43%C5f4j0&gz*|`4IMf?@WPH&gv2)h~& zmPwD^ArJ99IgNsTkU_3vl3HF9sMjh{lqBFeGZH%Mk6gayar$Ez=C^RP_bZBTUaYM0pF6Gwp*B)jC z5`~Dra=@lns~1n8qHGN@)gh|Ct0J`&u9H=~hwBsw1J*;hwsE*lg+#9cSK=Tv??Omi z{4q!3RiLwFR#9QsfR5DPL!DHNn_c=%V3zsgduSVy?V>2!8|*-JLk7G(h(eP?=^s0EE9NXSy$}m*pEUATBc56jK=%m<^4vtaRH52PpGq^7M+RDva$NsuGNW0Gz6bLQ_NNIMMD1 z%}`6{W)O*@wMKettzLYmMyt*Zc?~y1x3HaBIA5nCJyt^y2DB|!pLMKGgG3AGr{f?r zXCNdi4t>Mr15&7jWSLwyrxS#8CgWDU?~gn%?}i9?&O#KLvk^KxG-dJB{lsQXw%BLz zX-0DnQpM+7DZa-l#*-+QuMwbOKKdS#%bsdb=c(MJL*{%416Dwg&T^363yB)k1vtP0 zEKipGLPx>|)0D&U5%7IG01 zSG;89OaRu0m1bdGO*QY{qf3N!4P(315P5wqBtZ2MM4|a8LWhb*6R0@n9O&sa*C9ci zu9wcotWJF6AxmRO$=Nwq8jw8&=>`?)LHam^0c{J?fP-`+B!ct_9AFt2AtA+Y98^9C zeM$+I&`s3w2+0dHq;|Vi z>*zoZ&O2?c#*pf6y}A){?^CVb-ic}FzIz>h$RV9gsda}tWYa@a~d{Aq;3;ZQ>%=CcX-ZZmXwo5SphEvOXI7>nz~L`kIpLjr9z*yoX&n z#H;;v#&#JPUko?jz-ef{iO_+erNkY@MW=TbdUFNyE$VV1<=fJF)@sFFvoei>r|yPg zm!s_IUl2W~QawE1fiR$X;hE>~JP(QRd>04!kOIOO&#(#3ioUNTi{}T_^7KP(P8{OI9rgWpgzq<$Zgzh)X#8$FDM`+sCW!>CP3;JO0%S1rJ6^IE|JtP8QU=|^7>bh z0M)M%h2}R19V!}4pu+i>la8Og(EJuh0`)r_U{@_d*2{g5m3bOtO5AU}+-veZ>E-g* zRHldNbqE6*7pBiUOn-nxnEr?Zd_e&rs}nDmTLXafXQfz3Z&1mDM0W`3FO2Qd5_QdA zaSlX(Llm07BXo#pFoB4zNsHhM%|DPPNdJ`DzpPrkeraj^`=Vp zP`w3Vz$ysUhaIXh=oWwnq_?Tni$6meWornnju{(PlsyG(GZpIr+Z@7x z_602GfNcSZfNhC`&}@Z}!1%3ayARQBK@+X5m1t>gLp`r~(J9i}ma%a(Gq;`cwq;|tWXm&?PQi(wi7SO8pP?F`8p_bRG=ny&W$=D8h6~LK@Q|y>U=-|-O zNN|>#y{XDEZyzb`YnAHZjPmQWL=WZQr2hVl*-wRfa3(<*(7NDU>fr1TiQr7e0oHI4 zrr^K=;7n1Hg)@~}9vnJEIL(YLoB_aT!70{t5jr@uG!mQ@W*SuqXS$RQvP$)ER{WbS zXKkwG9IQe;IEO$O(7NDU?%*5>iQu&2086(BQ*dAba1K|Jg)@U%9vnJEI7cwHaMl9O zkvPSt5D+>zw3L7ocii*M(Nrd$W2APhRZDi$2$(Ii1AVPB5ixRzLtuT!6$XE<%Ti zCKH&V4ts$)87ZQ4ij+>ZN--sL>I+7JRR2Q7wX5_;+E=PjkJ7s!3}{`H-tQ=_f<%-$ zaS)m;!kAK>1yJfzlBLv5Ew44vAyVpLY;QaKttXSiX=r*8Iykg65}f&_kE*=s@=_{T zrFuA{+;Ss!*y-P=2P)Kqvl_yH)&=Jh2d4;$;Pm4FpUg#=f&&YHQ&y6NGe9j54jm$# z3S$eW05}Gxp{XKtaA+w3C+?G0m>QLdXHaTutXi^98l}^&yTja-RiCsX)hDf0$sVJ1 z5C*J*7=6Ss8iGWOPQw9q+#)2Sbe{w>0Ck4aEvS&H9w@p-P-il(>yuWPcS8bXXCcBO zE<%Tlh7-u5n{A0X2Ppz}u9V(mmFnBml7I7NE2mhUr$Rke=R+9Kx>#N2SiKh#vAO^U zSiMDqxN)SiqQvDvd8EO2m@9@j6UiZT?vU8U4;XD?f~J)?FnW8>O)Gmpgv4h z4-{P^sH+**wWkx!HIM+=wTSS^1B4D44JVLA?P-zuC{hIMIw@UmmFnBmqJOhJ^`}^U zOoe)^Zh$bLb+NkGvHCb9Vs#@9@T~)csrCd5!1PHaSxldzmWPQB5z|eKZF}kmoKNF4 zG&du3aA;{HI19}!RApIF8G^)eseE1$>u)k z+;4T_1%G52t=-g*`h3ZQ?5Sq+fQt0Ud;!9MwngSlN9I9DMCKtJgyxF~NhaQ8qVmDz zVI^2DU!sop{)o@8JMzvXc_&Gdfxn+PLa_IjO~($ zbNojT0oRL&Li1yU4j0WPaN&GR+d8h`{sf1D^%4$3^D;tK%{_=HQ$tjVS)|sFSY`^< zD=O4O^-~A~S{JH^9jc!}B2+)e0TyWyvOe*Hh$^JU^s169s9#dc14V}j>Q{{IgNSwc z*AM{HZxDs%w+J03noMBgPv>TpO`(h*&zavLRiu6|#n-H2{DRx%YXr-0R#CAjSg)&G z57r+b3|IldYIm^y2#H|*2?toLMMzlj4>4Vx#On>ET3&ylqQ{GFk=I`t+ZWtU-~0_S zAp1L_(EJ0TLq@|1WSlXzcMX|t?Mn)Y);TnTl z1T-&PhdEsDfLORTzyX$O5fWGYa=@9uUAU3bEUb;G=E0&%gf*6FcBT}0y$K{hH4af| z#v^p7Xf%atcCHIwC^bz;6RJ(6wwYCnQQ2JUjml+K-{svQu8W=Dh$6^$lPacVGo&Rnw- z62xg|>Fi>4;;8|$G=`L1!DVlSKP#VtG(kmrkamSIplw0g-$B|95<%J>2Uw&fU4OGr@*r}qR{Mv(BYxE6rPSn3(dYr5T5;{Gs)`2 zc#!4a!Gk}Dp2D-giuCYIhA^OQ;VC;j2S6e`Q*aQPsR$EzR6g)DE5YJvp^k@#&JfRm zj4d9hnrS!%p6Q4}a}Yv@hvrgvR`(fmFcO645a}Fhbz(fovc7mYu|)P1o>mp<;W-S# zfVPF_X@}=Ua}NIzv21Gq!l>>@he6o?{V(W+p<1 zhvrgvmd$Q6$00#@W=UtZ)rsFxBFp;X;mu`ws_A#$b5y3sXD);Rjf>Bh9G`iRh|lpj z2+e$iF&}5ZoWM+gv_PpA(n89-Hbj>QX%XXS_T5u8i*X7_OAukZD?$f}HWQH0-;Y_m zV$Q;a=0qe3(=utbS*>`+q)elL^5y}hwfL-csvRv?p&qAp2m@Ldr+XczlOPeN6*veD zKd?%WUY-dbTHm5=WOe+y#n=3+xi6#@6I1is!9$Zr> z<;*H13RI``vQ{sihez2OqVhmR*;A;xRIG=p8^VD0g=)4#)dPu8<#2#?R)j@4|k3S5CPX}MEKe(LWhfH6S&x__;s2?Oh1wYt0b+m)rwn{ zGBre%nk*@M3e|uL^-xtH3}{`bPIIUXBtlii0k+8^Oth-V0zeHa$%0x#Ee{kOBB-^D zZL6{_uY&-Xh7jRFTbIQ?)0{aS$wGC8G()Qy{~?q(V*^}XyNa`? zaGj}wJzVdGFklUY>qv*|EJ%dwY#fB<9E8NBKZL^0s?G|KovUPv>^;=B1*$1fTF{4{#b_HYm z_~P`41Rfw=iiqIjW;S{oHhrx97A*2e~hoyM6Rg96jeCvtKWltfyM&)|Qu7xmQ z1%#~6A^QjR*KLe zqu~THoR686FV_ks^GO^F*r#w1nwt=^b~BJezjalvMz~U)m@PDg>(eUL!*w%+0nH27 zF%H))kOF=iniV?Kujak^VN_gI~HB8n`HA*CN<@K;w-kUp;>JxKRL7|^yLO>&U#gG7+- z$3bWwKuAdOV~olNp)V-G5_*t29w9nILJu*vb1bNuFX9w<9!7-k!6I~cXfA<=KcmYI zm@h*vI*&-@QL7Sv#3?&4DxCVBiqq(9dK=1DRH6sxF$e>i7M!m-IFCajI8WdpG*2QV z9DT$oD&BmRc>w4sC0amFQ|8Uo=??*Yjj{cb6Wo0UXW;X7MEK?_LdS;|6MQ(ivVXF= zYQBj?LHd^TzHRm5CKP3BNNRWxjQ(_XHT83pXH}#}={X1k+7_j|9i{I;qMxHYj{|&( z0HJF_arx$Z%mhr|S8B3g{w9T<5YG=7+ZmPf_J(A8laM3B^dV_JaZXP-Q7l?rCuZZv|ScDE2&8Bhjd+zN6=I=-pu761HpH{Eq7&qA2 zZ0m!|y~5K5gZ6ZP^)D6eA$t?TfOQbE>m9PUAQ7@L=q>OO0)#}SpCY8}0NV!2V6kn8 zWB-*5og=o5m=Qt4t5pE)WJZE?83?tO<|^)~-0f=LZlHR=j)M8UUx=m0~&VK_!n9 z-65w8W4n8tx@J$D1JOi8*uIL;A)>(qB96nyVFjg}D-_M%NEN1iq`0qDjOXhvUn5jr z!*bbEsPYG6nI5V` zAq;3-sMa}Dt&j-SVK~6XRfLIFWeot+45e61M^MSbM0bekNXE8R$={=J4n#*I!be;Y zIz%*>K*V|ayv6P2SR{zhOz9kFb>c}DvWy0(ekRIi=Dt$;d!n;cqz7m=gaK^}(C!Y< z97qIcE)GI7445tnwr3`QkfpGP6z`U7qCYiuq-5+z<1#wG~EaZ zj9q%20kG;(O0rN+-suJzZ#>i@o~H#clJ=TBHct zIw=iVrMO`+PXk^f%@wkxYI;}jX)4phbvlFrjSJTa4%Zow2v>*$d@mNEYgn4TSpxv| zZlzdIXHm%mMRy45Y{s@%r>;2%=RkBWB7El+p+iK22}JdcYq~iP$>MarG~a7AQ;lnS z16Yk3*Ys55x; zQx8i4`=AQ-fPDzUfYt@9;(&b^5&^p!2cfwJA%Vp&zak4@b*+*ttB+92V?~F^>Z6S9 zYYHiw>mUH8>k;AOuLvC`noMBAdGyzG+RP0&5vY&jAT&23WX0URD*SW-e{`qu3)Q;j z<(}HwQlLJeLOoEQgfO6Wfx6Ox`V=GrbrTLk^J#=Js5%P(b+eKzs9UJzZPKGd1a&K8 zyGgGNd~U-jR#6c;KD3nJgGb3Rv$JL`R*G+@GWY1+A+ZcpI4d%bT8GsmPD5b=sw2Lh8OGg z{g43F1BkGkiqN5=(F7{qaozpd)j9JZl0@nuX?@XZ#SKZB8iT5vDCoN?%ANxCunP4+ zeF?&V)&=Tp2kOg^2-G7uz^4Wf#tn%JqLBq~`ihb)r^l$}Er-$}a(bMxz2mIQPe1@n zPa?t>VG%k^G?~D}iTa}B7MQ1yAV^P3=WA9co~R?sD2P%I$o*aEp9wvqB0WT3hcKXR zA$rgu`UWII^i3RK<0?WT;`pO6Pvry9x0PT4Jxd+0A<-EEdXBN3s6*9!2dBXEJR&T$ zB6N6YE`f(P+|r?19$%aJ9@0eU`%?RXRf}&po2xM-?}oG4Q|;)7D%FGZ0)zq03zBh= zegugiy@&&BS4Buj@eSupfYVQuW;wk?HIEZrBBz%b+Z!(O`V~lk>ZgdX+KSMjqR|8@ zwxl+EzWwJ&5T{>A=T)oIF&D{vg@r7QA*GjE+PVu^SuOMyx-$z4rNMQX^tar9DGMI6 zUqKkKDq?n^WAqrI5KOn+VEJDYUl}WH<=QX!Dh(DS0CnSmHpQZJN)rvbWWg3O2*Xoo#)#(1BLOpdKEx01TcrewB4qHt|3y=|;sj4R5vzPO_7DO}sCSP$2B5C*g_TzQ9Udq{+92OMBG zE5Zb>*amRzq(qBrXX<&l=oE47!r0<+j!%FHxOPQ^g;#_Q7tJPcvG30>%GI!QeRrgZ z)*e#JShcwCx49a^s-Hq|vSqWUVC|_=Jy;VV3}{}kRytUFK_Xat;{bbG5fWD1_d63{ zwXf1FtNp0vv7$?4HHoq9`y;RShXkl5Bf`QfLWhb*6R6bp7p9vjND!x~(rLCj@hqaP z(CA@MPtHCkWKThAQIQ^`10f7(Tafm3kfuQ*NYinE9j*uoDV{~Bd=NTV36{_y)bR+> z84@~_v7JRg)wJRicn(8^#a4t456va;&>}w+Z}$<+K(ZhmAE#mjwlRsifcC0k&#sObTtV+1yvv0d(q z3ovsa1h%<|ump?HVWa5;HtuG?D*N$}i`RUqoM2Vr-3+6zv8Se{mGm0>0+r~2S_ol4 z(*m{Dfm#HKKrO~WXqF%(C`5K<%Hlz2spOW>i8%HN(G?O}#@KFTsMJgw&VXh)A}qNg zbZBTSfkrpn@`dIkB#6xl>98KGj{9RmZOcb}t>xcv)mr+s);m?C2j^r61KJjxl7n*! zB!Y7)4nngMA!`%ga4H{k-lYUfXBBn4_Cse#r<1Y0;h<`=I0c?AL|9-&=;d8r9(s@_LOH4RTD7?Awz(SIYU$}Hw&RTSn}Osmw7|^^R?dKpBAQ7Yh2ccPw zkdWf8+nE5TqS7p%jtA# zd7S7FIi11SPBpE|Aq2p5CL*k#B6OH&GJ%P0_{70%&vKK?Rn1vQ7OJzQd5+bLQN z;2Q42C&yV+FCWfTp&qLDKp4=vP(9&Lod=0tKAew((7YF+Lsf49s4h@avQ)l(pd&=| zKE}4oj;m%agb5{V)M~|ul&Jxp5!N}C zJ=K~nQ=v&`%;gXUv@S$T9ik6FqSkZ;4nlJ!LWf983XugMx=Km5HGPm;UTdO5MD-!Y zwl!IoKMVmdU5y9}sR$h=noPAO?p0Z}FxOi%*CJV{J|fMJTFs7`V5v=?E@J~+!>uX# zM@Lw83fXlk+(ULfgaKkQ>ZHs!1WC`eQR2GZw6V&!rKItIQ zeUhPJ!+qUFra-=yWdf}9THKy0|%kG6CtU^{d;7CvxLto&EmR?YFD+I1;+X=nG^UgU#WhM~ zPc^LvRHOlIjhEl6iLNDo3HNDtuv-vmHNNSZ0c<%7_}O0a~!L>+Ghl+KXQml;Ph z1vvW%PJ!o9L|8>d=*1hAe_s)hA+DtdPx-6E`SFt#rM<@Yyn z4qD$rge6skjuwq3Xz?BCam7Nfc@`-`^_-NxW0m6Gop~B^O136G5O*Pa`lfqcg?gO6 z3t>R(;xxl?`W__W^nD!Q695RwDc(>e3%uois1(cS1uA*B9Q`4qA2GI!sB2!tIT-yI z5tdUCIz}{@U__g<%EfYJuu#GR-b+Xqsh6etidC(9OX_lt%&V?Z*>~eEd+PT4sY>>6 z{S3l@RS>S_4%g2i5w2h0AT+NcB(Azw@WW;R?Uzco(0)Z#4;oz~v|lrJZ%JJV<~NW6 z-ER?LB^9AVN8<@}oIT(!!_LUxBT3X=lh*52E1tD0)5yR$d8nU@y1QhAU7>$asUERE zLKx7zh`q-V`x7K0_GcV~<_&}-re3|?1Ze$5X_nSsspj2=bcwY7#@IglaWgE=KFC60aoFsE&n`4`fJ=}oD+5x1p#UggHcju;d=X2ewr}8g-t;U}w+7x+3ZZj3LxhPM*yaBruaN&B4olK?Sq&$zW?6lgmj2gvV;2y3ti9eGwoIG< zW4s3>YN{C=gl12KtWG>;SOWkzQ7N{a?nNc9`=dJqxHn@vX2{=ta1LDiA_~oZ2pujO zOf*z>e0FR1BqWK^{?eLkwc>$QnMQ%+F;eyvqyto_2Wbj~0j&$tY6od5B!bk8gV3}f zB&7HuJhA{v2P(-@nno>;5*;F?>5T1TlXdwZ2!QEeM4>qZp~FOz2~6zyX7*1%{J?4E zP^5`dtJDs&YViPJb2SF#akAM{pbl559;g`*1~e~F3mvEiDQM~W_y)Uk~1v_JBCCL}<09HP+7Lg-M@XaW_d{oUPNW;PPUX^wQ}TAg^> zk1UNLB?nS%P3TU4n`oYj^dKD%VL;o0RB({yLn25g-~itoKuAc4#@NjjEFXjxD!~$3 zgkyi&PiIJIF=IP2(Agz81)imd@F%tqIy^L2k7uxbi-D}E=2rFRs#W}ntg2at9Qbov z2-~;l#?D;4bY4|04;s8#Tn^#l_NJa3UYy~Fz}O1VF3C38!CJYuT&|VMwcM&|Eo*A# zB%~~ONBbtFY=5qR&m*kBIld@>a8iD3dsA0=-Bdhcq8~T!ge<>F``CQH-Y}ia({b&a z^pw{P_2o+D6rPW7-!a>T>{DyG?mS-HWs4Za%7t#!_f)1gwKo;BwcNVt`5Hdwv67-q z+czH4`pdg`wpsfYUF8}^zMiQVK?;2(vx?%)+qda0m}+fmc4|+d+Fi^R`cb1!CT-Ea z>FQDe<76KBt0qg?mhHP_2eK$-Y7w?e)!fuIIa39Qsne$(Xu6nXtM(0h@yU#C9&g<~ zz89-x13jw`KE(7;vQ7JL1KLC}wR>uIpfJ_sdUGI*LAgI$8q5|=j=8pN-wZQmQ|=k; z7UfSl8>8Y-6DNbt%2D)2tq4mY8sneU+wN%ZppoK#+ji?>8*gX=n z1_oN@*Hye3g_|PG<|npq5>?9d^BgU^r0SfIUy$E_Wq#7iXjV0O#5t-b&0bJ2SZEDwGFRsW` zw%Qq)iCEz-lnT5CbmhpT&$(Ln(G!Q+fkh6I<>l;w1rrDIQUIez(~g)IxS%X1x>u59<}T&bs;=`XCy^%nw9fd`B5V$A*tyte$k z!K3(-j=>h_@AF3maS+@&G2%M=-Ro;KeB7PI@jKV zOi?3Em1)jHB3wBi5tgG>oOOj2vaUS9y3WMj1`20Jpih}o}Zpv^ehAj?v3VyR~aHQ37U9BfKWet0Zc#DLHG z!5Nh8!xAoIh4dr!*8~36F}RI_i&#u2PcJ9en`nW50w!o>!a6FJDdV6WEa7R$)4iz6 zmEwSZ1ts7VF}Q~sd{z$lrMMtq=JOeF1|IyFsr)u!a13?%H|v8vnE6Sb^0%tN7Rmm$cP1OD_f;F@#5KdbHTi3@-OUqeR7aREh)XH@(p|Xs88{Ft_ zgNu*}w}C6hT#R$H{7Vqw)5t2pwtSjZ%lF4EOdR@h7`84&1`J!5N%L~6*)bp0!vpE6 z*>+wqBk@F3capEw24=LhtX;dd88eaY)y<`1%b7ieemv?HFluR1(K75~`&et$d;oSh zE?q%;?PD=A51N9x5@#Lz!1VeRyZ=ga6*K})TC(+{n)x6k`Ei;A-VzbR_!N2iAtd52 z;UVOOI6CrF-SBkw$Rj&jSEb>}PjlJy)wvfqx2|U4f!yH(@+i9S;TmKPIEza9a4jVH zCi!q{%7>325r2jcA$^!1`7n3hvXLtvU9qShYl>A&>Ux@Ux$bK7V1J=I-<<0iY&mX0 z3kn#?o$F}Fx>I*`-liCMc0Ke0PR^2^eGHQPR`Tq&lxH^}5iflZ(z8{OXUCP-WtM3M zJF&aCB!@XTIq!7SKLf`^ZqF@qg$o$=+nk=CuhM~&a`Mnq1Bd>S zAoQ)ym-}-qYYMrw)fP?tM{xVoG-utOGVJ#Hl?Fd=hI()^f~23fK$71?e%_w)^HwC{ z^DYSKXM5!50z3+2mg`YqL}!Pu_S9;*ySZ2xIJCLfwB$-HgH=2twDe^Av3<8^aA2@d zZCRS1JyM(g3~gFxrwu!cj%E3fzfdd>6$YB|SI+Z;UCo7ZOZ=2Fl8<-MiuG}?VIM~=1YUg(S^=MV zl3v{nNq#$db!W<}dyt4Xf(YpqA8a^!*awxCS(%wj=Vz9=r?1Q+J$=DbUdJki4@~u| z&Gu1EJ?iupJ+QUl&(r4C@g6OX|=onoF3$QvdyLL>Y%!#wT0D%mSOE#WxTQ~ z)#@ihZX|t_CatFj)?L!|E)o8I1w{m05J>v_7$o_vV{?3g2)qaZx zzSi}>tXwzV-u0GEPjj}`qLq=6?$0M#zIAT5$hnBt2X4g(d09Q;_60l_&1Q zKEqGrPa_d;a1qjz2{6-E!{_+2rYAFN=8~3^7PigLfPZ&xpf=(|*)!4{c{b|$0rPd% zp!MxaH{U=uOj5sz2*0jT!FH0$O4`S>HJn>_aoW5qr`7tj&|3ljT4At^)9OARaf5=J zR)1TCJ!=cox+i`#6nj*6@3_^1=ahA1hrSRs1oItaf>&eE+YIjPnBdn zU^T1<{P9olIvx!2*982Oc`%FhE+8GV?C(qQ2UbyATH;@{$8{d*ssD%47`f7qxJti( zOsF(B%8XE|`4N&)_ZJc2XFDp;)}58IbzjN44-otge6ktC>u@$;=U)!^4Xof5N)O>t zFOK{tifT?PXierPC=kxRBug(3Tgq>c-z_NOoJ&+uZu1Jy@hI?9<*QrJH9vzS;Bs6x zKY6A3IrD9+R=$bz_!rdit5GY|in%89D$-DiUm^<4ub2_-pF4}EHD~JA&CIWnhIK5~ zcDQ;Qs}%Da3Q@V=O24jhs1ZklxF)}2#?}$b|2>kx{WV0Pd0hof2qL4b-H1K{81(R$(EqCw`83+ty408MmE;`4Q6j2Ym>}haHhY1Jb8qL!0`_2 zU#a6`WmQ(;U0{Ec`5V$vpT8r*Z*iCzXgh&+dA?B1xP`k6j@Oz(4PAQ%U14S*R~{(l zGF*4f_6%iuF-gNaQj=MW$xH?dzfGN^&KEjYHRG>W2ZS(una0PpGXG=(9R8Q;le$!k zopWy@-S-Wv^4UI2rSeVYEhNLYF?b(`p8+AHZ+r~-|JXOUMxJ%9#g#G}pc-^-Lsci` z+Jf<1oZd)@t$LvSuhrFTjH1wD$0EW9qExPZQ2wu#3m1uXu*=6E&+VGbIAj3+@iN^M zna%+J+cl2%aVA$S7uV!^%%)J|{7}}=)r^nJH=7}eBsXWt?Hh3^vV%kKs4Y(;bP!Du z>(?3dQeX=f+4}aSm@SbJRJTHe5A(AEdE5WeS#<&^27T|CX5`vNxwf^rtTe`lKM2m{ z_UJC$PC2)aa{e9qcyfvskTV0Oyr$5D1?8?G-eQ^IaUtPx*5u+_b+B3}^))dwR&?w{ z!RF1(YQa3d84qUJ8t&~WnW6F^>}~|B3l~b@^_{yS6iFQm71I02?OO4O2}u|p!hO2*i;8lW~PdV zS*|0arkUZid~J~G9|G4Y>>xa;J16cGc0_s*-TFHT=*|()zx}@q)a(KZXm@O5 zanBUE?r4G#rJyd@jNQ?$RB7$_e;eO!fPkBMcSQIz6T&qih?ugO=|--*mov(^r_I>0 zADUkLRT>PYU4w;UPbS-!EtK#cF}f+IH@7x7HE#G5RaWX6#SMQiq`QW{x2*3IS?5aM zdRaI7LIaJ2l}|U4{Zw440t>cgBbh{%RxSCipQ-(!0HBi*;kSV*dO{G{XZ0OWbdfqbO*Icu0d@6=rkb(QL#fs}s)1Hy0j9$c z;WvURa6%ASWi{;p67_d8lBy3+ zO0fT z=16#(x&p3WJ4z_hS71kX*^j1n>;EIDj)AjiOUEL@FEoW_LJ;v|(@C_YukD5bq2#bJx zpun}q9o1Dfri@S0^htfVUG$oAf2Omut6Z+uX3QAS29VB9JXCx4o4eYxRoV2_p5U(b z9A#+jSo6Qk8#5PGz%`hM2%ia5eJ1=btPfc7LZgq}+CDAKSH(_xFr@9g1B%I~PYlO(S#dCb!CRrAWWUC? z9Nr26(xY1;fzhl+0xDQU6qi)%`O7G|5;h59uV}6(S~olo#i2o-ud?53%U1uE=u_Ia^c2kn z$jYnwKB}~jtzw&AVV$`UXYKE3ju#Hw#|~g&1ql~1VN8C%mFR=o$FZ;)zm|G2#bdFu z)`h=fa|uqkU>bj>=KT;%a%&iu;sk$3h9Y!~d!h@UJb5WLwid8BfZc-SDyIgVJEAw? zL=JmLIakE%r{>9%Gb?g76Z(tzv8b3^lPfkcZ&wye6H>@w%|gow1(h`9R!6FwVf2?v z8N3+Jm$3&=vy`>y*s|Eyi3vy*b}~y~9G}3e=FrRKGQl7o!K(T4TGk1x9+-^Q*~#GN zoH-LcqBS?oMf>Dbls^bTU&lY+nl(e6otzmVUjd6&nP}QF`?zvvCnh%-5m|>SZ_rcXC%z9L-97PLfn)qASsD{MGXLTJw%mc8jdd8i z8-lJ9#1wWkc=YBUWTJn&V!Lh`D{baONW@+GVML+1TE$H0H~>Ayzi|)nZoNjTehqdF zc#&C&YZm@{VrEdp58uJD|4!fyd&fH>4xK$j;f_j_d`U_2`z(-L}koROaVxnH}q?96O7# zy>3zPUX^uUR2FxtPM&;R0Y9PO@;cT#Fh+9x8sslEv<%K6F^}b#tXm^2cLiKE*J#6a zm7XaawVI*{d8XX8rcfTNYMmX+HyJ&bWB96-*K(Tx2VIRl#UVazb4-m2#9Dt73e9%m zwH}7ao*WCu!+CS&xIsLjQ_)}?#xGtn-5MRSwo~rL?_4kt_vf-D`|zHvHStY?*7&pa z#oPMzaD^aR?BvS@mfEAQTA|p;B)zGtqOBfRkN8@HPaQq3gsA3|`!Rk`#yS=X$GgdX zWZahqB&);5`I-!eY}} zqL1optyMGFXv>ja?5mkcnqTk@it?iJg~%9xoPvvqzru~B4*v9|nmG-77x&kc10U_T zkZgStChSXg0Dx=EC9~)S(eTx+;vEp?Q>fjL zp2LQ@So^#dd}C8a4wJ#+j{TJqIch}*zg&X9XrG)W@c|JpZw8B6@5y3H1AusigCFyB z70cbL*%I(upt8YQ_VO~Tg}G(7CR<$g%itQKd7_Q+0TM5w@xsS7!f5@76?e^I3VyVT zN6gO7S^OKVm`-(eF3#2L!Te|*hS`@MJZE985tp@uWPr+-O%2bdn2GZW9lB$TzUuHX#0PSGoI{DwE407m^-sq=qANRU!lY8g_QwJz{LLB8F`20kl`p~JdOz*$zZQ2q*VeMdwb`L6Yd>i0 z+S}wR-h)nt($b-n8gJulX*FtHrlU<=$({#|Z8he`t_QI<{p9$Ct8L7aqq%#NX8|tY zmst2A99mL0e*M&gW>6f8R(<=iAc8KU+RuKgzy)Fc0ty!Qt-^PeR!`a=*TlVM z)VsiuC&>4!C-p~(;R*5sOm{QnFR1f7tm^Qub4a2G1mq#?PYry-DHXdPYcUg=& z_c4zmBPMlUK@^(D5V}VeR?JT7;zt!OH2i0(gsI_ZQzi4bCHjPjK52<+jpje--Uc0R zC$`^cUHGd4_*4WCn<&TFSty(T(~|o4*KqUy8q(4HxfIHot9b_JXyso=gugv1W&7wt zBWmT*D)5zT;{TcE{%<$UHQ%&X@LRfq-?mq<<3CsHf6s@K_(tYi!)V*Yv$}H6MOW?_ z+?oGZJ-9TS3VcT%`(4$P1+5&WpI2gQ$Nc|J9OkRey;H+vcTf zt4bpySM}Fc^n)%*c6RQivI z@CSuefUPvmd6niE%13|mXRGvvl>TCsG{Q19#rUtv_O~b-wu;FqE!d;PY6-r_4k~KLsHnA==KW`(2`jqxCGr2C3r)BQBmIOlszQ& z9k4~vhYZrAo1L#y_QWY_HxUv3__K8FokJtuoimqrPPD?xm-7GfE1hO+h1voxlKkoxFtrg10VyuDTqQdRRvghH0QyaI1CT(9~v#{ znr2&Mi;6tZ7TK|Wy0O#R&@@dYOpi*?gR2&d*}onnX=7gxMml_D=T04S2+rZ>p@>4$ zDrM^@jmXdF!4)0am<)0rrksb{oZ806u{qg_XDH7RQ67G!xPEaMpTtB(k5p>oiXMe@ zR1_oVnBi4$b2Ox=#4(6MbF7N6)ul=AvK+x0+cy0_vuJK+T3g4-)+}pF-&FlC6dI$_ zg`BOT=R`&G-E3;5o~Y(3Lt|9)kPcMb+2$?uo8yrLUh@%!<^+{vdC_$Ju6)RH=>KI1%aTE4~a;c+iF@G|N?l^?)Y5E6#7n z@a@F^{7VeeZq1z}b1SSl{e)c20ltvKZgagg)(_q6t1GujwTW9# z`Kwjz3oGN}vU$AQD{2Eo0fi)g14kXb1mw@qpl0(8;kOF*ja*sp!|Q%~$DdGSZH-V5 z`-wzr9xuU$-){3qcqP1j##aFc`TnhpZ}M_yjeX&a*Uxx4i1iY@U&LNP{zA^a|Leo9 zHPklp#J#4}D1F!^zGRm=Dr-&f%)ZTRvh0L|Qod@9eB|p|zMt*l zuRBm|^se)Nw09-&aTaAiA5du1gHkD|3Am(KlQvBc3ehNNX^X9C(^~pMij>V}_f2*u zdv)I3CXucOic&m4QNaUmQ2`MJ!2=Ie^iw|-#rr_uv^~) z5|-U=aTG+uB}1+hGo2g5vg528KsT{ObT-rIYilfpHU1&q!vF(@7>-*U#7Z-)o4HwB zHjyAX0FCSDwkR3vWE^D(vjME5juv{Fn^%aMAy`4OzJ#==cz6zuXEPb{j3Oa5K44bU`vwb@|>LxlEm6uoTvp)#QsMoC6g6A8qI zOW9U$NT`;v&9H@VDi38~Z6XWVnAT=_#(OHZqBIJl`4#L-!i0jj$!0l5J)xMz+6M;W z@tu2iZ`sio-@ap$w{0_4jRCcsKIx}Aq*m1n3ChJHYy(irn=P(Zy9NT|afn>80(Ak6 zjgw3CnWH+B92sv;70NW4G3txe4s|Hu-eBy0VquqYOrbn1JL6+GVLO$I7iBL?+!Pxa z&JWl-dk4&JC)7n60WitZj8u1UIaO&<>UP&iVI3FLfEY4CVKAW~rfY528Y`-bnk$XfJlzdF`3>4;%*wiw#Ui+>xoavv zi%ub%H5+}f@PR{GVG9i9alQ~MjxitU>4_y*u53n`i7m_Iu~{JH$J)|3PZuUpd4IK0 z4d7YxU~b z$}~Qftb1ak<0k{_5 zbNR_h;rJ%8d7K8oGpJXn-#M=7HoIY5qvx<@O|NS=U8~7tPlZ?%$^ z+^EaI-m^J-m0_T>T2Xkxq1{4n_Ipj0dmJTY8_I4~EC&>y%62Z~&yHMXZsel(8T7TF9~kueXJMY<0U|0VtArV^+oki8Kwh?x z&qv9g9YltMNWCApOxmQ43TX9B+E%tXW901ap9M6i9hK{Gz=CG>nRrz6#R6c9vM94C zqNT-Ll09VYfKXKo6?QeEsecw<)D%aj+3yc>;MqcIr=^}FqMmC+$=xUHF+YsS0euN% zP?P70tZ44HDk{wa@O(U7hvZWHuILvCM~e~(t%@queJbR;Tq|Ec7oi^!-bunZUHhVN8*j(eL3;khn8=9`^Le z;ZBaAYtAjCuyRMKc&Q*1&Aw`>xB}s>R9q>TzRY5J+$^RT=`kb>X!o@G{7u= z^>yVcfi4PmXYWqdl~<4jQ{%I+Hh}e&00*tWtMI7ks|CguWwBQ=gGhLzl|YjOJGaZG?oHwy)!6V;={F-B6_DmUG9j$r0uQM5Ry?rTRk+Q1 z6r+(LmR)aN29{~e9_#Cjz_*LQcNl?ogJ=D$@q{UfSbLaIw~YBtk#fD2!h?Go%uX}i zHwek(>An%+NH>>cBeRqGT?hgKH{pRDvLeSIz{mxG>e)GNLDNlIKlI6PeY1(~Jrdn} zO?2Uc=EIj;2i+|a!L2p|v!EGCI_KdD-ur}Ta`0|LI9u&{@ZxcOI|2dU`|+sg4~QfK z9~FqehZad}7CtD%A2P(D&4MZ8ZpPsbq4}_-kz#IE45;x(#Cvj$KZ2h(AnLE+QPE!&Zlfn7is;D#W|xWd z*9_m+h3^}NPj>iQf>7}qbHi^6@wY57uLpT3YfbvwV1(E~KHL%D;W?t;5vkFHclKV$ z7X7F$5XG2RP4fb%^(U~(-nv?!|v69aszgTDKO>Ia6(4Elb^m+1}qek7!J(D!2z z^%Enie-nV3iA6U3QwU_i{+S4lVujPo84kF9j;HG{{Q|!$`j^7dqC`TgqJH&RaK8{m z#dh{yM47*0p!;O~8ZQ<78=*H>cSqAlH6LgwuT@bciu^5~=6wBdF%io``gib0uKgYl z7;?jPGop+(Qlw92k>(o6qzjh%4@TS{Mcki^xc)=)p`=n#ln+~T|11LjVg(#8nOeUV z%7i~CG*KX{3I8j?k#HW)6&0ZWhA<@l?|8rzTm+f=%;+PD=T3l*F8xo#(gZU^SbW2! z#kUCy6MKej$XIF7U&>m^0e^`1j7;xffYiH!ObyAnAE;jTm;EwLVBV?FKR#j59m zAE{#!>PzxG5gt{ivp3FS*UUhdsq^tt(F=sWrQc*~Jp@eR!iF+i6_Z1;i}*B|8Wo_A zMHn)5F&;Se8?GzSj6Ra7j{zW3q9YQk zdbQ4;BxEOBGIs9j62ZKEj1WXsFv6%s4B^OIZukh7-)XC$PeA~*X~P5N&LYLsRz@7j zSXy~c*R(;OY6L%41TQy&#malS5<)0Y^P`7O*?ZFCa_UC2ejLQ(?5TE%tHZ|ieDo`) zZAKBU-%hllsIK|afa1{B6Ie{1850EviY)8LYS;BAF)*l_OvtYTSUI0Tjf^yw(!(&9 zSoTnCC7}Gw7$nrgS&Qam>;H}6oGFbAoHJk?fyB+2WyG@Snng6QiI~J7BHCP1s7-TkjZHH~9HNpgZw;(3_jZQ9xy!t)f@qU51J=JeXNJ>R{42$A z8EBxpKv^;8IP$DU+zYu^uZADmzu7inwoRbr)tIS#ktTMwO~9dH_104V2W^60gZhYW z$68iZy$-JHPx2d%Zbx;x{4^n1Z%FzB>B+&!^xtb`JW-mMLS=ey_d4( z=_Y6Qe@yYmBYFV+1UxFbM-**QHZ_D+utpEd{O@j?c%qO$$&kxgyA$r{3U8Y@Qz&Xu zuFryxiepwtZku>A-qH)?Eb+_TA=XbJk2_0z170fnYcYQej0X#}NhvP~q%5Tx5aEI=i}fyTC+{-LbH}lH_`jU+gkUs zm;h?$bBo7TEP~4+jbe2##k?fL{> zJ$vXPx599sLyPo5ABOuqlh%z3MT=;8=5W;GHD<0&}j&diXIkbQ+gRqr1WwF z<3x;g+OTJYT^aWNdb+wqj0i*4GVtJePJ7g67n76|s>zd-N4Wg})Qivsgd%}OJSuvh zh%yPJ3Xudp3VKXhK(scJ0+CcQlKQ7)36ot@w9CT2-?DRgI)fv{Vqvc+)4PW9hc^W}&X!A*(p$WF zW4UZkz-=b!-th2zjIwlvjNAFS=V)t*i|twTHrvB5vo8)5rcbrWnnna2Kih zYfOQ&dNEwCp^#{>9iqLihG2i-Ft#C}G1zfRHhUnO?XeJc8O+;+)y6jA(HUF5b9^`M zP!Is|CQu%lTyPa~`85^87|5{AV!5OkPm`{W4$RgWRjRpcweIOLYNMp=>D#2a zOA(9BFyOHmATW@JB@I3`8p+Zw+N-P%17S>~C%(;H)Tx@F054W?0Fgx@L8X*Ne8D^*xnY=kf8h3?YpDjBT z*wlpcA+YPtYy`HcW%`}WuC`d1|J+_G#}~UMh_F{ALb_WvZrHtX3w~ItYIDcE80{gd zkXNbuEVya4=d%G-GMlC*okLTRIkQ)~R{T!J+xoJM;t#FEAuB$LJ-^QQ zklBhb+xi;t>fG7Z_y2Y4t6zY25a0qiXn9uR!IE*IHmy4hm!R3wML$W-nUo4(4fh+fP7iA;;>SQcY%-|C-gsTX6 zY5=Bm%8Be={Zi1Wc{oKR5qOJ(@!Vh`8+VZe`U-^Z)mOsxj!TqF1s7tXf0=~7oT0}@ zSPj8dLhuR_%u8n2FUJ>7zfyc(1()9sZvpPefKDac&=l%vv6~I$6nlWj+=dO z*aZeHF?+MuQBA>w$myhMjs zt%~Y!@cb4&yZcvR(6)tlhasvF9EYHBaYn2yRTvu|_VaC=f#bwom}99f{Z=rd_`D5| zioOo6D?U`h3_>{-C%?Q!!30qB+l5A1XxLeJ@exNU&8=5rXn=KD+zZGz2A!QQO$MbSal@h|A631upNwqoUsn*Wp4v zBDkoDINTyUw}w2x;eGNlT^w$V;&2<-9S*mP^!L|F|A3Vq#es?thY#}E-QUp=hoNEJ z5P%PX2>{%IM@4@at^X>yi6B>cSQlX6YLIvkBjtA)Jp%Pl^z9v ziV%Ri_?)aD3>L;PU5%OZ#yETmyujhpc)%6(J6H^J#2B>syI5Mh}^wVOjVR_<+He@u=u~;5rPb!_*jj zMR>j%@&JRc$;)&xcy|r@L80+SphT#{&^UIJ2Fx)RM(}m%^ zQ5b#&b_c_+Mfz`Qr9WV$M`55MgyFY*cK2^+2m=nfz;Ym#rjvf27gzEwE*_b&u4_%h zit;-M12DhG1Ln7I9WYdEYGD2#Jbw&%0L-7{WxBxJ5(VbZV0Xa$MWjDiEB&uldK4Hc zLSX*J=Vaw$2v>&|QzPq7ZwSNR!3r4ufk#FE6Rv}SYD^776AT4mi3`{80EQ#vWx6oj z8inCVusaxz66telr5|mjM`55Mgy9%IyZcu*EFa?q^oSZlFc)lqU>+V7-3-@3KouH8 z;IqTc^P$i+pAV`&Z*C?P$JDbf=>>T2{V#7}ZHGC~3*igvS-9Rp*B3Uu@#6878&6UhodSF>}rT0fd3^U!%u`iw`n;QcahQPD3lsb=UA=vEQF z2yr?n+9xg@m zkqNn?Zo@khAej`G&c0p-zg`SDkkkM`%5X%VDum7HL>40uUZkrZOR_oMLaQII-vuJe zNvCK}(C4)x*9$t%BL;bmSKPef2Cq~WKOYB5Z!yylfHw^lxN@%B={+aq50-~@2Zecy zeM|_l)Qsb>#GO#Vs=;#H)XWJ!1OWg+&7moU8;ALD3IuYw;k z_SjT8SB!@vDVV&$A7jWA?oq=bJ*fr}@dL3Vn^T#qJ)__tuut1(h(Q~|`F~Kv0d$8AwNXd2-@co$}Qz~eE zy7(?lW($dtxSzwZO>yi}!u@#!{R{+N=ADG3=E6~FwIs!5p-Fdx=%9C`pWm+^FTza1 zi-BKGA(gqTeu8)}mfMy6I1cE-d1r}ipnJrB3DFD6gQZLf2{jNtQDn|Hqe6~MNA#0~ zcoC~aO<6uue2vsjgWe3E-nrhQiG@_3L&7=U?sK5hQ~CRt zxY0>(!JEpWWP8VA42q!^R?4sjg*iFB6+xGI^DrXim50c#r@^DoTO>uR3S_VNE(mgH z|Kj_~n4k#sHuxR%7O(_`O~`imc`?_7jE;_Wndu2>LQ?+z)u0Ym>pqfUHUjg4WAV^# zQ}3YnQM|BH@8r+ci3moj;nP8)qW0m}IC8xNN@+HpDvajS`Sfk++vF_e5r15BnN8h|ZK~;e()Y-g zzogFcut@b~tPbVOaWLohv6 z--AvjJ932}{SP@f8Nd{92rJrlbszJOP@vsLJesO4q%b;y>;5c8jfrAP-RpF~ovwM@ z!I=xxT!&4L=MCo7l>{I`b~>Vl8GfsiT|C9YsIS!!wIZleBD3nRf}C?CrQtE1s?WtD z#2IxKiw40!3C-XT=3uSLkfhdYow{@aS5aN-fDtMC)D@7T{z6^p2$J~zspW(fiZpS| ztQIoO2yV*yL+Ta=5vxEKMiS~evI(U>KC0GIDVkeix8h(SpZ9U^vJ9&LatA4yS`-vN zNUFa(Fvc@Oenx$X>0av`AuJE#uHUly8+F{u5OLa}jS}a4`q7arayY18QweIAOC*uo z?@(pZ(GhU=l@lp+S^PjfhZ?}UDTR|$)vZh=-=JSnoytfrAtN2}FJ@6AA7t#Wr#~Hu zM#c&1B@_m9n+k#Y0L$QwB%&kQ!ALWcz&yHYn~(zqbq%8>EI3gU#%Ag|z7y=+;E4Jx zvkxMuQ&wG1oqWosBSaXP_-c2ogOd{7f>(MHVU?C4yn7`+fZ`tX)2(04AW^p zt4?qtlIe2#0d+e-GtPQIpy&u~xtL3)UnHr>XL5tU{Z^J92u6dnuXMV~k z$!GI4NOK<5!~8&OO;|P$0KK}`2_Gz@mH93?@WnB8&$Ru&q#s#;Hf;Jv)K?wMIu)q1 z$q$OA;e1&=#ib)CWz~6%ipm6IY;3;I^i#}mp}Zff0xAwpb+>bbl3;YJYZxIJvjsHo z>H$VqjXzLtaO@>2z!NLNHZ00J4mVLF+W%mcNKlvF;KD5D|xv{OEb z<5XGDk8sprex~}QD^_^hr%oh9XlZdU!TixdqElbWhw9Z?sMn9<@`(~KG=E#Dw0 zqlR4=-U{lHnzx*~mT#bL;^prJomY#U*j%Ob)p!ZOl?6)NecbN&O% hC*C|ast@!4sQ2mwT<>TMPuM*i#0yM0;g$!x{smK#%n$$o diff --git a/documentation/_build/doctrees/PythonCpp/Name.doctree b/documentation/_build/doctrees/PythonCpp/Name.doctree index 79a473915874a1b65dab8274b4910398a18722d5..6f809f20cd1a5fa03a54642dea07645c59af7afd 100644 GIT binary patch literal 64090 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 literal 63790 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 diff --git a/documentation/_build/doctrees/PythonCpp/index.doctree b/documentation/_build/doctrees/PythonCpp/index.doctree index 70453948d2bc2ef77038e5b68ca8096bda56b34e..0ea992a21770361aced3ba4dc81f5241b4241142 100644 GIT binary patch delta 23328 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%0DHowZ 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 M@botj!ejma0V1>C-v9sr literal 140020 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 K^9bRi{{H}PxJfDi diff --git a/documentation/_build/doctrees/PythonTutorial/CgtScript.doctree b/documentation/_build/doctrees/PythonTutorial/CgtScript.doctree index 8a181ea465fe8f73ee4d264baee04894915e4ee5..d32db349867fa754845caa65b0f973e6fb629796 100644 GIT binary patch literal 99195 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

@@ -605,7 +595,7 @@ they may unexpectedly shadow cells from the libraries.

Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -614,7 +604,7 @@ they may unexpectedly shadow cells from the libraries.

Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/PythonTutorial/Environment.html b/documentation/_build/html/PythonTutorial/Environment.html index 0cafbae3..d805dd3a 100644 --- a/documentation/_build/html/PythonTutorial/Environment.html +++ b/documentation/_build/html/PythonTutorial/Environment.html @@ -86,6 +86,7 @@
  • Release v2.1
  • Release v2.2
  • Release v2.3
  • +
  • Release v2.4
  • Complete Design Flow & Examples
  • @@ -106,14 +107,8 @@
  • Coriolis Configuration & Initialisation
  • CGT - The Graphical Interface
      @@ -392,11 +387,6 @@
  • -
  • Configuration & Technonology -
  • Hurricane Reference
  • Viewer Reference
  • CRL Core Reference
  • @@ -610,7 +600,7 @@ in CGT - The Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -619,7 +609,7 @@ in CGT - The Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/PythonTutorial/Introduction.html b/documentation/_build/html/PythonTutorial/Introduction.html index cf40c60a..881c726b 100644 --- a/documentation/_build/html/PythonTutorial/Introduction.html +++ b/documentation/_build/html/PythonTutorial/Introduction.html @@ -86,6 +86,7 @@
  • Release v2.1
  • Release v2.2
  • Release v2.3
  • +
  • Release v2.4
  • Complete Design Flow & Examples
  • @@ -106,14 +107,8 @@
  • Coriolis Configuration & Initialisation
  • CGT - The Graphical Interface
      @@ -392,11 +387,6 @@
  • -
  • Configuration & Technonology -
  • Hurricane Reference
  • Viewer Reference
  • CRL Core Reference
  • @@ -551,7 +541,7 @@ flagged as external An instance of a model Net -A grouping of electrically connecteds components +A grouping of electrically connected components Plug A terminal of an instance @@ -667,7 +657,7 @@ to be explicitly deleted.

    Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -676,7 +666,7 @@ to be explicitly deleted.

    Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/PythonTutorial/Netlist.html b/documentation/_build/html/PythonTutorial/Netlist.html index 57b8bb59..81e853fd 100644 --- a/documentation/_build/html/PythonTutorial/Netlist.html +++ b/documentation/_build/html/PythonTutorial/Netlist.html @@ -86,6 +86,7 @@
  • Release v2.1
  • Release v2.2
  • Release v2.3
  • +
  • Release v2.4
  • Complete Design Flow & Examples
  • @@ -106,14 +107,8 @@
  • Coriolis Configuration & Initialisation
  • CGT - The Graphical Interface
      @@ -392,11 +387,6 @@
  • -
  • Configuration & Technonology -
  • Hurricane Reference
  • Viewer Reference
  • CRL Core Reference
  • @@ -540,7 +530,7 @@ and the cells it refers to (the master cell

    6.2 Creating Nets and connecting to Instances¶

    -

    An Instance as one Plug for each external net of the master cell. +

    An Instance has one Plug for each external net of the master cell. The plug allows to create a logical connection bewteen a Net of fulladder and a net from an Instance master cell.

    A plug is somewhat equivalent to an instance terminal in other @@ -583,7 +573,7 @@ and make it possible for the

    6.3 Power supplies special case¶

    For supplies, it may be tedious to connect the Plugs of each cell one by one -(and create a lot of uneeded objects). To avoid that, we may use Named +(and create a lot of unneeded objects). To avoid that, we may use Named connections. If a signal in fulladder is set to global, then it will be considered as connected to any signal with the same name and global in the master cell of the instances.

    @@ -893,7 +883,7 @@ directory (under the the root of the Coriolis installati Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -902,7 +892,7 @@ directory (under the the root of the Coriolis installati Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/PythonTutorial/RealDesigns.html b/documentation/_build/html/PythonTutorial/RealDesigns.html index 92613317..127a7242 100644 --- a/documentation/_build/html/PythonTutorial/RealDesigns.html +++ b/documentation/_build/html/PythonTutorial/RealDesigns.html @@ -86,6 +86,7 @@
  • Release v2.1
  • Release v2.2
  • Release v2.3
  • +
  • Release v2.4
  • Complete Design Flow & Examples
  • @@ -106,14 +107,8 @@
  • Coriolis Configuration & Initialisation
  • CGT - The Graphical Interface
      @@ -392,11 +387,6 @@
  • -
  • Configuration & Technonology -
  • Hurricane Reference
  • Viewer Reference
  • CRL Core Reference
  • @@ -571,7 +561,7 @@ the one of the FreePDK45, you must load it prior to calling the Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -580,7 +570,7 @@ the one of the FreePDK45, you must load it prior to calling the Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/PythonTutorial/ToolEngines.html b/documentation/_build/html/PythonTutorial/ToolEngines.html index bd87ad80..a5281b17 100644 --- a/documentation/_build/html/PythonTutorial/ToolEngines.html +++ b/documentation/_build/html/PythonTutorial/ToolEngines.html @@ -86,6 +86,7 @@
  • Release v2.1
  • Release v2.2
  • Release v2.3
  • +
  • Release v2.4
  • Complete Design Flow & Examples
  • @@ -106,14 +107,8 @@
  • Coriolis Configuration & Initialisation
  • CGT - The Graphical Interface
      @@ -392,11 +387,6 @@
  • -
  • Configuration & Technonology -
  • Hurricane Reference
  • Viewer Reference
  • CRL Core Reference
  • @@ -734,7 +724,7 @@ case it is around 3% Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -743,7 +733,7 @@ case it is around 3% Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/PythonTutorial/definitions.html b/documentation/_build/html/PythonTutorial/definitions.html index e3dc34f8..75b4f30d 100644 --- a/documentation/_build/html/PythonTutorial/definitions.html +++ b/documentation/_build/html/PythonTutorial/definitions.html @@ -83,6 +83,7 @@
  • Release v2.1
  • Release v2.2
  • Release v2.3
  • +
  • Release v2.4
  • Complete Design Flow & Examples
  • @@ -103,14 +104,8 @@
  • Coriolis Configuration & Initialisation
  • CGT - The Graphical Interface
      @@ -389,11 +384,6 @@
  • -
  • Configuration & Technonology -
  • Hurricane Reference
  • Viewer Reference
  • CRL Core Reference
  • @@ -517,7 +507,7 @@ Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -526,7 +516,7 @@ Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/PythonTutorial/index.html b/documentation/_build/html/PythonTutorial/index.html index 1cf485e2..4cf96e9b 100644 --- a/documentation/_build/html/PythonTutorial/index.html +++ b/documentation/_build/html/PythonTutorial/index.html @@ -85,6 +85,7 @@
  • Release v2.1
  • Release v2.2
  • Release v2.3
  • +
  • Release v2.4
  • Complete Design Flow & Examples
  • @@ -105,14 +106,8 @@
  • Coriolis Configuration & Initialisation
  • CGT - The Graphical Interface
      @@ -391,11 +386,6 @@
  • -
  • Configuration & Technonology -
  • Hurricane Reference
  • Viewer Reference
  • CRL Core Reference
  • @@ -509,7 +499,7 @@

    Hurricane+Python Tutorial¶

    Printable version of this document PythonTutorial.pdf.

    -

    First, a small disclaimer. This tutorial assume that you are already familiar +

    First, a small disclaimer. This tutorial assumes that you are already familiar with the concepts of vlsi designs, such as netlist, layout, instances and hierarchical design.

    @@ -596,7 +586,7 @@ and hierarchical design.

    Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -605,7 +595,7 @@ and hierarchical design.

    Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/PythonTutorial/pdfHeader.html b/documentation/_build/html/PythonTutorial/pdfHeader.html index 203553bf..80fe80f9 100644 --- a/documentation/_build/html/PythonTutorial/pdfHeader.html +++ b/documentation/_build/html/PythonTutorial/pdfHeader.html @@ -83,6 +83,7 @@
  • Release v2.1
  • Release v2.2
  • Release v2.3
  • +
  • Release v2.4
  • Complete Design Flow & Examples
  • @@ -103,14 +104,8 @@
  • Coriolis Configuration & Initialisation
  • CGT - The Graphical Interface
      @@ -389,11 +384,6 @@
  • -
  • Configuration & Technonology -
  • Hurricane Reference
  • Viewer Reference
  • CRL Core Reference
  • @@ -505,7 +495,7 @@

    -First, a small disclaimer. This tutorial assume that you are already familiar +First, a small disclaimer. This tutorial assumes that you are already familiar with the concepts of vlsi designs, such as netlist, layout, instances and hierarchical design.

    @@ -523,7 +513,7 @@ and hierarchical design.

    Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -532,7 +522,7 @@ and hierarchical design.

    Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/RDS/RDSpage.html b/documentation/_build/html/RDS/RDSpage.html index 019f57a3..624bf59a 100644 --- a/documentation/_build/html/RDS/RDSpage.html +++ b/documentation/_build/html/RDS/RDSpage.html @@ -86,6 +86,7 @@
  • Release v2.1
  • Release v2.2
  • Release v2.3
  • +
  • Release v2.4
  • Complete Design Flow & Examples
  • @@ -106,14 +107,8 @@
  • Coriolis Configuration & Initialisation
  • CGT - The Graphical Interface
      @@ -392,11 +387,6 @@
  • -
  • Configuration & Technonology -
  • Hurricane Reference
  • Viewer Reference
  • CRL Core Reference
  • @@ -992,7 +982,7 @@ wire width and minimal spacing for the routers. They are patly redundant.

    Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -1001,7 +991,7 @@ wire width and minimal spacing for the routers. They are patly redundant.

    Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/RDS/index.html b/documentation/_build/html/RDS/index.html index 359de469..74127e5c 100644 --- a/documentation/_build/html/RDS/index.html +++ b/documentation/_build/html/RDS/index.html @@ -85,6 +85,7 @@
  • Release v2.1
  • Release v2.2
  • Release v2.3
  • +
  • Release v2.4
  • Complete Design Flow & Examples
  • @@ -105,14 +106,8 @@
  • Coriolis Configuration & Initialisation
  • CGT - The Graphical Interface
      @@ -391,11 +386,6 @@
  • -
  • Configuration & Technonology -
  • Hurricane Reference
  • Viewer Reference
  • CRL Core Reference
  • @@ -551,7 +541,7 @@ Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -560,7 +550,7 @@ Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/Stratus/Developper.html b/documentation/_build/html/Stratus/Developper.html index 68227772..ea878cdc 100644 --- a/documentation/_build/html/Stratus/Developper.html +++ b/documentation/_build/html/Stratus/Developper.html @@ -86,6 +86,7 @@
  • Release v2.1
  • Release v2.2
  • Release v2.3
  • +
  • Release v2.4
  • Complete Design Flow & Examples
  • @@ -106,14 +107,8 @@
  • Coriolis Configuration & Initialisation
  • CGT - The Graphical Interface
      @@ -392,11 +387,6 @@
  • -
  • Configuration & Technonology -
  • Hurricane Reference
  • Viewer Reference
  • CRL Core Reference
  • @@ -802,7 +792,7 @@ by default) Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -811,7 +801,7 @@ by default) Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/Stratus/DpGen.html b/documentation/_build/html/Stratus/DpGen.html index e15f6c9c..2327efde 100644 --- a/documentation/_build/html/Stratus/DpGen.html +++ b/documentation/_build/html/Stratus/DpGen.html @@ -35,7 +35,7 @@ - + @@ -86,6 +86,7 @@
  • Release v2.1
  • Release v2.2
  • Release v2.3
  • +
  • Release v2.4
  • Complete Design Flow & Examples
  • @@ -106,14 +107,8 @@
  • Coriolis Configuration & Initialisation
  • CGT - The Graphical Interface
      @@ -392,11 +387,6 @@
  • -
  • Configuration & Technonology -
  • Hurricane Reference
  • Viewer Reference
  • CRL Core Reference
  • @@ -3794,7 +3784,7 @@ flip-flop -
    -

    First Stage: Technology Selection¶

    -

    -The initialization process is done by executing, in order, the following file(s):

    +
    +

    Configuration & User’s Settings¶

    +

    All configurations files are shipped under the form of Python modules. +They are to be loaded through import statements. The user’s configuration +files must be put in a ./coriolis2/ directory under the working directory. +It must be made a Python module so it must contains a __init__.py file +(kept empty most of the time). And as they are true Python files, you may use +in them any valid code you see fit.

    +

    If no user configuration files are present, Coriolis will use the default +symbolic.cmos technology which matches the Alliance symbolic default one.

    +

    Contents of the user’s configuration directory ./coriolis2/:

    ---++ - - - + + - - - + + - - - + + - - - + + + + +
    OrderMeaningFile
    FileContents/Meaning
    1The system setting/etc/coriolis2/techno.conf
    ./coriolis2/__init__.pyMandatory. Tells Python this directory +is a module. Can be left empty
    2The user’s global setting${HOME}/.coriolis2/techno.py
    ./coriolis2/settings.pyMandatory. The user’s settings, it must +setup the technology intended for use and +perform any configuration variable settings
    3The user’s local setting<CWD>/.coriolis2/techno.py
    ./coriolis2/ioring.pyOptional. Define how the I/O pads are to +be placed on the periphery of the chip along +the chip and core sizes
    ./coriolis2/katana.pyOptional. Hook file for Katana, run +just after the tool has been created for a +Cell. Mostly to setup Nets to be +traced
    -

    Those files must provide only one variable, the name of the technology. Each technology -will provide configuration for both the symbolic part and the real part. Coriolis can -work with purely symbolic technology (symbolic/cmos) in that case, the real technology -part is a dummy one.

    -

    For example, to use mosis 180nm:

    -
    # -*- Mode:Python -*-
    +

    For example, to use mosis 180nm, you can put in your ./coriolis2/setting.py:

    +
    # -*- Mode:Python -*-
     
    -technology = '180/scn6m_deep_09'
    +import node180.scn6m_deep_09
     
    -
    -

    Second Stage: Technology Configuration Loading¶

    -

    -The technology variable is set by the first stage and it’s the name of the -technology. A directory of that name, with all the configuration files, -must exist in the configuration directory (/etc/coriolis2). -In addition to the technology-specific directories, a common/ directory is -there to provide a trunk for all the identical data across the various technologies. -The initialization process is done by executing, in order, the following file(s):

    - ----- - - - - - - - - - - - - - - - - - - - - -
    OrderMeaningFile
    1The system initialization/etc/coriolis2/<technology>/<TOOL>.conf
    2The user’s global initialization${HOME}/.coriolis2/settings.py
    3The user’s local initialization<CWD>/.coriolis2/settings.py
    -
    -

    Note

    -

    The loading policy is not hard-coded. It is implemented -at Python level in /etc/coriolis2/coriolisInit.py, and thus may be easily -amended to whatever site policy.

    -

    The truly mandatory requirement is the existence of coriolisInit.py -which must contain a coriolisConfigure() function with no argument.

    -

    The coriolisInit.py script execution is triggered by the import of -the CRL module:

    -
    import sys
    -import os.path
    +
    +

    A Comprehensive Example of ./coriolis2/setting.py¶

    +
    import os
     import Cfg
    -import Hurricane
    -import CRL        # Triggers execution of "coriolisInit.py".
     import Viewer
    -
    -
    -
    -
    -
    -

    Configuration Helpers¶

    -

    To ease the writing of configuration files, a set of small helpers -is available. They allow to setup the configuration parameters through -simple assembly of tuples. The helpers are installed under the directory:

    -
    <install>/etc/coriolis2/
    -
    -
    -

    Where <install>/ is the root of the installation.

    -
    -

    Alliance Helper¶

    -

    The configuration file must provide an allianceConfig tuple as shown below. -Like all the Coriolis configuration file, it is to be executed through Python, -so we can use it to perform a not so dumb search of the Alliance installation -directory. Our default policy is to try to read the ALLIANCE_TOP environment -variable, and if not found, default to /soc/alliance.

    -
    import os
    -from helpers.Alliance import AddMode
    -from helpers.Alliance import Gauge
    +import CRL
    +import node180.scn6m_deep_09
    +from   helpers       import l, u, n
     
    -allianceTop = None
    +allianceTop = None
     if os.environ.has_key('ALLIANCE_TOP'):
       allianceTop = os.environ['ALLIANCE_TOP']
       if not os.path.isdir(allianceTop):
    -    allianceTop = None
    +    allianceTop = None
     
     if not allianceTop: allianceTop = '/soc/alliance'
     
    -cellsTop = allianceTop+'/cells/'
    +Cfg.Configuration.pushDefaultPriority( Cfg.Parameter.Priority.UserFile )
     
    +Viewer.Graphics.setStyle( 'Alliance.Classic [black]' )
     
    -allianceConfig = \
    -    ( ( 'CATALOG'            , 'CATAL')
    -    , ( 'WORKING_LIBRARY'    , '.')
    -    , ( 'SYSTEM_LIBRARY'     , ( (cellsTop+'sxlib'   , AddMode.Append)
    -                               , (cellsTop+'dp_sxlib', AddMode.Append)
    -                               , (cellsTop+'ramlib'  , AddMode.Append)
    -                               , (cellsTop+'romlib'  , AddMode.Append)
    -                               , (cellsTop+'rflib'   , AddMode.Append)
    -                               , (cellsTop+'rf2lib'  , AddMode.Append)
    -                               , (cellsTop+'pxlib'   , AddMode.Append)
    -                               , (cellsTop+'padlib'  , AddMode.Append) ) )
    -    , ( 'IN_LO'              , 'vst')
    -    , ( 'IN_PH'              , 'ap')
    -    , ( 'OUT_LO'             , 'vst')
    -    , ( 'OUT_PH'             , 'ap')
    -    , ( 'POWER'              , 'vdd')
    -    , ( 'GROUND'             , 'vss')
    -    , ( 'CLOCK'              , '.*ck.*|.*nck.*')
    -    , ( 'BLOCKAGE'           , '^blockage[Nn]et*')
    -    , ( 'PAD'                , '.*_px$')
    -    )
    +cellsTop = allianceTop+'/cells'
    +
    +# Alliance related settings.
    +af  = CRL.AllianceFramework.get()
    +env = af.getEnvironment()
    +
    +env.setSCALE_X        ( 100 )
    +env.setCATALOG        ( 'CATAL' )
    +env.setIN_LO          ( 'vst'   )
    +env.setIN_PH          ( 'ap'    )
    +env.setOUT_LO         ( 'vst'   )
    +env.setOUT_PH         ( 'ap'    )
    +env.setPOWER          ( 'vdd'   )
    +env.setGROUND         ( 'vss'   )
    +env.setCLOCK          ( '.*ck.*|.*nck.*'   )
    +env.setBLOCKAGE       ( 'blockage[Nn]et.*' )
    +env.setPad            ( '.*_mpx$'          )
    +
    +env.setWORKING_LIBRARY( '.' )
    +env.addSYSTEM_LIBRARY ( library=cellsTop+'/nsxlib', mode=CRL.Environment.Append )
    +env.addSYSTEM_LIBRARY ( library=cellsTop+'/mpxlib', mode=CRL.Environment.Append )
    +
    +# Misc. setting parameters.
    +Cfg.getParamBool      ( 'misc.logMode'                ).setBool      ( False     )
    +Cfg.getParamBool      ( 'misc.verboseLevel1'          ).setBool      ( True      )
    +Cfg.getParamBool      ( 'misc.verboseLevel2'          ).setBool      ( True      )
    +
    +# P&R related parameters.
    +Cfg.getParamString    ( 'anabatic.routingGauge'       ).setString    ( 'msxlib4' )
    +Cfg.getParamString    ( 'anabatic.topRoutingLayer'    ).setString    ( 'METAL4'  )
    +Cfg.getParamInt       ( 'katana.hTracksReservedLocal' ).setInt       ( 6         )
    +Cfg.getParamInt       ( 'katana.vTracksReservedLocal' ).setInt       ( 3         )
    +
    +Cfg.Configuration.popDefaultPriority()
     
    -

    -

    The example above shows the system configuration file, with all the -available settings. Some important remarks about those settings:

    +

    The example above shows the user’s configuration file, with all the +available settings for Alliance and a small subset for other tools. Some remarks +about this file:

      -
    • In its configuration file, the user does not need to redefine all the settings, -just the one he wants to change. In most of the cases, the SYSTEM_LIBRARY, -the WORKING_LIBRARY and the special net names (at this point there is not +

    • The Cfg.Configuration.pushDefaultPriority() and Cfg.Configuration.popDefaultPriority() +statements are there so the value sets by the user will not be overriden by system +ones event if they are setup afterwards. This priority system is introduced so the +various configuration files could be loaded in out of order.

      +
    • +
    • The Viewer.Graphics.setStyle() allows you to choose the look of your liking from +the start.

      +
    • +
    • For Alliance, the user does not need to redefine all the settings, +just the one he wants to change. In most of the cases, the addSYSTEM_LIBRARY(), +the setWORKING_LIBRARY() and the special net names (at this point there is not much alternatives for the others settings).

    • -
    • SYSTEM_LIBRARY setting: Setting up the library search path. -Each library entry in the tuple will be added to the search path according -to the second parameter:

      +
    • addSYSTEM_LIBRARY() adds a directory to the library search path. +Each library entry will be added to the search path according to the second parameter:

        -
      • AddMode::Append: append to the search path.
      • -
      • AddMode::Prepend: insert in head of the search path.
      • -
      • AddMode::Replace: look for a library of the same name and replace +
      • CRL.Environment::Append: append to the search path.
      • +
      • CRL.Environment::Prepend: insert in head of the search path.
      • +
      • CRL.Environment::Replace: look for a library of the same name and replace it, whithout changing the search path order. If no library of that name already exists, it is appended.
      @@ -720,135 +663,45 @@ Implementing the Alliance specification, when looking fo the system will browse sequentially through the library list and returns the first Cell whose name match.

    • -
    • For POWER, GROUND, CLOCK and BLOCKAGE net names, a regular -expression (gnu regexp) is expected.

      +
    • For setPOWER(), setGROUND(), setCLOCK() and setBLOCKAGE() net names, +a regular expression (gnu regexp) is expected.

      +
    • +
    • For other tools parameters, just use getter and setter according to their types:

      + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + +
      TypeGetter/Setter
      BoolCgt.getParamBool('name').setBool( True )
      IntCgt.getParamInt('name').setBool( 12 )
      EnumerateCgt.getParamEnumerate('name').setBool( 12 )
      DoubleCgt.getParamDouble('name').setDouble( 254.5 )
      PercentageCgt.getParamPercentage('name').setPercentage( 75.0 )
      StringCgt.getParamString('name').setString( 'machin' )
      +

      Lists of the configurable parameters of most interest to the user are given in +Viewer & Tools.

    -

    A typical user’s configuration file would be:

    -
    import os
    -
    -homeDir = os.getenv('HOME')
    -
    -allianceConfig = \
    -    ( ('WORKING_LIBRARY'    , homeDir+'/worklib')
    -    , ('SYSTEM_LIBRARY'     , ( (homeDir+'/mylib', Environment.Append) ) )
    -    , ('POWER'              , 'vdd.*')
    -    , ('GROUND'             , 'vss.*')
    -    )
    -
    -
    -
    -
    -

    Tools Configuration Helpers¶

    -

    All the tools use the same helper to load their configuration (a.k.a. -Configuration Helper). Currently the following configuration system-wide -configuration files are defined:

    -
      -
    • misc.conf: common settings or not belonging specifically to a tool.
    • -
    • etesian.conf: for the Etesian tool.
    • -
    • kite.conf: for the Kite tool.
    • -
    • stratus1.conf: for the Stratus1 tool.
    • -
    -

    -

    Here is the contents of etesian.conf:

    -
    # Etesian parameters.
    -parametersTable = \
    -    ( ('etesian.aspectRatio'    , TypePercentage, 100    , { 'min':10, 'max':1000 } )
    -    , ('etesian.spaceMargin'    , TypePercentage, 5      )
    -    , ('etesian.uniformDensity' , TypeBool      , False  )
    -    , ('etesian.routingDriven'  , TypeBool      , False  )
    -    , ("etesian.effort"         , TypeEnumerate , 2
    -      , { 'values':( ("Fast"    , 1)
    -                   , ("Standard", 2)
    -                   , ("High"    , 3)
    -                   , ("Extreme" , 4) ) }
    -      )
    -    , ("etesian.graphics"       , TypeEnumerate , 2
    -      , { 'values':( ("Show every step"  , 1)
    -                   , ("Show lower bound" , 2)
    -                   , ("Show result only" , 3) ) }
    -      )
    -    )
    -
    -layoutTable = \
    -    ( (TypeTab   , 'Etesian', 'etesian')
    -
    -    , (TypeTitle , 'Placement area')
    -    , (TypeOption, "etesian.aspectRatio"   , "Aspect Ratio, X/Y (%)", 0 )
    -    , (TypeOption, "etesian.spaceMargin"   , "Space Margin"         , 1 )
    -    , (TypeRule  ,)
    -    , (TypeTitle , 'Etesian - Placer')
    -    , (TypeOption, "etesian.uniformDensity", "Uniform density"      , 0 )
    -    , (TypeOption, "etesian.routingDriven" , "Routing driven"       , 0 )
    -    , (TypeOption, "etesian.effort"        , "Placement effort"     , 1 )
    -    , (TypeOption, "etesian.graphics"      , "Placement view"       , 1 )
    -    , (TypeRule  ,)
    -    )
    -
    -
    -

    Taxonomy of the file:

    -
      -
    • It must contain, at least, the two tables:
        -
      • parametersTable, defines & initialises the configuration variables.
      • -
      • layoutTables, defines how the various parameters will be displayed -in the configuration window (The Settings Tab).
      • -
      -
    • -
    • The parametersTable, is a tuple (list) of tuples. Each entry in the list -describes a configuration parameter. In its simplest form, it’s a quadruplet -(TypeOption, ‘paramId’, ParameterType, DefaultValue) with:
        -
      1. TypeOption, tells that this tuple describes a parameter.
      2. -
      3. paramId, the identifier of the parameter. Identifiers are defined -by the tools. The list of parameters is detailed in each tool section.
      4. -
      5. ParameterType, the kind of parameter. Could be:
          -
        • TypeBool, boolean.
        • -
        • TypeInt, signed integer.
        • -
        • TypeEnumerate, enumerated type, needs extra entry.
        • -
        • TypePercentage, percentage, expressed between 0 and 100.
        • -
        • TypeDouble, float.
        • -
        • TypeString, character string.
        • -
        -
      6. -
      7. DefaultValue, the default value for that parameter.
      8. -
      -
    • -
    -
    -
    -
    -

    Hacking the Configuration Files¶

    -

    Aside from the symbols that get used by the configuration helpers like -allianceConfig or parametersTable, you can put pretty much anything -in <CWD>/.coriolis2/settings.py (that is, written in Python).

    -

    For example:

    -
    # -*- Mode:Python -*-
    -
    -defaultStyle = 'Alliance.Classic [black]'
    -
    -# Regular Coriolis configuration.
    -parametersTable = \
    -    ( ('misc.catchCore'           , TypeBool      , False  )
    -    , ('misc.info'                , TypeBool      , False  )
    -    , ('misc.paranoid'            , TypeBool      , False  )
    -    , ('misc.bug'                 , TypeBool      , False  )
    -    , ('misc.logMode'             , TypeBool      , True   )
    -    , ('misc.verboseLevel1'       , TypeBool      , False  )
    -    , ('misc.verboseLevel2'       , TypeBool      , True   )
    -    , ('misc.minTraceLevel'       , TypeInt       , 0      )
    -    , ('misc.maxTraceLevel'       , TypeInt       , 0      )
    -    )
    -
    -# Some ordinary Python script...
    -import os
    -
    -print '       o  Cleaning up ClockTree previous run.'
    -for fileName in os.listdir('.'):
    -  if fileName.endswith('.ap') or (fileName.find('_clocked.') >= 0):
    -    print '          - <%s>' % fileName
    -    os.unlink(fileName)
    -
    -
    -

    See Python Interface to Coriolis for more details those capabilities.

    @@ -873,7 +726,7 @@ in <CWD>/.coriolis2/settings.py (that is, written Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -882,7 +735,7 @@ in <CWD>/.coriolis2/settings.py (that is, written Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/UsersGuide/DesignFlow.html b/documentation/_build/html/UsersGuide/DesignFlow.html index 6808d04e..81208ab1 100644 --- a/documentation/_build/html/UsersGuide/DesignFlow.html +++ b/documentation/_build/html/UsersGuide/DesignFlow.html @@ -86,6 +86,7 @@
  • Release v2.1
  • Release v2.2
  • Release v2.3
  • +
  • Release v2.4
  • Complete Design Flow & Examples
  • @@ -106,14 +107,8 @@
  • Coriolis Configuration & Initialisation
  • CGT - The Graphical Interface
      @@ -392,11 +387,6 @@
  • -
  • Configuration & Technonology -
  • Hurricane Reference
  • Viewer Reference
  • CRL Core Reference
  • @@ -549,7 +539,7 @@ examples are supplied in the repository Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -558,7 +548,7 @@ examples are supplied in the repository Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/UsersGuide/Installation.html b/documentation/_build/html/UsersGuide/Installation.html index 08afd81c..1f36639f 100644 --- a/documentation/_build/html/UsersGuide/Installation.html +++ b/documentation/_build/html/UsersGuide/Installation.html @@ -86,6 +86,7 @@
  • Release v2.1
  • Release v2.2
  • Release v2.3
  • +
  • Release v2.4
  • Complete Design Flow & Examples
  • @@ -106,14 +107,8 @@
  • Coriolis Configuration & Initialisation
  • CGT - The Graphical Interface
      @@ -392,11 +387,6 @@
  • -
  • Configuration & Technonology -
  • Hurricane Reference
  • Viewer Reference
  • CRL Core Reference
  • @@ -516,7 +506,7 @@

    As the sources are being released, the binary packaging is dropped. You may still find (very) old versions here: http://asim.lip6.fr/pub/coriolis/2.0 .

    -

    In a nutshell, building source consistis in pulling the git repository then +

    In a nutshell, building source consists in pulling the git repository then running the ccb installer.

    Note

    @@ -546,7 +536,7 @@ If you really want to re-generate it, add the latex
  • python-docutils (for reStructuredText)
  • -

    The following libraries gets directly bundled with Coriolis:

    +

    The following libraries get directly bundled with Coriolis:

    • LEF/DEF (from SI2)
    • FLUTE (from Chris C. N. Chu)
    • @@ -557,7 +547,7 @@ If you really want to re-generate it, add the In order to simplify the work of the ccb installer, the source, build and installation tree is fixed. To successfully compile Coriolis you must follow it exactly. The tree is relative to the home directory of the user -building it (noted ~/ or $HOME/). Only the source +building it (note ~/ or $HOME/). Only the source directory needs to be manually created by the user, all others will be automatically created either by ccb or the build system.

      @@ -641,7 +631,7 @@ automatically created either by ccb or the build system.

      Alternate build types: the Release.Shared means an optimized build with shared libraries. But there are also available Static instead of Shared and Debug instead of Release and any combination of them.

      -

      Static do not work because I don’t know yet to mix statically linked binaries +

      Static does not work because I don’t know yet to mix statically linked binaries and Python modules (which must be dynamic).

      @@ -667,14 +657,14 @@ one minor, they provides qt 5.9 were we need at least

      Note

      Under rhel 7 or clones, they upgraded their version of qt 4 (from 4.6 to 4.8) -so the diagonal line bug no longer occur. So we can safely use the default +so the diagonal line bug no longer occurs. So we can safely use the default system qt again.

      Installing on RedHat or compatible distributions¶

        -
      1. Install or check that the required prerequisites are installeds :

        +
      2. Install or check that the required prerequisites are installed :

        dummy@lepka:~> yum install -y git cmake bison flex gcc-c++ libstdc++-devel  \
                                       binutils-devel                                \
                                       boost-devel boost-python boost-filesystem     \
        @@ -683,7 +673,7 @@ system qt again.

        qt-devel qwt-devel # Qt 4
        -

        Note, that the Qwt packages are directly availables from the standart distribution +

        Note, that the Qwt packages are directly available from the standart distribution when using qt 4.

      3. Install the unpackaged prerequisites. Currently, only RapidJSON.

        @@ -702,7 +692,7 @@ when using qt 4.

      4. Build & install:

        dummy@lepka:src> cd coriolis
        -dummy@lepka:coriolis> git checkout devel_anabatic
        +dummy@lepka:coriolis> git checkout devel
         dummy@lepka:coriolis> ./bootstrap/ccb.py --project=support  \
                                                  --project=coriolis \
                                                  --make="-j4 install"
        @@ -729,7 +719,7 @@ be given as argument:

        --devtoolset=8 --make="-j4 install"
        -

        If you want to uses Qt 5 instead of Qt 4 modify the previous steps as follow:

        +

        If you want to use Qt 5 instead of Qt 4, modify the previous steps as follows:

        • At step 1, do not install the qt 4 related development package (qt4-devel), but instead:

          @@ -747,7 +737,7 @@ Then run:

        • At step 4, add a --qt5 argument to the ccb.py command line.

        • -
        • The Python scripts that makes uses of PyQt in crlcore and cumulus must be +

        • The Python scripts that make use of PyQt in crlcore and cumulus must be edited to import PyQt5 instead of PtQt4 (should find a way to automatically switch between the two of them).

        • @@ -757,10 +747,10 @@ It also may be run in graphical mode (

          Building a Debug Enabled Version¶

          -

          The Release.Shared default version of the Coriolis is build stripped of symbols +

          The Release.Shared default version of the Coriolis is built stripped of symbols and optimized so that it makes analysing a core dump after a crash difficult. In the (unlikely) case of a crash, you may want to build, alongside the optimized version, -a debug one which allow forensic examination by gdb (or valgrind or whatever).

          +a debug one which allows forensic examination by gdb (or valgrind or whatever).

          Run again ccb.py, adding the --debug argument:

          dummy@lepka:coriolis> ./bootstrap/ccb.py --project=support  \
                                                    --project=coriolis \
          @@ -775,7 +765,7 @@ a debug one which allow forensic examination by gdb (or
           

          Installing on Debian 9, Ubuntu 18 or compatible distributions¶

          -

          First, install or check that the required prerequisites are installeds :

          +

          First, install or check that the required prerequisites are installed :

          dummy@lepka:~> sudo apt install -y build-essential binutils-dev                     \
                                              git cmake bison flex gcc python-dev              \
                                              libboost-all-dev libboost-python-dev             \
          @@ -794,7 +784,7 @@ a debug one which allow forensic examination by gdb (or
           

          Third and final step, build & install:

          dummy@lepka:src> cd coriolis
          -dummy@lepka:coriolis> git checkout devel_anabatic
          +dummy@lepka:coriolis> git checkout devel
           dummy@lepka:coriolis> ./bootstrap/ccb.py --project=coriolis \
                                                    --make="-j4 install"
           
          @@ -802,7 +792,7 @@ a debug one which allow forensic examination by gdb (or

          Additionnal Requirement under MacOS¶

          -

          Coriolis make uses of the boost::python module, but the MacPorts boost +

          Coriolis makes use of the boost::python module, but the MacPorts boost seems unable to work with the Python bundled with MacOS. So you have to install both of them from MacPorts:

          dummy@macos:~> port install boost +python27
          @@ -833,7 +823,7 @@ packaging, you must configure it so that it can found those libraries.

          The easiest way is to setup the Alliance environment (i.e. sourcing .../etc/profile.d/alc_env.{sh,csh}) before setting up Coriolis environment (see the next section). To understand how Coriolis find/setup Alliance you may -have look to the Alliance Helper.

          +have look to the Configuration and User’s Settings section.

          Setting up the Environment (coriolisEnv.py)¶

          @@ -882,7 +872,7 @@ infinite loop if it’s called again in, say ~/.bashrc
      @@ -891,7 +881,7 @@ infinite loop if it’s called again in, say ~/.bashrc
      Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019.
      Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université.
      diff --git a/documentation/_build/html/UsersGuide/LicenseCredits.html b/documentation/_build/html/UsersGuide/LicenseCredits.html index 80e98462..aa4739f3 100644 --- a/documentation/_build/html/UsersGuide/LicenseCredits.html +++ b/documentation/_build/html/UsersGuide/LicenseCredits.html @@ -86,6 +86,7 @@
    • Release v2.1
    • Release v2.2
    • Release v2.3
    • +
    • Release v2.4
  • Complete Design Flow & Examples
  • @@ -106,14 +107,8 @@
  • Coriolis Configuration & Initialisation
  • CGT - The Graphical Interface
      @@ -392,11 +387,6 @@
  • -
  • Configuration & Technonology -
  • Hurricane Reference
  • Viewer Reference
  • CRL Core Reference
  • @@ -560,7 +550,7 @@ copyright© Chris C. N. Chu from the Iowa State Universi Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -569,7 +559,7 @@ copyright© Chris C. N. Chu from the Iowa State Universi Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/UsersGuide/Releases.html b/documentation/_build/html/UsersGuide/Releases.html index 81fc8bde..a9126775 100644 --- a/documentation/_build/html/UsersGuide/Releases.html +++ b/documentation/_build/html/UsersGuide/Releases.html @@ -86,6 +86,7 @@
  • Release v2.1
  • Release v2.2
  • Release v2.3
  • +
  • Release v2.4
  • Complete Design Flow & Examples
  • @@ -106,14 +107,8 @@
  • Coriolis Configuration & Initialisation
  • CGT - The Graphical Interface
      @@ -392,11 +387,6 @@
  • -
  • Configuration & Technonology -
  • Hurricane Reference
  • Viewer Reference
  • CRL Core Reference
  • @@ -560,7 +550,7 @@ for the Cell viewer and CRLcore has been added.
  • More extensive Python support for all the components of Coriolis.
  • Configuration is now completly migrated under Python. -xml loaders can still be useds for compatibilty.
  • +xml loaders can still be used for compatibilty.
  • The cgt main has been rewritten in Python.
  • @@ -597,25 +587,40 @@ whole design down and including the standard cells.

    Release v2.3¶

      -
    1. Revert to a more standard organisation of the branchs. devel_anabatic is +

    2. Reverts to a more standard organisation of the branches. devel_anabatic is closed and we go on with master (stable version) and devel.

    3. -
    4. Make Katana the default global & detailed router. Put Knik & Kite in the -obsolete menues.

      +
    5. Makes Katana the default global & detailed router. Put Knik & Kite in the +obsolete menus.

    6. -
    7. Finally make uses of PyQt4 widgets. Seems to integrate without problems +

    8. Finally makes use of PyQt4 widgets. Seems to integrate without problems with the Coriolis own qt widget. The drawback is that to build against qt 5 -needs to adjustement from the user.

      +needs adjustement from the user.

    9. Improved support for whole chip management. The outer part of the chip containing -the pad is decoupled from the core. This allow to cleanly separate real pads from +the pad is decoupled from the core. This allows to cleanly separate real pads from the foundry from a symbolic core. But this does not preclude other combinations as fully symbolic or fully real.

      -

      To perform the separation an intermediate hierarchical level corona between chip +

      To perform the separation, an intermediate hierarchical level corona between chip and core has been introduced.

    +
    +

    Release v2.4¶

    +
      +
    1. Complete rewrite of the initialisation system. No longer use “configuration like” +files with various list of items. Now the configuration is supplied under the +from of Python modules to be imported as the user see fit.
    2. +
    3. Clean separation between nda protected parts and free ones. Now all the nda +related components are put under one separated tree, whether they are configuration +files or Python plugins, so that they be can easily by exported.
    4. +
    5. In Anabatic & Katana better accuracy at how obstacles decrease the edges +capacities of the GCells. Reduce the edge capacity of a GCell according to it’s +inner cluttering (that is, it’s number of terminals). Change of semantics +for katana.hReservedLocal and katana.vReservedLocal parameters.
    6. +
    +
    @@ -639,7 +644,7 @@ and core has been introduced.

    Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -648,7 +653,7 @@ and core has been introduced.

    Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/UsersGuide/ScriptsPlugins.html b/documentation/_build/html/UsersGuide/ScriptsPlugins.html index ba76677d..d4697f21 100644 --- a/documentation/_build/html/UsersGuide/ScriptsPlugins.html +++ b/documentation/_build/html/UsersGuide/ScriptsPlugins.html @@ -86,6 +86,7 @@
  • Release v2.1
  • Release v2.2
  • Release v2.3
  • +
  • Release v2.4
  • Complete Design Flow & Examples
  • @@ -106,14 +107,8 @@
  • Coriolis Configuration & Initialisation
  • CGT - The Graphical Interface
      @@ -392,11 +387,6 @@
  • -
  • Configuration & Technonology -
  • Hurricane Reference
  • Viewer Reference
  • CRL Core Reference
  • @@ -513,7 +503,7 @@

    Python Interface for Hurricane / Coriolis¶

    The (almost) complete interface of Hurricane is exported as a Python module -and some part of the other components of Coriolis (each one in a separate +and some parts of the other components of Coriolis (each one in a separate module). The interface has been made to mirror as closely as possible the C++ one, so the C++ doxygen documentation could be used to write code with either languages.

    @@ -521,10 +511,11 @@ either languages.

    A script could be run directly in text mode from the command line or through the graphical interface (see Executing Python Scripts in Cgt).

    Aside for this requirement, the python script can contain anything valid -in Python, so don’t hesitate to use any package or extention.

    +in Python, so don’t hesitate to use any package or extension.

    Small example of Python/Stratus script:

    -
    from Hurricane import *
    -from Stratus   import *
    +
    import symbolic.cmos
    +from   Hurricane import *
    +from   Stratus   import *
     
     def doSomething ():
         # ...
    @@ -556,11 +547,15 @@ in Python, so don’t hesitate to use any package or
     

    part (this is standart Python). It is a simple adapter that will -calls ScriptMain().

    +call ScriptMain().

    +

    In this case, the import symbolic.cmos statement at the begining +is mandatory.

  • Through cgt, either in text or graphical mode. In that case, the ScriptMain() is directly called trough a sub-interpreter. The arguments of the script are passed through the **kw dictionnary.

    +

    In this case, the import symbolic.cmos statement at the begining +may be omitted.

    @@ -577,7 +572,7 @@ The arguments of the script are passed through the @@ -596,33 +591,31 @@ Their entry point is a ScriptMain() method as described through this method.

    Chip Placement¶

    -

    Automatically perform the placement of a complete chip. This plugin, as well +

    Automatically performs the placement of a complete chip. This plugin, as well as the other P&R tools expect a specific top-level hierarchy for the design. -The top-level hierarchy must contains the instances of all the I/O pads and +The top-level hierarchy must contain the instances of all the I/O pads and exactly one instance named corona of an eponym cell corona. -The corona cell in turn containing the instance of the chip’s core model.

    +The corona cell in turn contains the instance of the chip’s core model.

    The intermediate corona hierarchical level has been introduced to handle -the possible discoupling between real I/O pads supplied by a foundry and a +the possible decoupling between real I/O pads supplied by a foundry and a symbolic core. So the chip level contains only real layout and the corona and below only symbolic layer.

    Note

    -

    This do not prevent having a design either fully symbolic (pads and core) +

    This does not prevent having a design either fully symbolic (pads and core) or fully real.

    Note

    -

    The corona also avoid the router to actually have to manage directly -the pads which simplificate it’s configuration and accessorily avoid +

    The corona also avoids the router to actually have to manage directly +the pads which simplify its configuration and besides avoid to have the pads stuffed with blockages.

    Chip Top Structure

    The designer must provide a configuration file that defines the rules for the placement of the top-level hierarchy (that is, the pads and the core). -This file must be named after the chip’s name, by appending _ioring.py -(obviously, it is a Python file). For instance if the chip netlist file -is called amd2901.vst, then the configuration file must be named -amd2901_ioring.vst.

    +This file must be names ioring.py and put into the user’s configuration +directory ./coriolis2/

    Example of chip placement configuration file (for AM2901):

    from helpers import l, u, n
     
    @@ -662,30 +655,30 @@ is called amd2901.vst
     
    - - - - - @@ -711,35 +704,35 @@ the ClockTree plugin - + - + - + - + - + - + - +

    Note

    If no clock tree is generated, then the clock rail is not created. So even if the requested number of rails chip.block.rails.count is, say 5, -only four rails (2* power, 2* ground) will be generateds.

    +only four rails (2* power, 2* ground) will be generated.

    @@ -780,7 +773,7 @@ on which quarter of plane the sub-clock is located:

    The clock tree plugin works in four steps:

      -
    1. Builds the clock tree: creates the top-block abutment box, compute the +
    2. Builds the clock tree: creates the top-block abutment box, computes the required levels of H tree and places the clock buffers.
    3. Once the clock buffers are placed, calls the placer (Etesian) to place the ordinary standard cells, whithout disturbing clock H-tree buffers.
    4. @@ -794,7 +787,7 @@ connect them to the nearest H-tree leaf clock signal. contain all the clock sub-nets. The interface is not changed.
    5. If the top block contains instances of other models and those models contain DFFs that get re-connected to the clock sub-nets (from the -top level). Changes both the model netlist and interface to propagate +top level): Changes both the model netlist and interface to propagate the relevant clock sub-nets to the instanciated model. The new model with the added clock signal is renamed with a _cts suffix. For example, the sub-block model ram.vst will become ram_cts.vst.
    6. @@ -823,14 +816,14 @@ memory cache.

    - + - + @@ -851,7 +844,7 @@ by the clock tree plugin after the netlist clock sub-nets creation.

    example, derived from the Alliance AM2901 is supplied.

    This example contains only the synthetized netlists and the doChip.py script which perform the whole P&R of the design.

    -

    You can generate the chip using one of the following method:

    +

    You can generate the chip using one of the following methods:

    1. Command line mode: directly run the script:

      dummy@lepka:AM2901> ./doChip -V --cell=amd2901
      @@ -864,7 +857,7 @@ then run the Python script doChip.py
       

      Note

      -

      Between two consecutive run, be sure to erase the netlist/layout generateds:

      +

      Between two consecutive run, be sure to erase the netlist/layout generated:

      dummy@lepka:AM2901> rm *_cts*.vst *.ap
       
      @@ -893,7 +886,7 @@ then run the Python script doChip.py
    @@ -902,7 +895,7 @@ then run the Python script doChip.py
    'cell' A Hurricane cell on which to work. Depending on the context, it may be None. -For example, when run from cgt, it the cell +For example, when run from cgt, the cell currently loaded in the viewer, if any.
    'editor'
    'pad.ioPadGauge' The routing gauge to use for the pad. Must be given -as it differs from the one used to route standard +as it differs from the one used to route inside the core
    'pad.south'Ordered list (left to right) of pad instances names +Ordered list (left to right) of pad instance names to put on the south side of the chip
    'pad.east'Ordered list (down to up) of pad instances names +Ordered list (down to up) of pad instance names to put on the east side of the chip
    'pad.north'Ordered list (left to right) of pad instances names +Ordered list (left to right) of pad instance names to put on the north side of the chip
    'pad.west'Ordered list (down to up) of pad instances names +Ordered list (down to up) of pad instance names to put on the west side of the chip
    'core.size' The size of the core (to be used by the placer)
    'chip.size'The size of the whole chip. The sides must be great +The size of the whole chip. The sides must be large enough to accomodate all the pads
    'chip.clockTree'
    Chip Plugin Parameters
    chip.block.rails.countTypeIntInt 5
    The minimum number of rails around the core -block. Must be odd and suppérior to 5. +block. Must be odd and above 5. One rail for the clock and at least two pairs of power/grounds
    chip.block.rails.hWidthTypeIntInt 12 λ
    The horizontal with of the rails
    The horizontal width of the rails
    chip.block.rails.vWidthTypeIntInt 12 λ
    The vertical with of the rails
    The vertical width of the rails
    chip.block.rails.hSpacingTypeIntInt 6 λ
    The spacing, edge to edge of two adjacent horizontal rails
    chip.block.rails.vSpacingTypeIntInt 6 λ
    The spacing, edge to edge of two adjacent @@ -751,7 +744,7 @@ vertical rails
    ClockTree Plugin Parameters
    clockTree.minimumSideTypeIntInt 300 λ
    The minimum size below which the clock tree will stop to perform quadri-partitions
    clockTree.bufferTypeStringString buf_x2
    The buffer model to use to drive sub-nets Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019.
    Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université.
    diff --git a/documentation/_build/html/UsersGuide/ViewerTools.html b/documentation/_build/html/UsersGuide/ViewerTools.html index 28d28004..1c3fb691 100644 --- a/documentation/_build/html/UsersGuide/ViewerTools.html +++ b/documentation/_build/html/UsersGuide/ViewerTools.html @@ -86,6 +86,7 @@
  • Release v2.1
  • Release v2.2
  • Release v2.3
  • +
  • Release v2.4
  • Complete Design Flow & Examples
  • @@ -106,14 +107,8 @@
  • Coriolis Configuration & Initialisation
  • CGT - The Graphical Interface
      @@ -392,11 +387,6 @@
  • -
  • Configuration & Technonology -
  • Hurricane Reference
  • Viewer Reference
  • CRL Core Reference
  • @@ -515,9 +505,9 @@

    Printing & Snapshots¶

    -

    Printing or saving into a pdf is fairly simple, just uses the File -> Print +

    Printing or saving into a pdf is fairly simple, just use the File -> Print menu or the CTRL+P shortcut to open the dialog box.

    The print functionality uses exactly the same rendering mechanism as for the screen, beeing almost WYSIWYG. Thus, to obtain the best results it is advisable to select the Coriolis.Printer look (in the Controller), which uses a -white background and much suited for high resolutions 32x32 pixels patterns

    -

    There is also two mode of printing selectable through the Controller +white background and well suited for high resolutions 32x32 pixels patterns

    +

    There is also two modes of printing selectable through the Controller Settings -> Misc -> Printer/Snapshot Mode:

    @@ -972,11 +970,11 @@ Saving into an image is subject to the same remarks as for pdf< Right - + - + @@ -1063,23 +1061,23 @@ anti-aliasing mechanism. given without path or extention. - - - + - @@ -1100,10 +1098,10 @@ in which this model is instanciated). - + - @@ -1117,17 +1115,17 @@ leading path or extention. +designs you may want to increase this limit. - + - + - + - - + - - + - - + - + - + @@ -1206,21 +1204,21 @@ sequences - + - + - - + - @@ -1238,10 +1236,10 @@ rubbers and the dimension units.
  • The Layers&Go Tab to selectively hide/display layers.
  • The Netlist Tab to browse through the netlist. Works in association with the Selection tab.
  • -
  • The Selection Tab allow to view all the currently selected elements.
  • -
  • The Inspector Tab browse through either the DataBase, the Cell or +
  • The Selection Tab allows to view all the currently selected elements.
  • +
  • The Inspector Tab browses through either the DataBase, the Cell or the current selection.
  • -
  • The Settings Tab access all the tool’s configuration settings.
  • +
  • The Settings Tab accesses all the tool’s configuration settings.
  • The Look Tab¶

    @@ -1254,11 +1252,11 @@ You should select it prior to calling the print or snapshot dialog boxes.

    The Filter Tab¶

    The filter tab let you select what hierarchical levels of your design will be -displayed. Hierarchy level are numbered top-down: the level 0 correspond to +displayed. Hierarchy level are numbered top-down: the level 0 corresponds to the top-level cell, the level one to the instances of the top-level Cell and so on.

    There are also check boxes to enable/disable the processing of Terminal Cell, -Master Cells and Compnents. The processing of Terminal Cell (hierarchy leaf +Master Cells and Components. The processing of Terminal Cell (hierarchy leaf cells) is disabled by default when you load a hierarchical design and enabled when you load a single Cell.

    You can choose what kind of form to give to the rubbers and the type of @@ -1269,8 +1267,8 @@ unit used to display coordinates.

    physical gaps in net topology. That is, if some wires are missing to connect two or more parts of net, a rubber will be drawn between them to signal the gap.

    -

    For example, after the detailed routing no rubbers should remains. -They have been made very visibles as big violet lines...

    +

    For example, after the detailed routing no rubber should remain. +They have been made very visible as big violet lines...

    Controller Basic Snapshot

    @@ -1279,7 +1277,7 @@ They have been made very visibles as big violet lines...

    The Layers&Go Tab¶

    Control the individual display of all layers and Gos.

      -
    • Layers correspond to a true physical layer. From a Hurricane point of +
    • Layers correspond to true physical layers. From a Hurricane point of view they are all the BasicLayers (could be matched to GDSII).
    • Gos stands from Graphical Objects, they are drawings that have no physical existence but are added by the various tools to display extra @@ -1299,16 +1297,16 @@ to easily locate congested areas.
    • synched with the displayed Cell. To see the nets you must check the Sync Netlist checkbox. You can narrow the set of displayed nets by using the filter pattern (supports regular expressions).

      -

      An very useful feature is to enable the Sync Selection, which will +

      A very useful feature is to enable the Sync Selection, which will automatically select all the components of the selected net(s). You can select multiple nets. In the figure the net auxsc35 is selected and -is highlited in the Viewer.

      +is highlighted in the Viewer.

      Controller Basic Snapshot Controller Basic Snapshot

    The Selection Tab¶

    -

    The Selection tab list all the components currently selecteds. They +

    The Selection tab lists all the components currently selected. They can be filtered thanks to the filter pattern.

    Used in conjunction with the Netlist Sync Selection you will all see all the components part of net.

    @@ -1322,14 +1320,14 @@ the t key...

    The Inspector Tab¶

    This tab is very useful, but mostly for Coriolis developpers. It allows -to browse through the live DataBase. The Inspector provide three entry points:

    +to browse through the live DataBase. The Inspector provides three entry points:

    • DataBase: Starts from the whole Hurricane DataBase.
    • -
    • Cell: Inspect the currently loaded Cell.
    • -
    • Selection: Inspect the object currently highlited in the Selection tab.
    • +
    • Cell: Inspects the currently loaded Cell.
    • +
    • Selection: Inspects the object currently highlighted in the Selection tab.

    Once an entry point has been activated, you may recursively expore all -it’s fields using the right/left arrows.

    +its fields using the right/left arrows.

    Note

    Do not put your fingers in the socket: when inspecting @@ -1374,7 +1372,7 @@ is deleted, you will crash the application...

    @@ -1383,7 +1381,7 @@ is deleted, you will crash the application...

    Shift the view in the according directionShifts the view in the according direction
    Fit fFit to the Cell abutment boxFits to the Cell abutment box
    Refresh CTRL+L
    CTRL+WClose the current viewer window, but do not quit +Closes the current viewer window, but does not quit the application.
    CTRL+QCTRL+Q quit the application +CTRL+Q quits the application (closing all windows).
    Hierarchy CTRL+DownGo one hierarchy level down. That is, if there -is an instance under the cursor position, load -it’s model Cell in place of the current one.Goes one hierarchy level down. That is, if there +is an instance under the cursor position, loads +its model Cell in place of the current one.
    CTRL+UpGo one hierarchy level up. if we have entered +Goes one hierarchy level up. If we have entered the current model through CTRL+Down -reload the previous model (the one +reloads the previous model (the one in which this model is instanciated).
    -t|–textInstruct cgt to run in text mode.Instructs cgt to run in text mode.
    -L|–log-modeDisable the uses of ansi escape sequence on +Disables the use of ansi escape sequence on the tty. Useful when the output is redirected to a file.
    –events-limit=<count> The maximal number of events after which the -router will stops. This is mainly a failsafe -against looping. The limit is sets to 4 +router will stop. This is mainly a failsafe +against looping. The limit is set to 4 millions of iteration which should suffice to any design of 100K. gates. For bigger -designs you may wants to increase this limit.
    -G|–global-routeRun the global router (Katana).Runs the global router (Katana).
    -R|–detailed-routeRun the detailed router (Katana).Runs the detailed router (Katana).
    -s|–save-design=<routed> The design into which the routed layout will @@ -1169,36 +1167,36 @@ See Python Scripts i
    Verbosity/Log Parameters
    misc.infoTypeBoolBool False
    Enable display of info level message +
    Enables display of info level message (cinfo stream)
    misc.bugTypeBoolBool False
    Enable display of bug level message +
    Enables display of bug level message (cbug stream), messages can be a little scarry
    misc.logModeTypeBoolBool False
    If enabled, assume that the output device -is not a tty and suppress any escaped +
    If enabled, assumes that the output device +is not a tty and suppresses any escape sequences
    misc.verboseLevel1TypeBoolBool True
    First level of verbosity, disable level 2
    First level of verbosity, disables level 2
    misc.verboseLevel2TypeBoolBool False
    Second level of verbosity
    Development/Debug Parameters
    misc.minTraceLevelTypeIntInt 0
    misc.maxTraceLevelTypeIntInt 0
    Display trace information between those two +
    Displays trace information between those two levels (cdebug stream)
    misc.catchCoreTypeBoolBool False
    By default, cgt do not dump core. +
    By default, cgt does not dump core. To generate one set this flag to True
    Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019.
    Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université.
    diff --git a/documentation/_build/html/UsersGuide/index.html b/documentation/_build/html/UsersGuide/index.html index 6f14d69f..be2da1d0 100644 --- a/documentation/_build/html/UsersGuide/index.html +++ b/documentation/_build/html/UsersGuide/index.html @@ -85,6 +85,7 @@
  • Release v2.1
  • Release v2.2
  • Release v2.3
  • +
  • Release v2.4
  • Complete Design Flow & Examples
  • @@ -105,14 +106,8 @@
  • Coriolis Configuration & Initialisation
  • CGT - The Graphical Interface
      @@ -391,11 +386,6 @@
  • -
  • Configuration & Technonology -
  • Hurricane Reference
  • Viewer Reference
  • CRL Core Reference
  • @@ -520,6 +510,7 @@
  • Release v2.1
  • Release v2.2
  • Release v2.3
  • +
  • Release v2.4
  • Complete Design Flow & Examples
  • @@ -533,10 +524,8 @@
  • Coriolis Configuration & Initialisation
  • CGT - The Graphical Interface
      @@ -574,7 +563,7 @@ Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -583,7 +572,7 @@ Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/Viewer/Viewer.html b/documentation/_build/html/Viewer/Viewer.html index aa5a6ec4..3e3527c7 100644 --- a/documentation/_build/html/Viewer/Viewer.html +++ b/documentation/_build/html/Viewer/Viewer.html @@ -85,6 +85,7 @@
    • Release v2.1
    • Release v2.2
    • Release v2.3
    • +
    • Release v2.4
  • Complete Design Flow & Examples
  • @@ -105,14 +106,8 @@
  • Coriolis Configuration & Initialisation
  • CGT - The Graphical Interface
      @@ -391,11 +386,6 @@
  • -
  • Configuration & Technonology -
  • Hurricane Reference
  • Viewer Reference
  • CRL Core Reference
  • @@ -533,7 +523,7 @@ available here: Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -542,7 +532,7 @@ available here: Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/_sources/ConfigurationTechnology/Architecture.txt b/documentation/_build/html/_sources/ConfigurationTechnology/Architecture.txt deleted file mode 100644 index a273dc68..00000000 --- a/documentation/_build/html/_sources/ConfigurationTechnology/Architecture.txt +++ /dev/null @@ -1,69 +0,0 @@ -.. -*- Mode: rst -*- - -.. include:: ../etc/definitions.rst - - -1. Configuration File Workings -============================== - -|Coriolis| do not have any dedicated file format for it's configuration files. -Instead, configuration files are |Python| scripts that are expected to provides -a set of variables with specific contents. For example, ``.coriolis2/techno.py`` -must provide a ``technology`` variable and optionaly a ``NdaDirectory`` variable. -So, it's simplest form is: - -.. code-block:: python - - technology = '45/freepdk_45' - - -A more complex case could be: - -.. code-block:: python - - Ndadirectory = '/home/crypted' - technology = '45/freepdk_45' - - -And lastly, taking full advantage of the |Python| langage: - -.. code-block:: python - - import os.path - import socket - - hostname = socket.gethostname() - if hostname.startswith('local-computer'): - NdaDirectory = '/home/crypted' - if not os.path.isdir(NdaDirectory): - print '[ERROR] You forgot to mount the NDA encrypted directory, stupid!' - else: - NdaDirectory = '/network/techno/' - - technology = '45/freepdk_45' - -In this script, we choose the value of ``NdaDirectory`` according the computer's -hostname and when using the local filesystem we check if the directory exist. - -A second kind of example is ``.coriolis2/settings.py``. It must provides a -variable ``parametersTable`` which is tuple of variable settings. Each element -of the tuple is itself a tuple of three elements ``(variable_name, type, value)`` - -.. code-block:: python - - parametersTable = \ - ( ('misc.catchCore' , TypeBool, False ) - , ('misc.logMode' , TypeBool, False ) - , ('misc.verboseLevel1', TypeBool, True ) - , ('misc.verboseLevel2', TypeBool, True ) - ) - - -2. Directory Tree Structure -=========================== - -Depending if |Coriolis| is installed in the system or in a separate tree, -the configuration can be rooted in : :: - - /etc/coriolis2 # System install. - /etc/coriolis2 # Separate tree install. diff --git a/documentation/_build/html/_sources/ConfigurationTechnology/index.txt b/documentation/_build/html/_sources/ConfigurationTechnology/index.txt deleted file mode 100644 index 542eaebc..00000000 --- a/documentation/_build/html/_sources/ConfigurationTechnology/index.txt +++ /dev/null @@ -1,17 +0,0 @@ -.. -*- mode: rst; explicit-buffer-name: "index.rst`_. - - -.. toctree:: - :maxdepth: 2 - - Architecture.rst - diff --git a/documentation/_build/html/_sources/ConfigurationTechnology/pdfHeader.txt b/documentation/_build/html/_sources/ConfigurationTechnology/pdfHeader.txt deleted file mode 100644 index 840f3114..00000000 --- a/documentation/_build/html/_sources/ConfigurationTechnology/pdfHeader.txt +++ /dev/null @@ -1,15 +0,0 @@ -.. -*- Mode: rst -*- - -.. include:: ../etc/definitions.rst - - -========================== -Configuration & Technology -========================== - -|pagestylefancy| - - -.. contents:: - -|newpage| diff --git a/documentation/_build/html/_sources/PythonTutorial/AdvancedTopics.txt b/documentation/_build/html/_sources/PythonTutorial/AdvancedTopics.txt index 8a1e69ed..89045f34 100644 --- a/documentation/_build/html/_sources/PythonTutorial/AdvancedTopics.txt +++ b/documentation/_build/html/_sources/PythonTutorial/AdvancedTopics.txt @@ -26,7 +26,7 @@ hierarchical levels, RoutingPads_ can refer to a deeply buried terminal. 9.3 HyperNets ~~~~~~~~~~~~~ -This class is part of the *virtual flattening* mechanisms, it allows to +This class is part of the *virtual flattening* mechanism, it allows to go through all the components of a trans-hierarchical net. diff --git a/documentation/_build/html/_sources/PythonTutorial/CgtScript.txt b/documentation/_build/html/_sources/PythonTutorial/CgtScript.txt index 2d81325b..8e8ad6a4 100644 --- a/documentation/_build/html/_sources/PythonTutorial/CgtScript.txt +++ b/documentation/_build/html/_sources/PythonTutorial/CgtScript.txt @@ -12,7 +12,7 @@ But, for debugging purpose it may be helpful to run it through the interactive layout viewer |cgt|. For |cgt| to be able to run your script, you must add to your script -file a function named :cb:`ScriptMain()`, which takes a dictionnary +file a function named :cb:`ScriptMain()`, which takes a dictionary as sole argument (:cb:`**kw`). The ``kw`` dictionary contains, in particular, the CellViewer_ object we are running under with the keyword ``editor``. You can then load your cell into the viewer @@ -71,7 +71,7 @@ function. To be able to see exactly what has just been mofied, we must close the UpdateSession_ just before calling the breakpoint and reopen it just after. The ``Breakpoint.stop()`` function takes two arguments: -#. The ``level`` above witch it will be active. +#. The ``level`` above which it will be active. #. An informative message about the purpose of the breakpoint. We can create a little function to ease the work: diff --git a/documentation/_build/html/_sources/PythonTutorial/Collections.txt b/documentation/_build/html/_sources/PythonTutorial/Collections.txt index 3505dc24..1e31d234 100644 --- a/documentation/_build/html/_sources/PythonTutorial/Collections.txt +++ b/documentation/_build/html/_sources/PythonTutorial/Collections.txt @@ -19,7 +19,7 @@ In |Hurricane| all kind of set of objects, whether organized in a real container like a ``map<>`` (dictionary / ``dict``) or a ``vector<>`` (table / ``list``) or an algorithmic walkthrough of the database can be accessed through a Collection_. -C++ Collections object are exposed in |Python| through the *iterable* protocol, +C++ Collections objects are exposed in |Python| through the *iterable* protocol, allowing to simply write: .. code-block:: Python @@ -83,8 +83,8 @@ the ``getCell()`` call wil be: .. note:: It means that if cells with the same name exist in different libraries, only the one in the first library will be ever used. - Be also weary of cell files that may remain in the ``WORK_LIB``, - they may unexpectedly shadow cells from the libraries. + Be also aware that cell files that may remain in the ``WORK_LIB``, + may unexpectedly shadow cells from the libraries. .. code-block:: Python diff --git a/documentation/_build/html/_sources/PythonTutorial/Introduction.txt b/documentation/_build/html/_sources/PythonTutorial/Introduction.txt index bbcd0144..861e85a5 100644 --- a/documentation/_build/html/_sources/PythonTutorial/Introduction.txt +++ b/documentation/_build/html/_sources/PythonTutorial/Introduction.txt @@ -39,7 +39,7 @@ don't. Thus we summarize below the more important ones: Cell_ The model. A Cell does not have terminals, only nets flagged as *external* Instance_ An instance of a model -Net_ A grouping of electrically connecteds components +Net_ A grouping of electrically connected components Plug_ A terminal of an instance RoutingPad_ A physical connexion (*pin*) to an instance =============== ===================================================== diff --git a/documentation/_build/html/_sources/PythonTutorial/Netlist.txt b/documentation/_build/html/_sources/PythonTutorial/Netlist.txt index 3460905c..ae1de186 100644 --- a/documentation/_build/html/_sources/PythonTutorial/Netlist.txt +++ b/documentation/_build/html/_sources/PythonTutorial/Netlist.txt @@ -39,7 +39,7 @@ parameters: 6.2 Creating Nets and connecting to Instances ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -An Instance_ as one Plug_ for each external net of the *master cell*. +An Instance_ has one Plug_ for each external net of the *master cell*. The plug allows to create a **logical** connection bewteen a Net_ of ``fulladder`` and a net from an Instance_ *master cell*. @@ -89,7 +89,7 @@ Building the :cb:`a` net of ``fulladder``: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ For supplies, it may be tedious to connect the Plugs_ of each cell one by one -(and create a lot of uneeded objects). To avoid that, we may use **Named +(and create a lot of unneeded objects). To avoid that, we may use **Named connections**. If a signal in ``fulladder`` is set to *global*, then it will be considered as connected to any signal with the *same name* and *global* in the master cell of the instances. diff --git a/documentation/_build/html/_sources/PythonTutorial/index.txt b/documentation/_build/html/_sources/PythonTutorial/index.txt index 324dd20b..bc0ef11f 100644 --- a/documentation/_build/html/_sources/PythonTutorial/index.txt +++ b/documentation/_build/html/_sources/PythonTutorial/index.txt @@ -9,7 +9,7 @@ Hurricane+Python Tutorial Printable version of this document `PythonTutorial.pdf <../../../pdf/main/PythonTutorial.pdf>`_. -First, a small disclaimer. This tutorial assume that you are already familiar +First, a small disclaimer. This tutorial assumes that you are already familiar with the concepts of |VLSI| designs, such as *netlist*, *layout*, *instances* and hierarchical design. diff --git a/documentation/_build/html/_sources/PythonTutorial/pdfHeader.txt b/documentation/_build/html/_sources/PythonTutorial/pdfHeader.txt index 4706e3ba..ff8969b7 100644 --- a/documentation/_build/html/_sources/PythonTutorial/pdfHeader.txt +++ b/documentation/_build/html/_sources/PythonTutorial/pdfHeader.txt @@ -43,7 +43,7 @@ |noindent| -**First, a small disclaimer.** This tutorial assume that you are already familiar +**First, a small disclaimer.** This tutorial assumes that you are already familiar with the concepts of |VLSI| designs, such as *netlist*, *layout*, *instances* and hierarchical design. diff --git a/documentation/_build/html/_sources/UsersGuide/Configuration.txt b/documentation/_build/html/_sources/UsersGuide/Configuration.txt index d05dc69b..6db8baa7 100644 --- a/documentation/_build/html/_sources/UsersGuide/Configuration.txt +++ b/documentation/_build/html/_sources/UsersGuide/Configuration.txt @@ -21,7 +21,7 @@ General Software Architecture ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |Coriolis| has been built with respect of the classical paradigm that the -computational instensive parts have been written in C++, and almost +computational intensive parts have been written in C++, and almost everything else in |Python|. To build the |Python| interface we used two methods: @@ -38,170 +38,136 @@ two methods: |bcenter| |CoriolisSoftSchema| |ecenter| -All configuration & initialization files are Python scripts, despite their -|dot_conf| extention. From a syntactic point of view, there is no difference -between the system-wide configuration files and the user's configuration, -they use the same Python helpers. -|medskip| -Configuration is done in two stages: +Configuration & User's Settings +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -#. Selecting the technology. -#. Loading the complete configuration for the given technology - and the user's settings. +All configurations files are shipped under the form of |Python| modules. +They are to be loaded through ``import`` statements. The user's configuration +files must be put in a ``./coriolis2/`` directory under the working directory. +It must be made a |Python| module so it must contains a ``__init__.py`` file +(kept empty most of the time). And as they are true |Python| files, you may use +in them any valid code you see fit. +If no user configuration files are present, |Coriolis| will use the default +``symbolic.cmos`` technology which matches the |Alliance| symbolic default one. -First Stage: Technology Selection -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +Contents of the user's configuration directory ``./coriolis2/``: -|noindent| -The initialization process is done by executing, in order, the following file(s): ++----------------------------------+----------------------------------------------+ +| File | Contents/Meaning | ++==================================+==============================================+ +| :cb:`./coriolis2/__init__.py` | **Mandatory.** Tells |Python| this directory | +| | *is* a module. Can be left empty | ++----------------------------------+----------------------------------------------+ +| :cb:`./coriolis2/settings.py` | **Mandatory.** The user's settings, it must | +| | setup the technology intended for use and | +| | perform any configuration variable settings | ++----------------------------------+----------------------------------------------+ +| :cb:`./coriolis2/ioring.py` | **Optional.** Define how the I/O pads are to | +| | be placed on the periphery of the chip along | +| | the chip and core sizes | ++----------------------------------+----------------------------------------------+ +| :cb:`./coriolis2/katana.py` | **Optional.** Hook file for |Katana|, run | +| | just after the tool has been created for a | +| | ``Cell``. Mostly to setup ``Nets`` to be | +| | traced | ++----------------------------------+----------------------------------------------+ -+-------+----------------------------------+----------------------------------------------+ -| Order | Meaning | File | -+=======+==================================+==============================================+ -| **1** | The system setting | :cb:`/etc/coriolis2/techno.conf` | -+-------+----------------------------------+----------------------------------------------+ -| **2** | The user's global setting | :cb:`${HOME}/.coriolis2/techno.py` | -+-------+----------------------------------+----------------------------------------------+ -| **3** | The user's local setting | :cb:`/.coriolis2/techno.py` | -+-------+----------------------------------+----------------------------------------------+ +For example, to use |MOSIS| 180nm, you can put in your :cb:`./coriolis2/setting.py`: -Those files must provide only one variable, the name of the technology. Each technology -will provide configuration for both the symbolic part and the real part. |Coriolis| can -work with purely symbolic technology (``symbolic/cmos``) in that case, the real technology -part is a dummy one. +.. code-block:: python -For example, to use |MOSIS| 180nm: :: - - # -*- Mode:Python -*- + # -*- Mode:Python -*- - technology = '180/scn6m_deep_09' + import node180.scn6m_deep_09 -Second Stage: Technology Configuration Loading -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +A Comprehensive Example of :cb:`./coriolis2/setting.py` +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -|noindent| -The :cb:`technology` variable is set by the first stage and it's the name of the -technology. A directory of that name, with all the configuration files, -must exist in the configuration directory (:cb:`/etc/coriolis2`). -In addition to the technology-specific directories, a :cb:`common/` directory is -there to provide a trunk for all the identical data across the various technologies. -The initialization process is done by executing, in order, the following file(s): +.. code-block:: python -+-------+----------------------------------+-----------------------------------------------+ -| Order | Meaning | File | -+=======+==================================+===============================================+ -| **1** | The system initialization | :cb:`/etc/coriolis2//.conf` | -+-------+----------------------------------+-----------------------------------------------+ -| **2** | The user's global initialization | :cb:`${HOME}/.coriolis2/settings.py` | -+-------+----------------------------------+-----------------------------------------------+ -| **3** | The user's local initialization | :cb:`/.coriolis2/settings.py` | -+-------+----------------------------------+-----------------------------------------------+ + import os + import Cfg + import Viewer + import CRL + import node180.scn6m_deep_09 + from helpers import l, u, n -.. note:: *The loading policy is not hard-coded.* It is implemented - at Python level in :cb:`/etc/coriolis2/coriolisInit.py`, and thus may be easily - amended to whatever site policy. + allianceTop = None + if os.environ.has_key('ALLIANCE_TOP'): + allianceTop = os.environ['ALLIANCE_TOP'] + if not os.path.isdir(allianceTop): + allianceTop = None + + if not allianceTop: allianceTop = '/soc/alliance' + + Cfg.Configuration.pushDefaultPriority( Cfg.Parameter.Priority.UserFile ) + + Viewer.Graphics.setStyle( 'Alliance.Classic [black]' ) + + cellsTop = allianceTop+'/cells' + + # Alliance related settings. + af = CRL.AllianceFramework.get() + env = af.getEnvironment() + + env.setSCALE_X ( 100 ) + env.setCATALOG ( 'CATAL' ) + env.setIN_LO ( 'vst' ) + env.setIN_PH ( 'ap' ) + env.setOUT_LO ( 'vst' ) + env.setOUT_PH ( 'ap' ) + env.setPOWER ( 'vdd' ) + env.setGROUND ( 'vss' ) + env.setCLOCK ( '.*ck.*|.*nck.*' ) + env.setBLOCKAGE ( 'blockage[Nn]et.*' ) + env.setPad ( '.*_mpx$' ) + + env.setWORKING_LIBRARY( '.' ) + env.addSYSTEM_LIBRARY ( library=cellsTop+'/nsxlib', mode=CRL.Environment.Append ) + env.addSYSTEM_LIBRARY ( library=cellsTop+'/mpxlib', mode=CRL.Environment.Append ) - The truly mandatory requirement is the existence of :cb:`coriolisInit.py` - which *must* contain a :cb:`coriolisConfigure()` function with no argument. + # Misc. setting parameters. + Cfg.getParamBool ( 'misc.logMode' ).setBool ( False ) + Cfg.getParamBool ( 'misc.verboseLevel1' ).setBool ( True ) + Cfg.getParamBool ( 'misc.verboseLevel2' ).setBool ( True ) - The :cb:`coriolisInit.py` script execution is triggered by the *import* of - the ``CRL`` module: + # P&R related parameters. + Cfg.getParamString ( 'anabatic.routingGauge' ).setString ( 'msxlib4' ) + Cfg.getParamString ( 'anabatic.topRoutingLayer' ).setString ( 'METAL4' ) + Cfg.getParamInt ( 'katana.hTracksReservedLocal' ).setInt ( 6 ) + Cfg.getParamInt ( 'katana.vTracksReservedLocal' ).setInt ( 3 ) - .. code:: python - - import sys - import os.path - import Cfg - import Hurricane - import CRL # Triggers execution of "coriolisInit.py". - import Viewer - - -Configuration Helpers -~~~~~~~~~~~~~~~~~~~~~ - -To ease the writing of configuration files, a set of small helpers -is available. They allow to setup the configuration parameters through -simple assembly of tuples. The helpers are installed under the directory: :: - - /etc/coriolis2/ - -Where :cb:`/` is the root of the installation. + Cfg.Configuration.popDefaultPriority() -.. _Alliance Helper: +|noindent| The example above shows the user's configuration file, with all the +available settings for |Alliance| and a small subset for other tools. Some remarks +about this file: -|Alliance| Helper ------------------ +* The ``Cfg.Configuration.pushDefaultPriority()`` and ``Cfg.Configuration.popDefaultPriority()`` + statements are there so the value sets by the user will not be overriden by system + ones event if they are setup afterwards. This priority system is introduced so the + various configuration files could be loaded in out of order. -The configuration file must provide an :cb:`allianceConfig` tuple as shown below. -Like all the |Coriolis| configuration file, it is to be executed through |Python|, -so we can use it to perform a not so dumb search of the |Alliance| installation -directory. Our default policy is to try to read the ``ALLIANCE_TOP`` environment -variable, and if not found, default to ``/soc/alliance``. +* The ``Viewer.Graphics.setStyle()`` allows you to choose the look of your liking from + the start. -.. code:: python - - import os - from helpers.Alliance import AddMode - from helpers.Alliance import Gauge - - allianceTop = None - if os.environ.has_key('ALLIANCE_TOP'): - allianceTop = os.environ['ALLIANCE_TOP'] - if not os.path.isdir(allianceTop): - allianceTop = None - - if not allianceTop: allianceTop = '/soc/alliance' - - cellsTop = allianceTop+'/cells/' - - - allianceConfig = \ - ( ( 'CATALOG' , 'CATAL') - , ( 'WORKING_LIBRARY' , '.') - , ( 'SYSTEM_LIBRARY' , ( (cellsTop+'sxlib' , AddMode.Append) - , (cellsTop+'dp_sxlib', AddMode.Append) - , (cellsTop+'ramlib' , AddMode.Append) - , (cellsTop+'romlib' , AddMode.Append) - , (cellsTop+'rflib' , AddMode.Append) - , (cellsTop+'rf2lib' , AddMode.Append) - , (cellsTop+'pxlib' , AddMode.Append) - , (cellsTop+'padlib' , AddMode.Append) ) ) - , ( 'IN_LO' , 'vst') - , ( 'IN_PH' , 'ap') - , ( 'OUT_LO' , 'vst') - , ( 'OUT_PH' , 'ap') - , ( 'POWER' , 'vdd') - , ( 'GROUND' , 'vss') - , ( 'CLOCK' , '.*ck.*|.*nck.*') - , ( 'BLOCKAGE' , '^blockage[Nn]et*') - , ( 'PAD' , '.*_px$') - ) - -|newpage| - - -|noindent| The example above shows the system configuration file, with all the -available settings. Some important remarks about those settings: - -* In its configuration file, the user does not need to redefine all the settings, - just the one he wants to change. In most of the cases, the ``SYSTEM_LIBRARY``, - the ``WORKING_LIBRARY`` and the special net names (at this point there is not +* For |Alliance|, the user does not need to redefine all the settings, + just the one he wants to change. In most of the cases, the ``addSYSTEM_LIBRARY()``, + the ``setWORKING_LIBRARY()`` and the special net names (at this point there is not much alternatives for the others settings). -* ``SYSTEM_LIBRARY`` setting: Setting up the library search path. - Each library entry in the tuple will be added to the search path according - to the second parameter: +* ``addSYSTEM_LIBRARY()`` adds a directory to the library search path. + Each library entry will be added to the search path according to the second parameter: - * :cb:`AddMode::Append`: append to the search path. + * :cb:`CRL.Environment::Append`: append to the search path. - * :cb:`AddMode::Prepend`: insert in head of the search path. + * :cb:`CRL.Environment::Prepend`: insert in head of the search path. - * :cb:`AddMode::Replace`: look for a library of the same name and replace + * :cb:`CRL.Environment::Replace`: look for a library of the same name and replace it, whithout changing the search path order. If no library of that name already exists, it is appended. @@ -211,160 +177,27 @@ available settings. Some important remarks about those settings: the system will browse sequentially through the library list and returns the first |Cell| whose name match. -* For ``POWER``, ``GROUND``, ``CLOCK`` and ``BLOCKAGE`` net names, a regular - expression (|GNU| regexp) is expected. +* For ``setPOWER()``, ``setGROUND()``, ``setCLOCK()`` and ``setBLOCKAGE()`` net names, + a regular expression (|GNU| regexp) is expected. -.. * The ``helpers.sysConfDir`` variable is supplied by the helpers, it is the -.. directory in which the system-wide configuration files are located. -.. For a standard installation it would be: ``/soc/coriolis2``. -.. -.. .. * Trick and naming convention about ``SYMBOLIC_TECHNOLOGY``, ``REAL_TECHNOLOGY`` -.. and ``DISPLAY``. In the previous releases, those files were to be read by -.. XML parsers, and still do if you triggers the XML compatibility mode. -.. But now, they have Python conterparts. In the configuration files, you -.. still have to name them as XML files, the Python file name will be -.. deduced from this one with those two translation rules: -.. -.. #. In the filename, all dots, except for the last (the file extention), -.. are replaced by underscores. -.. -.. #. The ``.xml`` extention is substituted by a ``.conf``. -.. -.. For the symbolic technology, it would give: :: -.. -.. /soc/coriolis2/technology.symbolic.xml -.. --> /soc/coriolis2/technology_symbolic.conf +* For other tools parameters, just use getter and setter according to their types: -A typical user's configuration file would be: :: + +------------------+-----------------------------------------------------------+ + | Type | Getter/Setter | + +==================+===========================================================+ + | ``Bool`` | ``Cgt.getParamBool('name').setBool( True )`` | + +------------------+-----------------------------------------------------------+ + | ``Int`` | ``Cgt.getParamInt('name').setBool( 12 )`` | + +------------------+-----------------------------------------------------------+ + | ``Enumerate`` | ``Cgt.getParamEnumerate('name').setBool( 12 )`` | + +------------------+-----------------------------------------------------------+ + | ``Double`` | ``Cgt.getParamDouble('name').setDouble( 254.5 )`` | + +------------------+-----------------------------------------------------------+ + | ``Percentage`` | ``Cgt.getParamPercentage('name').setPercentage( 75.0 )`` | + +------------------+-----------------------------------------------------------+ + | ``String`` | ``Cgt.getParamString('name').setString( 'machin' )`` | + +------------------+-----------------------------------------------------------+ - import os - - homeDir = os.getenv('HOME') - - allianceConfig = \ - ( ('WORKING_LIBRARY' , homeDir+'/worklib') - , ('SYSTEM_LIBRARY' , ( (homeDir+'/mylib', Environment.Append) ) ) - , ('POWER' , 'vdd.*') - , ('GROUND' , 'vss.*') - ) - - -Tools Configuration Helpers ---------------------------- - -All the tools use the same helper to load their configuration (a.k.a. -*Configuration Helper*). Currently the following configuration system-wide -configuration files are defined: - -* :cb:`misc.conf`: common settings or not belonging specifically to a tool. -* :cb:`etesian.conf`: for the |Etesian| tool. -* :cb:`kite.conf`: for the |Kite| tool. -* :cb:`stratus1.conf`: for the |stratus1| tool. - -|newpage| - - -Here is the contents of :cb:`etesian.conf`: :: - - # Etesian parameters. - parametersTable = \ - ( ('etesian.aspectRatio' , TypePercentage, 100 , { 'min':10, 'max':1000 } ) - , ('etesian.spaceMargin' , TypePercentage, 5 ) - , ('etesian.uniformDensity' , TypeBool , False ) - , ('etesian.routingDriven' , TypeBool , False ) - , ("etesian.effort" , TypeEnumerate , 2 - , { 'values':( ("Fast" , 1) - , ("Standard", 2) - , ("High" , 3) - , ("Extreme" , 4) ) } - ) - , ("etesian.graphics" , TypeEnumerate , 2 - , { 'values':( ("Show every step" , 1) - , ("Show lower bound" , 2) - , ("Show result only" , 3) ) } - ) - ) + Lists of the configurable parameters of most interest to the user are given in + :ref:`Viewer & Tools`. - layoutTable = \ - ( (TypeTab , 'Etesian', 'etesian') - - , (TypeTitle , 'Placement area') - , (TypeOption, "etesian.aspectRatio" , "Aspect Ratio, X/Y (%)", 0 ) - , (TypeOption, "etesian.spaceMargin" , "Space Margin" , 1 ) - , (TypeRule ,) - , (TypeTitle , 'Etesian - Placer') - , (TypeOption, "etesian.uniformDensity", "Uniform density" , 0 ) - , (TypeOption, "etesian.routingDriven" , "Routing driven" , 0 ) - , (TypeOption, "etesian.effort" , "Placement effort" , 1 ) - , (TypeOption, "etesian.graphics" , "Placement view" , 1 ) - , (TypeRule ,) - ) - - -Taxonomy of the file: - -* It must contain, at least, the two tables: - - * ``parametersTable``, defines & initialises the configuration variables. - - * ``layoutTables``, defines how the various parameters will be displayed - in the configuration window (:ref:`The Settings Tab`). - -* The ``parametersTable``, is a tuple (list) of tuples. Each entry in the list - describes a configuration parameter. In its simplest form, it's a quadruplet - :cb:`(TypeOption, 'paramId', ParameterType, DefaultValue)` with: - - #. ``TypeOption``, tells that this tuple describes a parameter. - - #. ``paramId``, the identifier of the parameter. Identifiers are defined - by the tools. The list of parameters is detailed in each tool section. - - #. ``ParameterType``, the kind of parameter. Could be: - - * ``TypeBool``, boolean. - * ``TypeInt``, signed integer. - * ``TypeEnumerate``, enumerated type, needs extra entry. - * ``TypePercentage``, percentage, expressed between 0 and 100. - * ``TypeDouble``, float. - * ``TypeString``, character string. - - #. ``DefaultValue``, the default value for that parameter. - - -Hacking the Configuration Files -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Aside from the symbols that get used by the configuration helpers like -:cb:`allianceConfig` or :cb:`parametersTable`, you can put pretty much anything -in :cb:`/.coriolis2/settings.py` (that is, written in |Python|). - -For example: :: - - # -*- Mode:Python -*- - - defaultStyle = 'Alliance.Classic [black]' - - # Regular Coriolis configuration. - parametersTable = \ - ( ('misc.catchCore' , TypeBool , False ) - , ('misc.info' , TypeBool , False ) - , ('misc.paranoid' , TypeBool , False ) - , ('misc.bug' , TypeBool , False ) - , ('misc.logMode' , TypeBool , True ) - , ('misc.verboseLevel1' , TypeBool , False ) - , ('misc.verboseLevel2' , TypeBool , True ) - , ('misc.minTraceLevel' , TypeInt , 0 ) - , ('misc.maxTraceLevel' , TypeInt , 0 ) - ) - - # Some ordinary Python script... - import os - - print ' o Cleaning up ClockTree previous run.' - for fileName in os.listdir('.'): - if fileName.endswith('.ap') or (fileName.find('_clocked.') >= 0): - print ' - <%s>' % fileName - os.unlink(fileName) - - -See :ref:`Python Interface to Coriolis` for more details those capabilities. diff --git a/documentation/_build/html/_sources/UsersGuide/Installation.txt b/documentation/_build/html/_sources/UsersGuide/Installation.txt index 79f0b8bd..e7ee00a7 100644 --- a/documentation/_build/html/_sources/UsersGuide/Installation.txt +++ b/documentation/_build/html/_sources/UsersGuide/Installation.txt @@ -10,7 +10,7 @@ Installation As the sources are being released, the binary packaging is dropped. You may still find (very) old versions here: http://asim.lip6.fr/pub/coriolis/2.0 . -In a nutshell, building source consistis in pulling the |git| repository then +In a nutshell, building source consists in pulling the |git| repository then running the |ccb| installer. .. note:: @@ -40,7 +40,7 @@ Building documentation prerequisites: * latex * python-docutils (for reStructuredText) -The following libraries gets directly bundled with |Coriolis|: +The following libraries get directly bundled with |Coriolis|: * LEF/DEF (from `SI2 `_) * FLUTE (from `Chris C. N. Chu `_) @@ -54,7 +54,7 @@ Fixed Directory Tree In order to simplify the work of the |ccb| installer, the source, build and installation tree is fixed. To successfully compile |Coriolis| you must follow it exactly. The tree is relative to the home directory of the user -building it (noted :fboxtt:`~/` or :fboxtt:`$HOME/`). Only the source +building it (note :fboxtt:`~/` or :fboxtt:`$HOME/`). Only the source directory needs to be manually created by the user, all others will be automatically created either by |ccb| or the build system. @@ -95,7 +95,7 @@ automatically created either by |ccb| or the build system. with shared libraries. But there are also available ``Static`` instead of ``Shared`` and ``Debug`` instead of ``Release`` and any combination of them. - ``Static`` do not work because I don't know yet to mix statically linked binaries + ``Static`` does not work because I don't know yet to mix statically linked binaries and Python modules (which must be dynamic). @@ -122,14 +122,14 @@ The |Coriolis| |git| repository is https://www-soc.lip6.fr/git/coriolis.git .. note:: Under |RHEL| 7 or clones, they upgraded their version of |Qt| 4 (from 4.6 to 4.8) - so the *diagonal line* bug no longer occur. So we can safely use the default + so the *diagonal line* bug no longer occurs. So we can safely use the default system |Qt| again. Installing on |RedHat| or compatible distributions -------------------------------------------------- -1. Install or check that the required prerequisites are installeds : :: +1. Install or check that the required prerequisites are installed : :: dummy@lepka:~> yum install -y git cmake bison flex gcc-c++ libstdc++-devel \ binutils-devel \ @@ -138,7 +138,7 @@ Installing on |RedHat| or compatible distributions python-devel libxml2-devel bzip2-devel \ qt-devel qwt-devel # Qt 4 - Note, that the ``Qwt`` packages are directly availables from the standart distribution + Note, that the ``Qwt`` packages are directly available from the standart distribution when using |Qt| 4. 2. Install the unpackaged prerequisites. Currently, only RapidJSON_. :: @@ -157,7 +157,7 @@ Installing on |RedHat| or compatible distributions 4. Build & install: :: dummy@lepka:src> cd coriolis - dummy@lepka:coriolis> git checkout devel_anabatic + dummy@lepka:coriolis> git checkout devel dummy@lepka:coriolis> ./bootstrap/ccb.py --project=support \ --project=coriolis \ --make="-j4 install" @@ -180,7 +180,7 @@ be given as argument: :: dummy@lepka:coriolis> ./bootstrap/ccb.py --project=coriolis \ --devtoolset=8 --make="-j4 install" -If you want to uses Qt 5 instead of Qt 4 modify the previous steps as follow: +If you want to use Qt 5 instead of Qt 4, modify the previous steps as follows: * At **step 1**, do not install the |QT| 4 related development package (``qt4-devel``), but instead: :: @@ -197,7 +197,7 @@ If you want to uses Qt 5 instead of Qt 4 modify the previous steps as follow: * At **step 4**, add a ``--qt5`` argument to the ``ccb.py`` command line. -* The |Python| scripts that makes uses of |PyQt| in ``crlcore`` and ``cumulus`` must be +* The |Python| scripts that make use of |PyQt| in ``crlcore`` and ``cumulus`` must be edited to import ``PyQt5`` instead of ``PtQt4`` (should find a way to automatically switch between the two of them). @@ -208,10 +208,10 @@ It also may be run in graphical mode (``--gui``). Building a Debug Enabled Version -------------------------------- -The ``Release.Shared`` default version of the |Coriolis| is build stripped of symbols +The ``Release.Shared`` default version of the |Coriolis| is built stripped of symbols and optimized so that it makes analysing a core dump after a crash difficult. In the (unlikely) case of a crash, you may want to build, alongside the optimized version, -a debug one which allow forensic examination by |gdb| (or |valgrind| or whatever). +a debug one which allows forensic examination by |gdb| (or |valgrind| or whatever). Run again ``ccb.py``, adding the ``--debug`` argument: :: @@ -250,7 +250,7 @@ As |cgt| is a |Python| script, the right command to run |gdb| is: :: Installing on |Debian| 9, |Ubuntu| 18 or compatible distributions ----------------------------------------------------------------- -First, install or check that the required prerequisites are installeds : :: +First, install or check that the required prerequisites are installed : :: dummy@lepka:~> sudo apt install -y build-essential binutils-dev \ git cmake bison flex gcc python-dev \ @@ -270,7 +270,7 @@ Second step is to create the source directory and pull the |git| repository: :: Third and final step, build & install: :: dummy@lepka:src> cd coriolis - dummy@lepka:coriolis> git checkout devel_anabatic + dummy@lepka:coriolis> git checkout devel dummy@lepka:coriolis> ./bootstrap/ccb.py --project=coriolis \ --make="-j4 install" @@ -278,7 +278,7 @@ Third and final step, build & install: :: Additionnal Requirement under |MacOS| ------------------------------------- -|Coriolis| make uses of the :cb:`boost::python` module, but the |macports| |boost| +|Coriolis| makes use of the :cb:`boost::python` module, but the |macports| |boost| seems unable to work with the |Python| bundled with |MacOS|. So you have to install both of them from |macports|: :: @@ -314,7 +314,7 @@ packaging, you must configure it so that it can found those libraries. The easiest way is to setup the |Alliance| environment (i.e. sourcing ``.../etc/profile.d/alc_env.{sh,csh}``) **before** setting up |Coriolis| environment (see the next section). To understand how |Coriolis| find/setup |Alliance| you may -have look to the :ref:`Alliance Helper`. +have look to the *Configuration and User's Settings* section. Setting up the Environment (coriolisEnv.py) diff --git a/documentation/_build/html/_sources/UsersGuide/Releases.txt b/documentation/_build/html/_sources/UsersGuide/Releases.txt index 2826b32a..fb210145 100644 --- a/documentation/_build/html/_sources/UsersGuide/Releases.txt +++ b/documentation/_build/html/_sources/UsersGuide/Releases.txt @@ -63,7 +63,7 @@ Release `2049` is Alpha. #. More extensive Python support for all the components of |Coriolis|. #. Configuration is now completly migrated under Python. - |XML| loaders can still be useds for compatibilty. + |XML| loaders can still be used for compatibilty. #. The |cgt| main has been rewritten in Python. @@ -105,20 +105,37 @@ Release v2.2 Release v2.3 ~~~~~~~~~~~~ -#. Revert to a more standard organisation of the branchs. **devel_anabatic** is +#. Reverts to a more standard organisation of the branches. **devel_anabatic** is closed and we go on with **master** (stable version) and **devel**. -#. Make |Katana| the default global & detailed router. Put |Knik| & |Kite| in the - obsolete menues. +#. Makes |Katana| the default global & detailed router. Put |Knik| & |Kite| in the + obsolete menus. -#. Finally make uses of |PyQt4| widgets. Seems to integrate without problems +#. Finally makes use of |PyQt4| widgets. Seems to integrate without problems with the |Coriolis| own |Qt| widget. The drawback is that to build against |Qt| 5 - needs to adjustement from the user. + needs adjustement from the user. #. Improved support for whole chip management. The outer part of the chip containing - the pad is decoupled from the core. This allow to cleanly separate real pads from + the pad is decoupled from the core. This allows to cleanly separate real pads from the foundry from a symbolic core. But this does not preclude other combinations as fully symbolic or fully real. - To perform the separation an intermediate hierarchical level ``corona`` between chip + To perform the separation, an intermediate hierarchical level ``corona`` between chip and core has been introduced. + + +Release v2.4 +~~~~~~~~~~~~ + +#. Complete rewrite of the initialisation system. No longer use "configuration like" + files with various list of items. Now the configuration is supplied under the + from of |Python| modules to be imported as the user see fit. + +#. Clean separation between |NDA| protected parts and free ones. Now all the |NDA| + related components are put under one separated tree, whether they are configuration + files or |Python| plugins, so that they be can easily by exported. + +#. In |Anabatic| & |Katana| better accuracy at how obstacles decrease the edges + capacities of the GCells. Reduce the edge capacity of a GCell according to it's + inner cluttering (that is, it's number of terminals). Change of semantics + for ``katana.hReservedLocal`` and ``katana.vReservedLocal`` parameters. diff --git a/documentation/_build/html/_sources/UsersGuide/ScriptsPlugins.txt b/documentation/_build/html/_sources/UsersGuide/ScriptsPlugins.txt index 63186247..cf72255e 100644 --- a/documentation/_build/html/_sources/UsersGuide/ScriptsPlugins.txt +++ b/documentation/_build/html/_sources/UsersGuide/ScriptsPlugins.txt @@ -20,7 +20,7 @@ Python Interface for |Hurricane| / |Coriolis| ============================================= The (almost) complete interface of |Hurricane| is exported as a |Python| module -and some part of the other components of |Coriolis| (each one in a separate +and some parts of the other components of |Coriolis| (each one in a separate module). The interface has been made to mirror as closely as possible the C++ one, so the C++ doxygen documentation could be used to write code with either languages. @@ -31,12 +31,13 @@ A script could be run directly in text mode from the command line or through the graphical interface (see :ref:`Python Scripts in Cgt`). Aside for this requirement, the python script can contain anything valid -in |Python|, so don't hesitate to use any package or extention. +in |Python|, so don't hesitate to use any package or extension. Small example of Python/Stratus script: :: - from Hurricane import * - from Stratus import * + import symbolic.cmos + from Hurricane import * + from Stratus import * def doSomething (): # ... @@ -67,10 +68,17 @@ This typical script can be executed in two ways: if __name__ == "__main__" : part (this is standart |Python|). It is a simple adapter that will - calls :cb:`ScriptMain()`. + call :cb:`ScriptMain()`. + + In this case, the ``import symbolic.cmos`` statement at the begining + is mandatory. + #. Through |cgt|, either in text or graphical mode. In that case, the :cb:`ScriptMain()` is directly called trough a sub-interpreter. The arguments of the script are passed through the ``**kw`` dictionnary. + + In this case, the ``import symbolic.cmos`` statement at the begining + may be omitted. +----------------------+-----------------------------------------------+ | \*\*kw Dictionnary | @@ -79,7 +87,7 @@ This typical script can be executed in two ways: +======================+===============================================+ | ``'cell'`` | A Hurricane cell on which to work. Depending | | | on the context, it may be ``None``. | - | | For example, when run from |cgt|, it the cell | + | | For example, when run from |cgt|, the cell | | | currently loaded in the viewer, if any. | +----------------------+-----------------------------------------------+ | ``'editor'`` | The viewer from which the script is run, when | @@ -100,32 +108,30 @@ through this method. Chip Placement -------------- -Automatically perform the placement of a complete chip. This plugin, as well +Automatically performs the placement of a complete chip. This plugin, as well as the other P&R tools expect a specific top-level hierarchy for the design. -The top-level hierarchy must contains the instances of all the I/O pads and +The top-level hierarchy must contain the instances of all the I/O pads and **exactly one** instance named ``corona`` of an eponym cell ``corona``. -The ``corona`` cell in turn containing the instance of the chip's core model. +The ``corona`` cell in turn contains the instance of the chip's core model. The intermediate ``corona`` hierarchical level has been introduced to handle -the possible discoupling between real I/O pads supplied by a foundry and a +the possible decoupling between real I/O pads supplied by a foundry and a symbolic core. So the *chip* level contains only real layout and the corona and below only symbolic layer. -.. note:: This do not prevent having a design either fully symbolic (pads and core) +.. note:: This does not prevent having a design either fully symbolic (pads and core) or fully real. -.. note:: The ``corona`` also avoid the router to actually have to manage directly - the pads which simplificate it's configuration and accessorily avoid +.. note:: The ``corona`` also avoids the router to actually have to manage directly + the pads which simplify its configuration and besides avoid to have the pads stuffed with blockages. |bcenter| |ChipStructure-1| |ecenter| The designer must provide a configuration file that defines the rules for the placement of the top-level hierarchy (that is, the pads and the core). -This file must be named after the chip's name, by appending ``_ioring.py`` -(obviously, it is a |Python| file). For instance if the chip netlist file -is called ``amd2901.vst``, then the configuration file must be named -``amd2901_ioring.vst``. +This file must be names ``ioring.py`` and put into the user's configuration +directory ``./coriolis2/`` Example of chip placement configuration file (for ``AM2901``): :: @@ -159,24 +165,24 @@ The file must contain *one dictionnary* named ``chip``. | Parameter Key/Name | Value/Contents type | +======================+=======================================================+ | ``'pad.ioPadGauge'`` | The routing gauge to use for the pad. Must be given | -| | as it differs from the one used to route standard | +| | as it differs from the one used to route | | | inside the core | +----------------------+-------------------------------------------------------+ -| ``'pad.south'`` | Ordered list (left to right) of pad instances names | +| ``'pad.south'`` | Ordered list (left to right) of pad instance names | | | to put on the south side of the chip | +----------------------+-------------------------------------------------------+ -| ``'pad.east'`` | Ordered list (down to up) of pad instances names | +| ``'pad.east'`` | Ordered list (down to up) of pad instance names | | | to put on the east side of the chip | +----------------------+-------------------------------------------------------+ -| ``'pad.north'`` | Ordered list (left to right) of pad instances names | +| ``'pad.north'`` | Ordered list (left to right) of pad instance names | | | to put on the north side of the chip | +----------------------+-------------------------------------------------------+ -| ``'pad.west'`` | Ordered list (down to up) of pad instances names | +| ``'pad.west'`` | Ordered list (down to up) of pad instance names | | | to put on the west side of the chip | +----------------------+-------------------------------------------------------+ | ``'core.size'`` | The size of the core (to be used by the placer) | +----------------------+-------------------------------------------------------+ -| ``'chip.size'`` | The size of the whole chip. The sides must be great | +| ``'chip.size'`` | The size of the whole chip. The sides must be large | | | enough to accomodate all the pads | +----------------------+-------------------------------------------------------+ | ``'chip.clockTree'`` | Whether to generate a clock tree or not. This calls | @@ -190,27 +196,27 @@ Configuration parameters, defaults are defined in ``etc/coriolis2//plug +===================================+==================+============================+ | **Chip Plugin Parameters** | +-----------------------------------+------------------+----------------------------+ -|``chip.block.rails.count`` | TypeInt | :cb:`5` | +|``chip.block.rails.count`` | ``Int`` | :cb:`5` | | +------------------+----------------------------+ | | The minimum number of rails around the core | -| | block. Must be odd and suppérior to 5. | +| | block. Must be odd and above 5. | | | One rail for the clock and at least two pairs | | | of power/grounds | +-----------------------------------+------------------+----------------------------+ -|``chip.block.rails.hWidth`` | TypeInt | :cb:`12` |lambda| | +|``chip.block.rails.hWidth`` | ``Int`` | :cb:`12` |lambda| | | +------------------+----------------------------+ -| | The horizontal with of the rails | +| | The horizontal width of the rails | +-----------------------------------+------------------+----------------------------+ -|``chip.block.rails.vWidth`` | TypeInt | :cb:`12` |lambda| | +|``chip.block.rails.vWidth`` | ``Int`` | :cb:`12` |lambda| | | +------------------+----------------------------+ -| | The vertical with of the rails | +| | The vertical width of the rails | +-----------------------------------+------------------+----------------------------+ -|``chip.block.rails.hSpacing`` | TypeInt | :cb:`6` |lambda| | +|``chip.block.rails.hSpacing`` | ``Int`` | :cb:`6` |lambda| | | +------------------+----------------------------+ | | The spacing, *edge to edge* of two adjacent | | | horizontal rails | +-----------------------------------+------------------+----------------------------+ -|``chip.block.rails.vSpacing`` | TypeInt | :cb:`6` |lambda| | +|``chip.block.rails.vSpacing`` | ``Int`` | :cb:`6` |lambda| | | +------------------+----------------------------+ | | The spacing, *edge to edge* of two adjacent | | | vertical rails | @@ -219,7 +225,7 @@ Configuration parameters, defaults are defined in ``etc/coriolis2//plug .. note:: If no clock tree is generated, then the clock rail is *not* created. So even if the requested number of rails ``chip.block.rails.count`` is, say 5, - only four rails (2* ``power``, 2* ``ground``) will be generateds. + only four rails (2* ``power``, 2* ``ground``) will be generated. Clock Tree @@ -246,7 +252,7 @@ tree. The clock tree plugin works in four steps: -#. Builds the clock tree: creates the top-block abutment box, compute the +#. Builds the clock tree: creates the top-block abutment box, computes the required levels of H tree and places the clock buffers. #. Once the clock buffers are placed, calls the placer (|etesian|) to place the ordinary standard cells, whithout disturbing clock H-tree buffers. @@ -260,7 +266,7 @@ Netlist reorganisation: contain all the clock sub-nets. The interface is *not* changed. * If the top block contains instances of other models *and* those models contain DFFs that get re-connected to the clock sub-nets (from the - top level). Changes both the model netlist and interface to propagate + top level): Changes both the model netlist and interface to propagate the relevant clock sub-nets to the instanciated model. The new model with the added clock signal is renamed with a ``_cts`` suffix. For example, the sub-block model ``ram.vst`` will become ``ram_cts.vst``. @@ -278,12 +284,12 @@ Configuration parameters, defaults are defined in ``etc/coriolis2//plug +===================================+==================+============================+ | **ClockTree Plugin Parameters** | +-----------------------------------+------------------+----------------------------+ -|``clockTree.minimumSide`` | TypeInt | :cb:`300` |lambda| | +|``clockTree.minimumSide`` | ``Int`` | :cb:`300` |lambda| | | +------------------+----------------------------+ | | The minimum size below which the clock tree | | | will stop to perform quadri-partitions | +-----------------------------------+------------------+----------------------------+ -|``clockTree.buffer`` | TypeString | :cb:`buf_x2` | +|``clockTree.buffer`` | ``String`` | :cb:`buf_x2` | | +------------------+----------------------------+ | | The buffer model to use to drive sub-nets | +-----------------------------------+------------------+----------------------------+ @@ -306,7 +312,7 @@ example, derived from the |Alliance| :cb:`AM2901` is supplied. This example contains only the synthetized netlists and the :cb:`doChip.py` script which perform the whole P&R of the design. -You can generate the chip using one of the following method: +You can generate the chip using one of the following methods: #. **Command line mode:** directly run the script: :: @@ -316,6 +322,6 @@ You can generate the chip using one of the following method: then run the |Python| script :cb:`doChip.py`. .. note:: - Between two consecutive run, be sure to erase the netlist/layout generateds: :: + Between two consecutive run, be sure to erase the netlist/layout generated: :: dummy@lepka:AM2901> rm *_cts*.vst *.ap diff --git a/documentation/_build/html/_sources/UsersGuide/ViewerTools.txt b/documentation/_build/html/_sources/UsersGuide/ViewerTools.txt index 94cc226b..a2badb50 100644 --- a/documentation/_build/html/_sources/UsersGuide/ViewerTools.txt +++ b/documentation/_build/html/_sources/UsersGuide/ViewerTools.txt @@ -83,24 +83,24 @@ The |Coriolis| graphical interface is split up into two windows. * The **Viewer**, with the following features: * Basic load/save capabilities. - * Display the current working cell. Could be empty if the design + * Displays the current working cell. Could be empty if the design is not yet placed. - * Execute Stratus Scripts. + * Executes Stratus Scripts. * Menu to run the tools (placement, routage). Features are detailed in `Viewer & Tools`_. |ViewerSnapShot_1| -* The **Controller**, which allows: +* The **Controller**, which allows to: - * Tweak what is displayer by the *Viewer*. Through the *Look*, + * Tweak what is displayed by the *Viewer*. Through the *Look*, *Filter* and *Layers&Gos* tabs. * Browse the |netlist| with eponym tab. * Show the list of selected objects (if any) with *selection* * Walk through the Database, the Cell or the Selection with *Inspector*. This is an advanced feature, reserved for experimented users. - * The tab *Settings* which give access to all the settings. + * The tab *Settings* which gives access to all the settings. They are closely related to Configuration & Initialisation. |bcenter| |ControllerSnapShot_1| |ecenter| @@ -196,9 +196,9 @@ This |Coriolis| tool is actually an encapsulation of |Coloquinte| which *is* the The placement area is defined by the top cell abutment box. When placing a complete hierarchy, the abutment boxes of the cells (models) other than -the top cell are sets identical to the one of the top cell and their instances are +the top cell are set identical to the one of the top cell and their instances are all placed at position ``(0,0,ID)``. That is, all the abutments boxes, whatever the -hierarchical level, defines the same area (they are exactly superposed). +hierarchical level, define the same area (they are exactly superposed). We choose this scheme because the placer will see all the instances as virtually flattened, so they can be placed anywhere inside the top-cell abutment box. @@ -239,34 +239,34 @@ Etesian Configuration Parameters +===================================+==================+============================+ | **Etesian Parameters** | +-----------------------------------+------------------+----------------------------+ -|``etesian.aspectRatio`` | TypePercentage | :cb:`100` | +|``etesian.aspectRatio`` | ``Percentage`` | :cb:`100` | | +------------------+----------------------------+ | | Define the height on width ``H/W`` aspect | | | ratio, can be comprised between 10 and 1000 | +-----------------------------------+------------------+----------------------------+ -|``etesian.spaceMargin`` | TypePercentage | :cb:`5` | +|``etesian.spaceMargin`` | ``Percentage`` | :cb:`5` | | +------------------+----------------------------+ | | The extra white space added to the total area | | | of the standard cells | +-----------------------------------+------------------+----------------------------+ -|``etesian.uniformDensity`` | TypeBool | :cb:`False` | +|``etesian.uniformDensity`` | ``Bool`` | :cb:`False` | | +------------------+----------------------------+ | | Whether the cells will be spread envenly | | | across the area or allowed to form denser | | | clusters | +-----------------------------------+------------------+----------------------------+ -|``etesian.effort`` | TypeInt | :cb:`2` | +|``etesian.effort`` | ``Int`` | :cb:`2` | | +------------------+----------------------------+ | | Sets the balance between the speed of the | | | placer and the solution quality | +-----------------------------------+------------------+----------------------------+ -|``etesian.routingDriven`` | TypeBool | :cb:`False` | +|``etesian.routingDriven`` | ``Bool`` | :cb:`False` | | +------------------+----------------------------+ | | Whether the tool will try routing iterations | | | and whitespace allocation to improve | | | routability; to be implemented | +-----------------------------------+------------------+----------------------------+ -|``etesian.graphics`` | TypeInt | :cb:`2` | +|``etesian.graphics`` | ``Int`` | :cb:`2` | | +------------------+----------------------------+ | | How often the display will be refreshed | | | More refreshing slows the placer. | @@ -313,12 +313,12 @@ following configuration parameters: that quantity is substracted from the edge capacities (global routing) to give a sense of the cluttering inside the GCells. #. ``katana.vTrackReservedLocal``, same as above. -#. ``etesian.spaceMargin``, increase the free area of the overall design so the +#. ``etesian.spaceMargin``, increases the free area of the overall design so the routing density decrease. The idea is to increase the horizontal and vertical local track reservation until -the detailed router succeed. But in doing so we make the task of the global router -more and more difficult as the capacity of the edges decrease, and at some point +the detailed router succeeds. But in doing so we make the task of the global router +more and more difficult as the capacity of the edges decreases, and at some point it will fail too. So this is a balance. Routing a design is done in four ordered steps: @@ -328,7 +328,7 @@ Routing a design is done in four ordered steps: #. Detailed routing :math:`\textbf{P\&R} \rightarrow \textbf{Step by Step} \rightarrow \textbf{Detailed Route}` #. Finalize routing :math:`\textbf{P\&R} \rightarrow \textbf{Step by Step} \rightarrow \textbf{Finalize Route}` -It is possible to supply to the router a complete wiring for some nets that the user's +It is possible to supply to the router a complete wiring for some nets that the user wants to be routed according to a specific topology. The supplied topology must respect the building rules of the |Anabatic| database (contacts must be, *terminals*, *turns*, *h-tee* & *v-tee* only). During the first step :fboxtt:`Detailed Pre-Route` the router will solve @@ -342,7 +342,7 @@ the |Katana| data-structure, and it is not advisable to save the design before that step. You may visualize the density (saturation) of either the edges (global routing) -or the GCells (detailed routing) until the routing is finalized. Special layers appears +or the GCells (detailed routing) until the routing is finalized. Special layers appear to that effect in the `The Layers&Go Tab`_. @@ -359,73 +359,79 @@ All the defaults value given below are from the default |Alliance| technology +===================================+==================+============================+ | **Anabatic Parameters** | +-----------------------------------+------------------+----------------------------+ -|``anabatic.topRoutingLayer`` | TypeString | :cb:`METAL5` | +|``anabatic.topRoutingLayer`` | ``String`` | :cb:`METAL5` | | +------------------+----------------------------+ | | Define the highest metal layer that will be | | | used for routing (inclusive). | +-----------------------------------+------------------+----------------------------+ -|``anabatic.globalLengthThreshold`` | TypeInt | :cb:`1450` | +|``anabatic.globalLengthThreshold`` | ``Int`` | :cb:`1450` | | +------------------+----------------------------+ | | This parameter is used by a layer assignment | | | method which is no longer used (did not give | | | good results) | +-----------------------------------+------------------+----------------------------+ -| ``anabatic.saturateRatio`` | TypePercentage | :cb:`80` | +| ``anabatic.saturateRatio`` | ``Percentage`` | :cb:`80` | | +------------------+----------------------------+ | | If ``M(x)`` density is above this ratio, | | | move up feedthru global segments up from | | | depth ``x`` to ``x+2`` | +-----------------------------------+------------------+----------------------------+ -| ``anabatic.saturateRp`` | TypeInt | :cb:`8` | +| ``anabatic.saturateRp`` | ``Int`` | :cb:`8` | | +------------------+----------------------------+ | | If a GCell contains more terminals | | | (:cb:`RoutingPad`) than that number, force a | | | move up of the connecting segments to those | | | in excess | +-----------------------------------+------------------+----------------------------+ +| ``anabatic.globalIterations`` | ``Int`` | :cb:`10` | +| +------------------+----------------------------+ +| | The maximum number of iterations the global | +| | router will try to solve edges overload | ++-----------------------------------+------------------+----------------------------+ | **Katana Parameters** | +-----------------------------------+------------------+----------------------------+ -| ``katana.hTracksReservedLocal`` | TypeInt | :cb:`3` | +| ``katana.hTracksReservedLocal`` | ``Int`` | :cb:`3` | | +------------------+----------------------------+ | | To take account the tracks needed *inside* a | -| | GCell to build the *local* routing, decrease | -| | the capacity of the edges of the global | -| | router. Horizontal and vertical locally | -| | reserved capacity can be distinguished for | -| | more accuracy. | +| | GCell to build the *local* routing the | +| | capacities of the edges needs to be decreased.| +| | The decrease is computed by the GCell and | +| | cannot exceed this number (this is maximum). | +| | For better accuracy vertical and horizontal | +| | edges are distinguisheds | +-----------------------------------+------------------+----------------------------+ -| ``katana.vTracksReservedLocal`` | TypeInt | :cb:`3` | +| ``katana.vTracksReservedLocal`` | ``Int`` | :cb:`3` | | +------------------+----------------------------+ | | cf. ``kite.hTracksReservedLocal`` | +-----------------------------------+------------------+----------------------------+ -| ``katana.eventsLimit`` | TypeInt | :cb:`4000002` | +| ``katana.eventsLimit`` | ``Int`` | :cb:`4000002` | | +------------------+----------------------------+ | | The maximum number of segment displacements, | | | this is a last ditch safety against infinite | | | loop. It's perhaps a little too low for big | | | designs | +-----------------------------------+------------------+----------------------------+ -| ``katana.ripupCost`` | TypeInt | :cb:`3` | +| ``katana.ripupCost`` | ``Int`` | :cb:`3` | | +------------------+----------------------------+ | | Differential introduced between two ripup | -| | cost to avoid a loop between two ripped up | +| | costs to avoid a loop between two ripped up | | | segments | +-----------------------------------+------------------+----------------------------+ -| ``katana.strapRipupLimit`` | TypeInt | :cb:`16` | +| ``katana.strapRipupLimit`` | ``Int`` | :cb:`16` | | +------------------+----------------------------+ | | Maximum number of ripup for *strap* segments | +-----------------------------------+------------------+----------------------------+ -| ``katana.localRipupLimit`` | TypeInt | :cb:`9` | +| ``katana.localRipupLimit`` | ``Int`` | :cb:`9` | | +------------------+----------------------------+ | | Maximum number of ripup for *local* segments | +-----------------------------------+------------------+----------------------------+ -| ``katana.globalRipupLimit`` | TypeInt | :cb:`5` | +| ``katana.globalRipupLimit`` | ``Int`` | :cb:`5` | | +------------------+----------------------------+ | | Maximum number of ripup for *global* segments,| | | when this limit is reached, triggers topologic| | | modification | +-----------------------------------+------------------+----------------------------+ -| ``katana.longGlobalRipupLimit`` | TypeInt | :cb:`5` | +| ``katana.longGlobalRipupLimit`` | ``Int`` | :cb:`5` | | +------------------+----------------------------+ | | Maximum number of ripup for *long global* | | | segments, when this limit is reached, triggers| @@ -443,11 +449,11 @@ Python/Stratus scripts can be executed either in text or graphical mode. .. note:: **How Cgt Locates Python Scripts:** |cgt| uses the Python ``import`` mechanism to load Python scripts. - So you must give the name of your script whitout ``.py`` extention and - it must be reachable through the ``PYTHONPATH``. You may uses the + So you must give the name of your script whithout ``.py`` extension and + it must be reachable through the ``PYTHONPATH``. You may use the dotted module notation. -A Python/Stratus script must contains a function called ``ScriptMain()`` +A Python/Stratus script must contain a function called ``ScriptMain()`` with one optional argument, the graphical editor into which it may be running (will be set to ``None`` in text mode). The Python interface to the editor (type: :cb:`CellViewer`) is limited to basic capabilities @@ -462,15 +468,15 @@ For more explanation on Python scripts see :ref:`Python Interface to Coriolis`. Printing & Snapshots -------------------- -Printing or saving into a |pdf| is fairly simple, just uses the **File -> Print** +Printing or saving into a |pdf| is fairly simple, just use the **File -> Print** menu or the |CTRL_P| shortcut to open the dialog box. The print functionality uses exactly the same rendering mechanism as for the screen, beeing almost *WYSIWYG*. Thus, to obtain the best results it is advisable to select the ``Coriolis.Printer`` look (in the *Controller*), which uses a -white background and much suited for high resolutions ``32x32`` pixels patterns +white background and well suited for high resolutions ``32x32`` pixels patterns -There is also two mode of printing selectable through the *Controller* +There is also two modes of printing selectable through the *Controller* **Settings -> Misc -> Printer/Snapshot Mode**: =============== ================= ===================================================== @@ -500,12 +506,12 @@ The main application binary is |cgt|. +---------------+-------------------+-----------------------------------------------------------+ | Category | Keys | Action | +===============+===================+===========================================================+ -| **Moves** | | |KeyUp|, | Shift the view in the according direction | +| **Moves** | | |KeyUp|, | Shifts the view in the according direction | | | |KeyDown| | | | | | |KeyLeft|, | | | | |KeyRight| | | +---------------+-------------------+-----------------------------------------------------------+ -| **Fit** | |KeyF| | Fit to the Cell abutment box | +| **Fit** | |KeyF| | Fits to the Cell abutment box | +---------------+-------------------+-----------------------------------------------------------+ | **Refresh** | |CTRL_L| | Triggers a complete display redraw | +---------------+-------------------+-----------------------------------------------------------+ @@ -557,19 +563,19 @@ The main application binary is |cgt|. | **Open/Close**| |CTRL_O| | Opens a new design. The design name must be | | | | given without path or extention. | | +-------------------+-----------------------------------------------------------+ -| | |CTRL_W| | Close the current viewer window, but do not quit | +| | |CTRL_W| | Closes the current viewer window, but does not quit | | | | the application. | | +-------------------+-----------------------------------------------------------+ -| | |CTRL_Q| | `CTRL+Q` quit the application | +| | |CTRL_Q| | `CTRL+Q` quits the application | | | | (closing all windows). | +---------------+-------------------+-----------------------------------------------------------+ -| **Hierarchy** | |CTRL_Down| | Go one hierarchy level down. That is, if there | -| | | is an *instance* under the cursor position, load | -| | | it's *model* Cell in place of the current one. | +| **Hierarchy** | |CTRL_Down| | Goes one hierarchy level down. That is, if there | +| | | is an *instance* under the cursor position, loads | +| | | its *model* Cell in place of the current one. | | +-------------------+-----------------------------------------------------------+ -| | |CTRL_Up| | Go one hierarchy level up. if we have entered | +| | |CTRL_Up| | Goes one hierarchy level up. If we have entered | | | | the current model through |CTRL_Down| | -| | | reload the previous model (the one | +| | | reloads the previous model (the one | | | | in which this model is instanciated). | +---------------+-------------------+-----------------------------------------------------------+ @@ -582,9 +588,9 @@ Appart from the obvious ``--text`` options, all can be used for text and graphic +-----------------------------+------------------------------------------------+ | Arguments | Meaning | +=============================+================================================+ -| `-t|--text` | Instruct |cgt| to run in text mode. | +| `-t|--text` | Instructs |cgt| to run in text mode. | +-----------------------------+------------------------------------------------+ -| `-L|--log-mode` | Disable the uses of |ANSI| escape sequence on | +| `-L|--log-mode` | Disables the use of |ANSI| escape sequence on | | | the |tty|. Useful when the output is | | | redirected to a file. | +-----------------------------+------------------------------------------------+ @@ -595,15 +601,15 @@ Appart from the obvious ``--text`` options, all can be used for text and graphic | | (|Etesian|). | +-----------------------------+------------------------------------------------+ | `--events-limit=` | The maximal number of events after which the | -| | router will stops. This is mainly a failsafe | -| | against looping. The limit is sets to 4 | +| | router will stop. This is mainly a failsafe | +| | against looping. The limit is set to 4 | | | millions of iteration which should suffice to | | | any design of `100K`. gates. For bigger | -| | designs you may wants to increase this limit. | +| | designs you may want to increase this limit. | +-----------------------------+------------------------------------------------+ -| `-G|--global-route` | Run the global router (|Katana|). | +| `-G|--global-route` | Runs the global router (|Katana|). | +-----------------------------+------------------------------------------------+ -| `-R|--detailed-route` | Run the detailed router (|Katana|). | +| `-R|--detailed-route` | Runs the detailed router (|Katana|). | +-----------------------------+------------------------------------------------+ | `-s|--save-design=` | The design into which the routed layout will | | | be saved. It is strongly recommanded to choose | @@ -632,43 +638,43 @@ Miscellaneous Settings +=======================================+==================+============================+ | **Verbosity/Log Parameters** | +---------------------------------------+------------------+----------------------------+ -| ``misc.info`` | TypeBool | :cb:`False` | +| ``misc.info`` | ``Bool`` | :cb:`False` | | +------------------+----------------------------+ -| | Enable display of *info* level message | +| | Enables display of *info* level message | | | (:cb:`cinfo` stream) | +---------------------------------------+------------------+----------------------------+ -| ``misc.bug`` | TypeBool | :cb:`False` | +| ``misc.bug`` | ``Bool`` | :cb:`False` | | +------------------+----------------------------+ -| | Enable display of *bug* level message | +| | Enables display of *bug* level message | | | (:cb:`cbug` stream), messages can be a little | | | scarry | +---------------------------------------+------------------+----------------------------+ -| ``misc.logMode`` | TypeBool | :cb:`False` | +| ``misc.logMode`` | ``Bool`` | :cb:`False` | | +------------------+----------------------------+ -| | If enabled, assume that the output device | -| | is not a ``tty`` and suppress any escaped | +| | If enabled, assumes that the output device | +| | is not a ``tty`` and suppresses any escape | | | sequences | +---------------------------------------+------------------+----------------------------+ -| ``misc.verboseLevel1`` | TypeBool | :cb:`True` | +| ``misc.verboseLevel1`` | ``Bool`` | :cb:`True` | | +------------------+----------------------------+ -| | First level of verbosity, disable level 2 | +| | First level of verbosity, disables level 2 | +---------------------------------------+------------------+----------------------------+ -| ``misc.verboseLevel2`` | TypeBool | :cb:`False` | +| ``misc.verboseLevel2`` | ``Bool`` | :cb:`False` | | +------------------+----------------------------+ | | Second level of verbosity | +---------------------------------------+------------------+----------------------------+ | **Development/Debug Parameters** | +---------------------------------------+------------------+----------------------------+ -| ``misc.minTraceLevel`` | TypeInt | :cb:`0` | +| ``misc.minTraceLevel`` | ``Int`` | :cb:`0` | +---------------------------------------+------------------+----------------------------+ -| ``misc.maxTraceLevel`` | TypeInt | :cb:`0` | +| ``misc.maxTraceLevel`` | ``Int`` | :cb:`0` | | +------------------+----------------------------+ -| | Display trace information *between* those two | +| | Displays trace information *between* those two| | | levels (:cb:`cdebug` stream) | +---------------------------------------+------------------+----------------------------+ -| ``misc.catchCore`` | TypeBool | :cb:`False` | +| ``misc.catchCore`` | ``Bool`` | :cb:`False` | | +------------------+----------------------------+ -| | By default, |cgt| do not dump core. | +| | By default, |cgt| does not dump core. | | | To generate one set this flag to :cb:`True` | +---------------------------------------+------------------+----------------------------+ @@ -688,10 +694,10 @@ The *Controller* window is composed of seven tabs: #. `The Layers&Go Tab`_ to selectively hide/display layers. #. `The Netlist Tab`_ to browse through the |netlist|. Works in association with the *Selection* tab. -#. `The Selection Tab`_ allow to view all the currently selected elements. -#. `The Inspector Tab`_ browse through either the DataBase, the Cell or +#. `The Selection Tab`_ allows to view all the currently selected elements. +#. `The Inspector Tab`_ browses through either the DataBase, the Cell or the current selection. -#. `The Settings Tab`_ access all the tool's configuration settings. +#. `The Settings Tab`_ accesses all the tool's configuration settings. .. _The Look Tab: @@ -714,12 +720,12 @@ The Filter Tab -------------- The filter tab let you select what hierarchical levels of your design will be -displayed. Hierarchy level are numbered top-down: the level 0 correspond to +displayed. Hierarchy level are numbered top-down: the level 0 corresponds to the top-level cell, the level one to the instances of the top-level Cell and so on. There are also check boxes to enable/disable the processing of Terminal Cell, -Master Cells and Compnents. The processing of Terminal Cell (hierarchy leaf +Master Cells and Components. The processing of Terminal Cell (hierarchy leaf cells) is disabled by default when you load a hierarchical design and enabled when you load a single Cell. @@ -731,8 +737,8 @@ unit used to display coordinates. connect two or more parts of net, a *rubber* will be drawn between them to signal the gap. - For example, after the detailed routing no *rubbers* should remains. - They have been made *very* visibles as big violet lines... + For example, after the detailed routing no *rubber* should remain. + They have been made *very* visible as big violet lines... |bcenter| |ControllerFilter_1| |ecenter| @@ -746,7 +752,7 @@ The Layers&Go Tab Control the individual display of all *layers* and *Gos*. -* *Layers* correspond to a true physical layer. From a |Hurricane| point of +* *Layers* correspond to true physical layers. From a |Hurricane| point of view they are all the *BasicLayers* (could be matched to GDSII). * *Gos* stands from *Graphical Objects*, they are drawings that have no physical existence but are added by the various tools to display extra @@ -771,10 +777,10 @@ The *Netlist* tab shows the list of nets... By default the tab is not **Sync Netlist** checkbox. You can narrow the set of displayed nets by using the filter pattern (supports regular expressions). -An very useful feature is to enable the **Sync Selection**, which will +A very useful feature is to enable the **Sync Selection**, which will automatically select all the components of the selected net(s). You can select multiple nets. In the figure the net ``auxsc35`` is selected and -is highlited in the *Viewer*. +is highlighted in the *Viewer*. |bcenter| |ControllerNetlist_1| |ecenter| |bcenter| |ViewerNetlist_1| |ecenter| @@ -785,7 +791,7 @@ is highlited in the *Viewer*. The Selection Tab ----------------- -The *Selection* tab list all the components currently selecteds. They +The *Selection* tab lists all the components currently selected. They can be filtered thanks to the filter pattern. Used in conjunction with the *Netlist* **Sync Selection** you will all see @@ -806,14 +812,14 @@ The Inspector Tab ----------------- This tab is very useful, but mostly for |Coriolis| developpers. It allows -to browse through the live DataBase. The *Inspector* provide three entry points: +to browse through the live DataBase. The *Inspector* provides three entry points: * **DataBase**: Starts from the whole |Hurricane| DataBase. -* **Cell**: Inspect the currently loaded Cell. -* **Selection**: Inspect the object currently highlited in the *Selection* tab. +* **Cell**: Inspects the currently loaded Cell. +* **Selection**: Inspects the object currently highlighted in the *Selection* tab. Once an entry point has been activated, you may recursively expore all -it's fields using the right/left arrows. +its fields using the right/left arrows. .. note:: *Do not put your fingers in the socket:* when inspecting anything, do not modify the DataBase. If any object under inspection diff --git a/documentation/_build/html/_sources/etc/definitions.txt b/documentation/_build/html/_sources/etc/definitions.txt index e9fcc144..d982b82c 100644 --- a/documentation/_build/html/_sources/etc/definitions.txt +++ b/documentation/_build/html/_sources/etc/definitions.txt @@ -26,6 +26,7 @@ .. Acronyms & names. +.. |NDA| replace:: :sc:`nda` .. |OS| replace:: :sc:`os` .. |GNU| replace:: :sc:`gnu` .. |LGPL| replace:: :sc:`lgpl` diff --git a/documentation/_build/html/_sources/index.txt b/documentation/_build/html/_sources/index.txt index 128ae2b5..dfb158f6 100644 --- a/documentation/_build/html/_sources/index.txt +++ b/documentation/_build/html/_sources/index.txt @@ -15,7 +15,6 @@ Contents: UsersGuide/index.rst PythonTutorial/index.rst Stratus/index.rst - ConfigurationTechnology/index.rst Hurricane/Hurricane.rst Viewer/Viewer.rst CrlCore/CrlCore.rst diff --git a/documentation/_build/html/defapi/defapi.html b/documentation/_build/html/defapi/defapi.html index 6b7985e1..152a33aa 100644 --- a/documentation/_build/html/defapi/defapi.html +++ b/documentation/_build/html/defapi/defapi.html @@ -85,6 +85,7 @@
  • Release v2.1
  • Release v2.2
  • Release v2.3
  • +
  • Release v2.4
  • Complete Design Flow & Examples
  • @@ -105,14 +106,8 @@
  • Coriolis Configuration & Initialisation
  • CGT - The Graphical Interface
      @@ -391,11 +386,6 @@
  • -
  • Configuration & Technonology -
  • Hurricane Reference
  • Viewer Reference
  • CRL Core Reference
  • @@ -534,7 +524,7 @@ under the Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -543,7 +533,7 @@ under the Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/etc/definitions.html b/documentation/_build/html/etc/definitions.html index becc3729..bab3a603 100644 --- a/documentation/_build/html/etc/definitions.html +++ b/documentation/_build/html/etc/definitions.html @@ -83,6 +83,7 @@
  • Release v2.1
  • Release v2.2
  • Release v2.3
  • +
  • Release v2.4
  • Complete Design Flow & Examples
  • @@ -103,14 +104,8 @@
  • Coriolis Configuration & Initialisation
  • CGT - The Graphical Interface
      @@ -389,11 +384,6 @@
  • -
  • Configuration & Technonology -
  • Hurricane Reference
  • Viewer Reference
  • CRL Core Reference
  • @@ -517,7 +507,7 @@ Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -526,7 +516,7 @@ Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/genindex.html b/documentation/_build/html/genindex.html index 884cfb5f..3347753a 100644 --- a/documentation/_build/html/genindex.html +++ b/documentation/_build/html/genindex.html @@ -84,6 +84,7 @@
  • Release v2.1
  • Release v2.2
  • Release v2.3
  • +
  • Release v2.4
  • Complete Design Flow & Examples
  • @@ -104,14 +105,8 @@
  • Coriolis Configuration & Initialisation
  • CGT - The Graphical Interface
      @@ -390,11 +385,6 @@
  • -
  • Configuration & Technonology -
  • Hurricane Reference
  • Viewer Reference
  • CRL Core Reference
  • @@ -524,7 +514,7 @@ Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -533,7 +523,7 @@ Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/index.html b/documentation/_build/html/index.html index 7338e4c3..3a8d808b 100644 --- a/documentation/_build/html/index.html +++ b/documentation/_build/html/index.html @@ -84,6 +84,7 @@
  • Release v2.1
  • Release v2.2
  • Release v2.3
  • +
  • Release v2.4
  • Complete Design Flow & Examples
  • @@ -104,14 +105,8 @@
  • Coriolis Configuration & Initialisation
  • CGT - The Graphical Interface
      @@ -390,11 +385,6 @@
  • -
  • Configuration & Technonology -
  • Hurricane Reference
  • Viewer Reference
  • CRL Core Reference
  • @@ -508,7 +498,7 @@

    Coriolis 2 documentation

    - Documentation generated on May 27, 2019. + Documentation generated on Oct 28, 2019.

    Documentation Topics

    @@ -606,7 +596,7 @@ Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -615,7 +605,7 @@ Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/lefapi/lefapi.html b/documentation/_build/html/lefapi/lefapi.html index dbc8ed23..c51a8c90 100644 --- a/documentation/_build/html/lefapi/lefapi.html +++ b/documentation/_build/html/lefapi/lefapi.html @@ -85,6 +85,7 @@
  • Release v2.1
  • Release v2.2
  • Release v2.3
  • +
  • Release v2.4
  • Complete Design Flow & Examples
  • @@ -105,14 +106,8 @@
  • Coriolis Configuration & Initialisation
  • CGT - The Graphical Interface
      @@ -391,11 +386,6 @@
  • -
  • Configuration & Technonology -
  • Hurricane Reference
  • Viewer Reference
  • CRL Core Reference
  • @@ -565,7 +555,7 @@ and configured when the subsequent Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -574,7 +564,7 @@ and configured when the subsequent Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/lefdef/lefdef.html b/documentation/_build/html/lefdef/lefdef.html index b77dea74..5a002372 100644 --- a/documentation/_build/html/lefdef/lefdef.html +++ b/documentation/_build/html/lefdef/lefdef.html @@ -84,6 +84,7 @@
  • Release v2.1
  • Release v2.2
  • Release v2.3
  • +
  • Release v2.4
  • Complete Design Flow & Examples
  • @@ -104,14 +105,8 @@
  • Coriolis Configuration & Initialisation
  • CGT - The Graphical Interface
      @@ -390,11 +385,6 @@
  • -
  • Configuration & Technonology -
  • Hurricane Reference
  • Viewer Reference
  • CRL Core Reference
  • @@ -531,7 +521,7 @@ under the Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -540,7 +530,7 @@ under the Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/objects.inv b/documentation/_build/html/objects.inv index 7a7e06fe7481a1374c1328268a5be58a844d569c..1c6a3455b92a26f5df9c35495afd398cd6475861 100644 GIT binary patch delta 1545 zcmV+k2KM>94ekt(cz>8}Z`(Ey$KU%?a43+qXk{Vk)@{KsAax!ZEbW5WX_*91Rppm&)!b59 zQlTW9ZtPY(ur=&7BoLXsr=J-qQm08L z&)#vSsV+9V{ozstM*C$-X4EipMl#YmLu!DOTrv&mQh#E`Gcy@U>CsrdtcTNs!A>Dq z!hc0tVH#ukI6_`NBJa(VT*-n~rWUXla!tUJ0B)t#s)X$u-TqX8$kQoF2NT){x*b`m zv!M5HQ}RKP*~^!0R-d0Yj;x($m#U=OiT&KhhU8!U)y(}Gvtp5G1?zf5{3zm_wh3(#0O?w zxq?+mdmunx8Z!)zh)V_Pw?{+zf|O(#xuZK(+d<5=ofn!{2ZIGod>G9^q{N`7uBB{h zs@-T+uQ#Mv5925ySd&zT_AODx1NxpyUWF8Qi+?e%2rS)TNeCM-*vu>W#I=&!!~2-1 zV*Qyj+r+9XSP&zLq#xt(5!)*}bk3p!EKhKAXx?5C3qgGB8(+mBuSI(duXi7UD0k{zNaDy08DC2oua*XQA~ebEn4vK5#7 zzkgCHQDJ~Tr6QJF!T#z4N2*5G-YXq1Q8QXHs&eIfvvF?J3?}$+InUu=Mc19;n+&7N ze79XH0k@_<`ltqjp`<6Vt|}G(6r5A-Jnq6S#`0txbN(o|sTo z)m_oh>L-Tdq#gg+keiy939!0haxcpn5PyT3HItCsuxW;DsjOkMgY=Hdb=}*fzO6f< zN3&-t_taXZyXn-oAtovz^J}PldvSv&&@pu9a~=*UTy#~_@q~F#9wjf7mbw2-fjtu< zgRX7L-0VyH42Q8H2M$!Gc$NLcyAGE!3BhFs-0%(*=W86n_n* zaXledU#S~6Df?C$ONBVJh*X07bR>n{@dDlq*i5sMcV8n$MSjBG7@fY+qw!2Wgcg?-1p&E{{x+0&TSeD?HVR}UiMpjBE4No4QXd3M!XJ43h<##Mp zqVRigvw)s#0r%vMrWIa0F=)yj9Djzst(Rz>6NO=Y^c2!DAi;~;?1vkGRy@a#)VX8u zh34wI=>S`AW{a_#re_*dZ>U%8s^gn+7!64YUnhgjNfe)$C=~S2P@lu*z`lU4b}dPh z%|A^9E=3I1*fAjRZm>qM!a8#N=y|t>=$*S=iY2$jKrP&}-fEWx0}|e2$$!L^S3AL% z(6Q|P6=P!=G+rzc6@X8F$ zCbZW2`)3AzS>oqT_$>ZxsDCRiU{8pp%j2l%mpMO2y++J}E*mOrdIcBlHL`Cb zEZ_y*0pw(@j>n^GwpI~;hp-#f;+6XR17z@Op$-vv(l-T1BfVp!hVCMO4f8Kr$D^Zb vgwG?a#W(Lz=11u0nZP~Dv7fNGpTKbrm(+KW(Jw=?0vaVz_N delta 1623 zcmV-d2B`V&47?4Hcz;-JZ`(Ey{_bDFp+L5xm4&2Rw*|w1)Op3yE{L7><3LNaO@tu@ zl1l4;zoU+%D9Q5T?n5h!_uO;5le?|mC^@UD{QQHOTPjN` zlw{M5eG;#Dc}(7c#!OIS$eA&!;MB5`Tr*lSO)j}$69*_70Do-(8w9KXaDcsrCTnRj zq{$kZ7i{EYxRL+618@3dXxiI+e^5N%k!*4%VQHP?qtPx^;dDEKMuS|}TJwTR7U1`6 z#Wa%zo6MA4@pY}Kymi!=D*h&?Ur0 zts-hN(_*GH%l)&%)D?Nc`&-fg+hc7{JpM{)c8GhKl5qV+EnR}AMIL{pTsy?b)uIzF z$dTOr*I@{YUeAeJmA|zz8=m7MRqF^))q`5)wvf60__Nm9fPri|1D{Osg32s2=np*`QA^-g)C@gY5}p3YXXvl;6_@lN(kR*_)|n| zA?aem_J4^!jdBh~Yxmh@RnkRbH*X_D=3jj1pbvuynK`B8 z1n`6s-a$|6iTbsN;@oZh?CypvYO6G-!ZU`~{H%PYkmTh;RlG1m{t+Nr`+Z8nGQsse z{fr6miCNdKz$aQ8qyb_B!A1uE#0cx4s5RNywJSbYb;>mVKjwE zi9t&wy(~j0=Or**|%?xh>ai~`^I-M$ZHXg-lO|w z?td8-=gjc+-ZM#1vCREYLAWFu#N$(@DzO1{U z2eV@4Ty#}4@q~R(9waZ6mbrhXgnvB| zQU+W*l)2rRW^dzD*%&5_(3(S*n86@^<7$h71h4jl1$)M&P+v#Pw19R@7Ys&G6p%*s zh+KT5Zr!BZH_})t#6Bld2=b>ZDcLPA;LCu`G%I=cGh!6vH|#Zzh?l0U_e?MtS;qK+ z*w-Sy!E9r@j^e#*?nDjUaEz-9@_z}6Z3%7}rdPCJWTkX6@Z|ACQ){0&`^vOyzhkBn zgpa}10%o!W+>=+DR(S11qbc{G82YkaqID_?&3fx8Nk@PT9@J((^(~BSmxl*z1GK_6pnuVsup06m zeoh8)PY_?2C=`t6(E3B%A>@Fo-L%uh;fIMpSH!@_jsOX72R?!n{K)aq({2S(J9klv z-MpoNHoL>$YMTWCGJM2tjGk9p!Iv-$ZT}HmK2}@1t=Lbm5BR%JB*R=^v>KETwQ8(kQ?-28r z9_IXsVQzZtTER7cU!nZYT}*B|hOcp$V_|C7FW(vHWr?0^9<%t`u&%g(m=H^shq0nw z=JXuvCDJVDvSEe5SMYVAzJoZbM(&$P7U%`t0?E-@9Zrv`*;+;VTTmpsQZ2nwkKe%z zS}m!g2z=7d8wXQ*#mE{4mq2Wo|Asr9I;uwUc_eG;o6j@zJ?yBNkb5e}{fzg<5tMVd V|6at5dKqec4kQg=@-H;OgBKv1Hh};D diff --git a/documentation/_build/html/search.html b/documentation/_build/html/search.html index ffe85a26..ea100862 100644 --- a/documentation/_build/html/search.html +++ b/documentation/_build/html/search.html @@ -83,6 +83,7 @@
  • Release v2.1
  • Release v2.2
  • Release v2.3
  • +
  • Release v2.4
  • Complete Design Flow & Examples
  • @@ -103,14 +104,8 @@
  • Coriolis Configuration & Initialisation
  • CGT - The Graphical Interface
      @@ -389,11 +384,6 @@
  • -
  • Configuration & Technonology -
  • Hurricane Reference
  • Viewer Reference
  • CRL Core Reference
  • @@ -527,7 +517,7 @@ Generated by Sphinx - using a RTD theme on May 27, 2019. + using a RTD theme on Oct 28, 2019. @@ -536,7 +526,7 @@ Coriolis 2 Documentation - © Copyright 2000-2018, UPMC. + © Copyright 2000-2019, Sorbonne Université. diff --git a/documentation/_build/html/searchindex.js b/documentation/_build/html/searchindex.js index 37240a83..b4216bbe 100644 --- a/documentation/_build/html/searchindex.js +++ b/documentation/_build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({envversion:49,filenames:["Analog/Analog","ConfigurationTechnology/Architecture","ConfigurationTechnology/index","ConfigurationTechnology/pdfHeader","Contents","CrlCore/CrlCore","Hurricane/Hurricane","Katabatic/Katabatic","Kite/Kite","Oroshi/Oroshi","PythonCpp/Configuration","PythonCpp/DBoHierarchy","PythonCpp/DBoStandalone","PythonCpp/DbU","PythonCpp/Introduction","PythonCpp/Name","PythonCpp/NonDBo","PythonCpp/index","PythonTutorial/AdvancedTopics","PythonTutorial/CellNetComponent","PythonTutorial/CgtScript","PythonTutorial/Collections","PythonTutorial/Environment","PythonTutorial/Introduction","PythonTutorial/Netlist","PythonTutorial/RealDesigns","PythonTutorial/ToolEngines","PythonTutorial/definitions","PythonTutorial/index","PythonTutorial/pdfHeader","RDS/RDSpage","RDS/index","Stratus/Developper","Stratus/DpGen","Stratus/Language","Stratus/Patterns","Stratus/index","Unicorn/Unicorn","UsersGuide/Configuration","UsersGuide/DesignFlow","UsersGuide/Installation","UsersGuide/LicenseCredits","UsersGuide/Releases","UsersGuide/ScriptsPlugins","UsersGuide/ViewerTools","UsersGuide/index","Viewer/Viewer","defapi/defapi","etc/definitions","index","lefapi/lefapi","lefdef/lefdef"],objects:{},objnames:{},objtypes:{},terms:{"005\u00b5m":30,"01\u00b5m":50,"09\u00b5m":30,"0b0001":33,"0b000111":33,"0b0010":34,"0b0110":34,"0b10":34,"0b1001":34,"0b1010":33,"0b1100":33,"0b1110":34,"0b1111":33,"0cm":29,"0x0000ffff":33,"0x14":34,"100k":44,"150k":44,"180nm":38,"18\u00b5m":30,"1\u00b5m":30,"1cm":29,"2\u00b5m":30,"2cm":29,"32b":40,"32x32":44,"3cm":29,"45nm":[22,25],"4cm":29,"64b":40,"8cm":29,"abstract":11,"boolean":[4,12,32],"case":[1,4],"catch":12,"char":12,"class":[4,10],"const":[33,34],"default":[11,22,30,32,33,34,35,38,40,42,43,44,50],"else":33,"export":[10,11,12,23,40,42,43],"final":[19,30,40,42,44],"float":[19,35,38],"function":[4,10,11,12,13,14,16],"goto":44,"import":[1,11,12,14,19,23,24,25,26,33,34,38,40,41,42,43,44],"int":16,"long":[13,23,44],"new":[11,12,16],"null":[11,12,13,14,16,33],"public":[23,42],"r\u00e9my":41,"return":[11,12,13,14,16,19,20,21,23,24,26,33,34,38,43,44],"short":[14,40],"static":[11,12,13,14,16,23,25,33,40],"supp\u00e9rior":43,"switch":40,"transient":[19,50],"true":[1,19,20,22,24,26,30,32,33,34,38,43,44],"try":[19,34,38,44],"universit\u00e9":[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],"void":[11,12,16,23],"while":[13,19,21,23,24,39,44,50],__add__:32,__and__:32,__c:[11,12,14,16],__div__:32,__geslice__:32,__getitem__:32,__init__:32,__invert__:32,__le__:32,__main__:43,__mul__:32,__name__:43,__or__:32,__python_module:14,__python_module__:[11,14,16],__str__:23,__xor__:32,_add:32,_alia:32,_and:32,_ariti:32,_baseobject:11,_bl:43,_br:43,_buff:32,_clock:38,_comp:32,_ct:43,_db:32,_direct:32,_div:32,_ext:32,_h_type:32,_hur_cel:32,_hur_inst:32,_hur_mastercel:32,_hur_net:32,_ind:32,_insref:32,_ior:43,_lib0:32,_map:32,_model:32,_mult:32,_mux:32,_name:[32,35],_nb_alims_vertical:32,_nb_inst:32,_nb_pin:32,_nb_vdd_pin:32,_nb_vss_pin:32,_not:32,_object:[11,12,13,16],_or:32,_param:32,_plac:32,_px:38,_pyobject:11,_real_model:32,_real_net:32,_reg:32,_shift:32,_st_cell:32,_st_ck:32,_st_inst:32,_st_mastercel:32,_st_merg:32,_st_port:32,_st_sig:32,_st_vdd:32,_st_vsss:32,_stim:34,_sym:32,_tab_nets_cat:32,_tab_nets_out:32,_tl:43,_to_cat:32,_to_merg:32,_tr:43,_type:32,_undercel:32,_xor:32,a2_1:[24,26],a2_2:[24,26],a2_x2:[24,26,34],abc:42,abil:34,abl:[14,20,23,25],about:[4,12],abov:[12,19,20,34,38,44],absolut:[16,19,35],abtument:34,abut:[19,24,26,34,43,44],abutmentbox:34,accept:[35,44],access:[11,21,24,34,35,40,42,44],access_class:11,access_object:11,accessor:12,accessorili:43,accomod:43,accord:[1,30,38,43,44],accordingli:14,account:44,accross:14,accumul:35,accur:42,accuraci:44,achiev:42,acknowledg:33,across:[30,38,44],act:10,action:44,activ:[4,20,30],actual:[30,33,35,43,44],adapt:[22,43],add:[4,12,20,24],add_python_modul:[10,14],add_sub:33,addaccu:4,addd:34,added:42,adder:[33,34],adder_8:33,adding:12,addit:[22,33,34,38,39,40,44],addition:34,additionn:4,addmode:38,addon:[39,40],addpat:4,address:33,addtyp:[11,12],adjac:[18,43],adjust:42,adopt:19,adr:33,advantag:1,advis:44,adw:33,affect:4,affect_ani:4,affect_fix:4,affect_int:4,affili:42,after:[12,19,20,24,25,26,32,34,35,40,43,44],afterward:33,again:[11,12,22,25,40],against:[12,14,25,42,44],ago:14,aim:[23,42],alc_env:40,alexandr:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],algorithm:[21,42,44],alia:[22,32,34,40],alias:44,alim:34,alimconnector:34,aliment:[4,32],alimhorizontalrail:34,alimverticalrail:34,all:[12,14,18,19,21,23,24,26,30,32,34,35,38,40,41,42,43,44],allianc:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30],alliance_top:38,allianceconfig:38,alliancetop:38,alloc:[12,23,44],allow:[12,18,19,21,24,30,33,34,35,38,40,42,44],almost:[11,22,38,43,44],alon:[19,39],along:[16,44],alongsid:40,alpha:42,alphanumer:34,alreadi:[14,21,28,29,34,38,40,44],also:[8,19,21,23,24,25,30,34,40,43,44],altern:[38,42,44],alternat:40,although:[30,42,44],alu1:[30,34],alu2:34,alu3:34,alu4:34,alu5:34,alu6:34,alu:34,alux:30,alwai:[12,14,24,33,34,35,50],am2901:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42],amd2901:43,amd2901_ior:43,amd64:40,amend:38,among:19,amount:[33,50],amp:41,ana:8,anabat:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],analys:40,analysi:44,analyt:[42,44],and2:[33,34],and2_8:33,and3:33,and3_16:33,and4:33,and4_2:33,anded:33,ani:[1,14,16,19,20,21,22,23,24,25,30,34,35,40,43,44],anneal:42,anonym:21,anoth:[4,14,25,32],another:14,ansi:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],anti:44,any:44,anymor:30,anyth:[38,43,44],anywher:44,apach:[47,50,51],api:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],appart:44,appear:[12,24,44],append:[21,34,38,43],appertur:44,appli:[14,24,30,33,34,35,38],applic:44,appropri:[12,34],approx:44,apt:40,architectur:4,archiv:25,area:[24,26,30,38,44],arg0:[12,13,16],arg1:[12,16],arg:[11,12,13,14,16,34],argument:[4,11,12,13,19,20,24,32,33],arith:34,arithmet:[4,32,33],ariti:[32,34,35],army:44,around:[13,26,34,43,44],arrow:44,art:44,articul:[19,24],aside:[38,43],asign:35,asim:[34,40],asimut:34,ask:[24,30],aspect:[14,26,38,44],aspectratio:[26,38,44],assembl:38,assign:44,assignment:44,associ:[10,11,12,14,16,24,30,44],associat:[4,11],assum:[25,28,29,44],assume:24,asymetr:30,attempt:13,attribut:[4,11,16,23,29],author:34,autocmd:34,automat:[22,26,32,34,35,40,43,44],automaticali:34,autotool:40,auxsc35:44,avail:[0,5,6,7,8,9,14,19,22,34,37,38,39,40,42,46,47,50,51],avala:[42,44],avoid:[24,30,43,44,50],avot:35,awar:[24,30,33,44],axi:30,back:[34,40,42],background:44,backquot:22,bad:11,balanc:44,base:[4,7,8],bashrc:[22,40],basi:33,basic:4,basiclay:44,bdo:16,becaus:[11,20,26,30,40,42,44],becom:[11,23,34,43,44],bee:[34,44],been:[12,14,19,20,21,23,24,32,33,34,38,42,43,44],befor:[20,24,32,34,35,40,44,50],before:35,beforehand:44,begin:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],behav:33,behavior:[12,14,16,32,33,34],behaviour:44,belloeil:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,32,33,34,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],belong:[19,34,38,50],below:[12,14,23,24,26,30,32,34,38,43,44],benchmark:44,bend:30,best:[16,44],better:24,between:[14,18,23,24,30,33,34,35,38,40,42,43,44],bewteen:24,bfd:40,big:[30,34,44],bigger:44,biggest:24,biggestarea:24,bigvia:30,biject:24,bin:[19,24,26,34,40],binari:[34,35,40,44],bind:38,binutil:40,bison:40,bit:[30,32,33,34,44],black:[22,38],bleugri:29,blif:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24],blink:44,blob:42,block:[14,23,33,43],blockag:[30,38,43],blockage:38,bluntli:16,blur:44,boil:30,bood:34,boost:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],booth:34,bootstrap:40,borrow:14,botch:4,both:[19,26,30,32,34,38,40,43,44],bother:12,bottom:[30,34,43],bound:[38,44],bourn:22,box:14,brace:23,branch:4,breakpoint:19,bring:14,brows:[38,44],buf:34,buf_x2:43,buff_32:33,buffer:[4,32,33],bufnewfil:34,bufread:34,bug:[22,38,40,42,44],build:[4,10,12,14,19,24,30,38,39],buildfulladd:[24,26],buildinvertor:[19,20],built:38,bull:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],bunch:12,bundl:40,buri:18,buse:[32,34],buse_8:33,buss:33,button:44,bzip2:40,c2r:[22,40],c30:33,c31:33,c_temp:34,c_x_n:30,c_x_p:30,ca2:[34,35],cach:43,cad:34,cadenc:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],calcul:[34,35],call:[11,12,13,14,16,19,20,21,22,23,24,25,26,32,33,34,35,40,43,44,49],callback:49,calu1:34,calu2:34,calu3:34,calu4:34,calu5:34,calu6:34,calu:34,calux:30,camel:12,can:[1,11,14,18,19,20,21,22,23,24,25,26,30,33,34,35,38,39,40,42,43,44,50],candid:24,cannot:[14,19,23,24,30,33,44],capabl:[14,38,40,43,44],capac:44,capacitor:33,capit:12,captur:4,care:[14,26,34,43,44],carry_1:[24,26],carry_2:[24,26],cast:[11,12],cat:34,catal:38,catalog:[19,21,24,26,38],catchcor:[1,22,38,44],categori:44,caus:[22,40],cbug:44,ccb:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],cdebug:44,ceil:33,cell:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],cell_1:34,cellnet:21,cellstop:38,cellview:[20,44],center:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,34,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],centerend:30,cerr:[11,12],certain:[16,35],cfg:38,cgt:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19],ch_htree_bl_tl:43,cham:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],chang:[11,16,23,24,33,34,38,42,43,44],chaput:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],charact:[33,38],check:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,33,34,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],checkbox:44,checker:30,checkout:40,chip:[4,34,42],chmod:34,choic:4,choos:[1,12,34,44],chosen:[32,34],chotin:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,35,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],chri:[40,41],christian:41,christoph:41,chu:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],cian:39,cif:30,cin:[24,26,34],cinfo:44,circuit:4,circular:34,ck_htree:43,ck_htree_bl:43,ck_htree_bl_bl:43,ckin:[32,34,35],ckok:33,clariti:[11,19],class_nam:34,classic:[14,22,38,40],clean:38,cleaner:24,cleanli:[12,42],clear:[16,43,44],clearer:34,clement:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],click:44,clifford:39,clock:[4,32,33,34,38],clocktre:[38,43],clone:[22,40,44],close:[12,19,20,23,24,26,38,40,42,43,44],closer:34,clue:14,cluster:44,clutter:44,cmake:[0,1,2,3,4,5,6,7,8,9],cmd0:34,cmd1:34,cmd2:34,cmd:[33,34],cmo:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],cnchu:41,cnrs:29,cobject:13,code:[11,12,14,16,19,22,23,24,38,42,43],coher:[23,44],collect:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],collector:23,coloquint:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],color:34,com:[40,47,50,51],combin:[24,40,42],come:44,command:[4,34,40,43],commit:40,common:[12,14,29,30,33,34,38,42,43,44],commpos:44,commun:[12,14,16],comp:11,compar:35,comparaison:34,comparison:[4,32],compat:4,compatibilti:42,compil:[14,40,44],complement:[33,35],complet:[4,10,12,14],completli:[14,19,42,44],complex:[1,14,30],compliant:40,compnent:44,compon:[4,11,14,18],compos:[24,44],compris:44,comput:[1,14,19,24,33,34,35,38,43,44],concaten:34,concept:[19,23,24,28,29],conceptor:[32,34],concret:[11,34],conditionn:33,conf:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],configurationtechnolog:2,confus:24,congest:44,conjunct:44,connect:[18,19,23],connectmap:34,connector:[4,19,30],connexion:[23,32,34],consecut:43,consequ:[11,24,30,42,50],consid:[10,24,30],consisti:40,const_0x0000ffff:33,constant:[4,30,33],construct:[16,23,24,34],constructor:[12,14,16],constructorerror:[12,14,16],constval0:33,constval1:33,constval2:33,constval3:33,constval:33,cont_body_n:[30,34],cont_body_p:[30,34],cont_dif_n:[19,30,34],cont_dif_p:[19,30,34],cont_poly:[19,30,34],cont_turn1:34,cont_turn2:34,cont_turn3:34,cont_turn4:34,cont_turn5:34,cont_turn6:34,cont_via2:30,cont_via3:30,cont_via4:30,cont_via5:30,cont_via:30,cont_viax:30,contact1:24,contact2:24,contact:[11,14,19,24,30,34,44],contain:[10,14,19,20,21,22,23,25,30,34,35,38,42,43,44],contdifn:19,contdifp:19,content:1,conterpart:[7,8,30],contest:44,context:43,contpoli:19,contributor:41,control:[4,14,23,24,30,33,34],conveni:12,convent:[14,19],convers:[4,12,19,21],convert:[12,13,16,19,23,30,35],coodin:34,coordin:[19,23,24,30,32,34,44],copi:[16,23,34,40,44],copuupseg:34,copyright:[41,47,50,51],copyupseg:4,copyupsegmentseccopi:34,cordin:34,core:4,corioli:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,34,36,37],coriolis2:[1,10,19,22,24,26,38,40,42,43],coriolis_install:22,coriolis_top:[1,22],coriolisconfigur:38,coriolisenv:[4,22],coriolisinit:38,corner:[19,24,30,34],corona:[42,43],correct:[34,44],correctli:[26,34],correspond:[32,34,35,44],corrioli:40,cost:44,cougar:30,could:[1,21,23,34,38,43,44],count:[14,43,44],coupl:44,cours:23,cout:[21,24,26,34],cover:30,cpp:[10,12,14],craft:43,crash:[40,44],creat:[10,11,12,14,16],createcel:[19,20,24,26],creation:[4,19,23,24,26,32],creativ:29,creativecommon:29,credit:4,crl:[0,1,2,3,4],crl_cata_lib:34,crlcore:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],crude:44,crypt:1,csh:40,ctrl:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],cumbersom:14,cumulu:40,current:[19,26,34,35,38,40,43,44],cursor:44,cwd:38,cycl:35,cyclop:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],cygwin:40,damien:41,dangl:14,darwin:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],data:[4,33],databas:[12,14,19,21,23,24,32,42,44,50],database:50,datain0:33,datain1:33,datain:33,dataout:33,date:35,dbit:34,dbo:4,dbodeletemethod:[11,12],dbodestroyattribut:[11,12],dbolinkcreatemethod:[11,12,16],dbu:4,debian:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39],debug:[4,20],decim:34,declar:[4,12,19],declar_interfac:4,decod:33,decor:44,decoupl:42,decreas:44,dedic:[1,11,23,34],deep:42,deeper:11,deepli:[18,44],def:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,33,34,35,36,37,38,39,40,41,42,43,44,45,46],defab:4,defaultstyl:[22,38],defaultvalu:38,defin:[10,11,12,14,16,19,30,32,33,34,35,38,42,43,44],define:30,definit:[10,11,12,22],degre:34,delet:[12,14,16,21,23,32,38,44],delta:[30,34],demo:39,demot:30,denser:44,densiti:[38,44],depend:[1,10,30,34,40,42,43],deplib:10,depth:44,deriv:4,derivedobject:11,describ:[25,30,34,35,38,43],descript:[4,11],descrob:34,design:4,design_r:44,desir:34,despit:38,destroi:[11,12,16,21,23],detail:[4,19,22,24,26,38,41,42],detector:33,deterior:34,determin:12,determinist:44,dev:40,devel:[40,42],devel_anabat:[40,42],develop:[4,26],developp:4,devic:44,devtoolset:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],dff:43,dff_4:33,dfft_4:33,diagon:40,dialog:44,dict:[21,34],dictionari:[12,20,21],dictionnari:[12,20,32,34,43],did:[14,25,40,44],differ:[11,16,21,24,30,32,33,34,38,43,44],differenti:44,difficult:[40,44],diffus:30,digit:[26,34],digitalinit:26,dimens:[30,34,44],direct:[11,12,14,16,30,32,34,35,38,44],directdeletemethod:16,directdestroymethod:16,directgetlongattribut:[11,13,16],directionn:16,directli:[14,20,23,25,26,35,40,43,44],directsetlongattribut:[13,16],disabl:[23,35,44],disambigu:30,disclaim:4,disconnect:24,discoupl:43,discrep:25,diseappear:30,displac:44,displai:[12,24,38,44],display:44,distanc:[25,30,50],distinguish:[30,44],distribut:[4,39],disturb:43,ditch:44,divid:35,divis:34,dksdir:25,dl_export:[11,12],dobreak:[19,20,24,26],doc:[16,19,24,26,34,40],dochip:43,document:[2,14,17,18,23,24,28,31,34,36,38,40,42,43,44,45],docutil:40,doe:[12,23,25,34,38,40,42],doesn:[34,44],dogleg:44,don:[12,22,23,40,43,44],done:[12,19,34,38,44],dosometh:[23,43],dot:[42,44],dotfil:41,doubl:14,down:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,34,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],download:[40,44],doxygen:[0,5,6,7,8,9,37,40,43,46],dozen:44,dp_sxlib:38,dpgen:4,dpgenadsb2f:4,dpgenand2:4,dpgenand3:4,dpgenand4:4,dpgenbuff:4,dpgenbus:4,dpgenconst:4,dpgendff:4,dpgendfft:4,dpgenfifo:4,dpgeninv:4,dpgenmux2:4,dpgennand2:4,dpgennand2mask:4,dpgennand3:4,dpgennand4:4,dpgennbus:4,dpgennmux2:4,dpgennor2:4,dpgennor2mask:4,dpgennor3:4,dpgennor4:4,dpgennul:4,dpgenor2:4,dpgenor3:4,dpgenor4:4,dpgenram:4,dpgenrf1:4,dpgenrf1d:4,dpgenrf1dr0:33,dpgenrf1r0:33,dpgenrom2:4,dpgenrom4:4,dpgensff:4,dpgensfft:4,dpgenshift:4,dpgenshrot:4,dpgenxnor2:4,dpgenxnor2mask:4,dpgenxor2:4,dpi:44,drain:30,draw:[19,30,44],drawback:42,drawn:44,drc:30,drive:[33,43],driven:38,drop:[40,42],druc:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,34,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],due:[38,44],dumb:38,dummi:[22,38,40,43],dump:[21,40,42,44],duplic:34,dupui:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],dure:[35,44],durole:41,dvipng:40,dx1:34,dx2:34,dy1:34,dy2:34,dyld_framework_path:40,dyld_library_path:22,dynam:[14,23,33,40],dynamic_cast:11,each:[1,12,14,16,24,30,32,33,34,35,38,43,44],eas:[20,38],easi:34,easier:[30,32,34],easiest:40,easili:[23,38,44],east:[34,43],edg:[30,43,44],edit:40,editor:[4,19,20,24,26,30,32],edu:41,effect:[33,35,44],effort:[26,38,44],egin:35,ego:20,eight:34,either:[12,30,33,34,35,40,43,44],el7_64:40,electr:23,electric:30,element:[1,19,21,32,44],elif:34,els:[1,11,12,14,16,34,38],emit:12,empti:[29,33,44],emul:[12,40],enabl:[4,33],encapsul:[4,11,12],encompass:14,encount:50,encrypt:1,end:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],endif:[11,12,14,16],endl:[11,12,21],endswith:[21,38],enforc:24,eng:41,engin:26,engineloadgrbynet:26,enginenonetlayerassign:26,enough:[24,34,43],enrich:23,ent:11,enter:44,entir:14,entiti:11,entitycast:11,entri:[22,38,43,44],enumer:[34,38],env:34,envelop:34,envenli:44,environ:[4,19],epel:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],eplac:44,eponym:[43,44],equal:[33,34,44],equip:39,equival:[23,24,34,44,50],eras:[43,44],error:[1,4,11,12,14,26,33],esc:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],escap:44,escassut:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],especi:19,essai:34,essenti:[40,44],etc:[1,19,22,29,34,38,40,43],etesian:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],etesianengin:26,eval:[22,40],even:[24,30,33,42,43],event:[35,44],eventslimit:44,ever:21,everi:[12,32,34,38,44],everybodi:26,everyth:[12,38,44],exacltli:30,exact:[19,43],exactli:[20,30,40,43,44],examin:40,exampl:[1,4,10,11,12,13],except:[12,19,32,34],excess:44,execut:4,exempl:[32,34,44],exist:[1,21,22,34,38,44,50],exit:[43,44],expand:30,expansion:34,expect:[1,13,24,38,43],expens:13,experi:44,explain:24,explan:[19,44],explanat:30,explanatori:[12,23],explicit:[13,19,24],explicitli:23,expor:44,expos:[12,14,21],exposur:14,express:[19,23,25,30,34,38,44,50],ext:30,extand:34,extend:[30,32,34],extens:[4,19,20],extent:[38,43,44],extern:[11,12,14,16,19,23,24,32,34],extra:[38,40,44],extract:[12,35],extractor:30,extreme:38,face:34,facil:4,fact:[11,14,39],factor:[42,44,50],fail:[11,12,44],failsaf:44,failur:44,fairli:44,fall:40,fals:[1,11,12,22,32,33,34,38,44],familiar:[14,28,29],fanci:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],far:[14,31],fashion:14,fast:[38,44],fc13:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],fc23:40,fc_64:40,featur:44,fedora:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],feedthru:44,feel:23,fgr:44,fhs:40,field:[11,12,16,44],fifo:33,fifo_4_16:33,figur:[30,34,44],file_nam:34,filenam:[34,35,38],filesystem:[1,40],fillcel:4,filler:24,filler_1:24,filler_2:24,filter:[4,24],find:[24,34,38,40],fine:44,finger:44,finish:[19,32,34],first:[4,10,12],fit:[19,20,24,26,34,44],five:30,fix:[4,19,30,35],flag:[19,23,24,26,30,33,40,44],flatten:[18,43,44],flavor:[12,16],flex:40,flip:33,flop:33,flow:[4,34],flute:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],fly:24,follow:[10,11,12,14,19,23,30,33,34,35,38,40,43,44],fonction:34,font:40,footprint:44,forc:[12,35,43,44],forens:40,forget:22,forgot:1,forgotten:34,form:[1,34,38,44],format:[1,25,34,35,42,44],found:[14,19,24,26,34,38,40],founder:30,foundri:[19,30,42,43],four:[12,30,33,43,44],fourth:33,framework:[19,21,24,26,40,42],franck:30,free:[26,44],freebsd:40,freed:23,freedpk:22,freepdk45:25,freepdk:25,freepdk_45:[1,22],french:40,from:[11,12,13,14,16,19,21,23],fromlambda:[19,23,24,26],ftp:39,full:[1,33],fulladd:[24,26,34],fulli:[19,26,42,43],fuse:[19,23],futur:14,gabriel:41,gap:44,garbag:23,gate:[30,33,44],gaug:[30,38,43,44],gcc:40,gcell:44,gdb:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],gdsii:44,gener:[0,4,5,6,7,8,9],generic_method_head:[11,12,16],genlib:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],geometr:[30,34,43],get:[12,13,14,18],get_cata_lib:32,getcel:[11,12,21,24,26],getcompon:21,getdb:[19,24],getenv:38,getheight:11,gethostnam:1,getlay:[19,24],getmasternet:24,getnam:21,getnet:[11,21,24,26],getobjectid:[12,16],getplug:[24,26],getrefxy:4,getstr:[23,44],gettechnolog:[19,24],getwidth:11,getx:[11,13,16],gety:[11,16],ghdl:34,gigant:14,git:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],github:40,give:[10,11,19,30,32,33,34,42,44],given:[11,12,14,19,20,24,30,32,33,34,35,38,40,43,44],global:[4,12,24,30,38,41,42],globallengththreshold:44,globalripuplimit:44,gnu:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],goal:23,goe:14,good:[10,44],gouvin:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],gpl:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],graal:30,graphic:[4,22,38,40,42,43],graphviz:40,great:43,greater:[34,42],grew:44,grid:[4,19],ground:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,32,33,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],group:[23,42],gscl45nm:25,guarded:33,gui:40,guid:4,hack:4,had:30,halfadd:34,hand:30,handl:[19,34,43],hard:[33,38],has_kei:[19,20,24,26,38,43],hasn:44,have:[1,11,12,14,16,19,21,23,24,26,30,32,33,34,35,38,40,42,43,44,50],haven:34,hcatch:[11,12,13,14,16],head:4,header:4,hecadecim:34,height:[11,14,29,30,34,44],help:[20,40],helper:[4,12,22],here:[0,5,6,7,8,9,12,14,24,25,30,35,37,38,39,40,44,46,47,50,51],herit:32,hesit:43,hexa:34,hexadecim:[34,35],hfill:29,hidden:42,hide:44,hierach:34,hierarchi:4,high:[26,38,44],highest:44,highlight:4,highlit:44,himself:[32,34],histor:30,hmeti:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],hoc:[42,44],hold:[11,14,19,44],holder:18,hole:30,home:[1,20,25,34,38,40,41],homedir:38,hook:[4,12],hope:14,horizont:[11,19,23,24,30,34,43,44],hostnam:1,how:[4,18,19,21,23,24,30,33],howev:38,href:29,hspace:43,html:[34,39,40],htrackreservedloc:44,htracksreservedloc:44,htry:[11,12,13,14,16],http:[29,39,40,41,47,50,51],huge:29,hugo:41,hundredth:19,hur_techno_name:34,hurricaneerror:11,hurricaneplug:32,hwidth:43,hypernet:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17],i0_20:34,i386:40,iastat:41,idea:44,ident:[11,34,38,44],identifi:[38,43,44],ifndef:[11,12,16],illegal:34,illustr:[19,24,25,43],imag:[29,44],imcomplet:42,immediatli:44,implant:30,implement:[12,14,23,26,38,42,44,49],implemet:38,impli:[16,23],imposs:34,improv:44,improve:42,in0:34,in1:[33,34],in2:[33,34],in3:[33,34],in4:33,in_lo:38,in_ph:38,includ:[10,11,12,14,16,23,34,40,42,44],include:40,includegraph:29,inclus:44,incompat:34,increas:[30,44],inde:44,indeed:[32,34],indent:23,index:[30,34,49],indic:[32,34],indirect:11,individu:[30,44],infinit:[22,40,44],info:[22,38,44],inform:[14,19,20,30,44,50],inherit:[12,32],init:[12,16],inithurrican:[11,12],initi:[11,12,35,38,44],initialis:[4,12,22,32,34,35],innov:42,inout:[32,34],input:[32,33,34,35,42],insert:[19,38,43],insid:[12,19,20,26,30,43,44],inspect:44,inspector:4,inst:[32,33,34],inst_adsb2f:33,inst_and2:33,inst_and3:33,inst_and4:33,inst_buff:33,inst_bus:33,inst_const:33,inst_dff:33,inst_dfft:33,inst_fifo:33,inst_inv:33,inst_mux2:33,inst_nand2:33,inst_nand2mask:33,inst_nand3:33,inst_nand4:33,inst_nbus:33,inst_nmux2:33,inst_nor2:33,inst_nor2mask:33,inst_nor3:33,inst_nor4:33,inst_nul:33,inst_or2:33,inst_or3:33,inst_or4:33,inst_ram:33,inst_rf1:33,inst_rf1d:33,inst_rom2:33,inst_rom4:33,inst_sff:33,inst_sfft:33,inst_shift:33,inst_shrot:33,inst_xnor2:33,inst_xnor2mask:33,inst_xor2:33,instal:[1,10,19,22,24,25,26,38,40,44],install:4,installat:4,instanc:[4,14,19,23],instanci:[4,11,32],instanciat:[4,32],instanti:4,instantiat:[32,34],instead:[1,11,14,16,22,25,34,40,44],instens:38,insti:33,insto:33,instop:33,instruct:[34,40,44],instshamt:33,insul:12,integ:[19,35,38],integer_word_length:35,integr:[12,42,43],intend:44,interact:20,interfac:[4,12,14,19,22,23,24,32,33,34,35,38,42],intermedi:4,intern:[32,34,35],internat:29,interpret:[22,43],interrupt:12,intersect:30,intert:33,interv:34,introduc:[19,42,43,44],introduct:4,inv:34,inv_54:33,inv_x1:21,invalid:[11,12,14,16],inversor:34,invert:[30,33],inverter:33,invertor:[19,20],invok:34,iopadgaug:43,iowa:41,isdir:[1,38],isn:[34,35],isobar:[10,11,12,13,14,16],isobar_py_component_h:11,isobar_py_contact_h:11,isobar_py_entity_h:11,isobar_py_point_h:16,ispd:44,ispycompon:11,ispycontact:11,ispyentiti:11,ispyhorizont:11,ispylibrari:12,ispypoint:16,ispyvert:11,issu:[14,26],istself:10,ital:44,item:44,iter:[21,44],itself:[1,12,30],iwl:35,jean:[29,41],json:42,just:[13,14,20,21,24,25,30,34,38,40,44],katabat:[0,1,2,3,5,6],katana:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25],katanaengin:26,keep:[16,26],kei:[12,32,34,43,44],kept:30,keyword:20,kgr:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],kind:[1,19,21,22],kit:8,kite:[0,1,2,3,5,6,7],knife:44,knik:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],know:[12,40,43],known:[24,44,50],kwarg:16,laboratori:29,lambda:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29],lanch:22,lang:40,langag:1,languag:[4,34,35],larg:[29,44],last:[12,35,38,40,44],lastli:[1,12,16],latch:33,later:[16,19,24,42,44],latest:34,latex:40,lauch:43,launch:[20,22,40,43],layer:4,layerassign:26,layout:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],layoutt:38,lbd:19,lcw:30,ld_library_path:22,lead:44,leaf:[18,43,44],least:[38,40,43],lef:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24],lefconvertfactor:50,lefdef:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],lefimport:25,lefimporttmpcel:50,left:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,33,34,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],legal:[34,35,42],leght:34,lenght:34,length:[19,30,35],lepka:[22,40,43],less:[14,30,44],let:[16,24,44],letter:34,level:[11,12,13,14,18,19,20,24,30,38,40,42,43,44],lex:40,lgpl:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],lib:[12,25,40,44],libboost:40,libbz2:40,liberti:44,libisobar:14,libqt5svg5:40,libqwt5:40,libqwt:40,librari:[4,10,11],libstdc:40,libxml2:40,licens:[4,29],life:[16,30],like:[11,12,14,20,21,22,23,26,32,33,34,38,40],limit:[23,24,44],line:[4,40,43],linear:44,linebreak:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],link:4,linker:14,linux:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],lip6:[29,39,40],list:[4,10,21,24,32],listdir:38,littl:[20,30,44],live:[14,44],load:[4,19,20],loader:[25,42],loadglobalrout:26,local:[1,38,40,44],localinstal:40,localripuplimit:44,locat:[34,43,44],lofig:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],log2:33,log:44,logic:[8,19,23,24,25,34,35,42,44],logiciel:39,logicin:32,logicinout:32,logicout:32,logicunknown:32,logmod:[1,22,38,44],logo:29,logocc:29,longer:[14,40,44],longglobalripuplimit:44,look:[4,12,16,19,25,38,40],loop:[21,22,33,34,40,44],lot:[24,50],low:44,lower:[19,24,33,34,38,44],lowercas:[12,19],lsb:[32,34],lybrari:12,maco:40,macos:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39],macport:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],macro:[10,11,12,14,16,33,44,50],made:[14,24,25,26,30,32,33,34,40,43,44],mai:[14,16,19,20,21,22,23,24,30,34,38,40,43,44],mailto:29,main:[23,40,42,44],mainli:[38,42,44],maintain:44,make:[12,18],makefil:40,manag:[14,19,23,25,42,43],mandatori:[12,19,22,32,33,34,38],mani:[14,23,30,34],manipul:13,manual:[4,14],map:[4,21,32,33],marek:41,margin:[26,38,44],mark:35,mask:33,masson:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],master:[14,24,26,32,40,42,44],mastercel:[32,34],masterlibrari:12,masternet:24,match:[21,34,38,44],materi:44,matrix:30,mauka:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],max:38,maxim:44,maximum:44,maxtracelevel:[38,44],mayb:34,mbk:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],mbk_:19,mbk_to_rds_bigvia_hole:4,mbk_to_rds_bigvia_metal:4,mbk_to_rds_segment:4,mbk_to_rds_via:4,mbk_wiresetting:4,mean:[14,21,23,25,30,34,38,40,44,50],meaning:[30,33,34],mechan:[12,14,16,18],medskip:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],member:42,memento:4,memori:[19,21,23,43,44],menu:[20,42,44],merg:32,messag:[19,20,24,44],metal1:[19,30],metal2:[24,30],metal3:24,metal5:44,metal:[30,44],meth_noargs:[11,12,16],meth_static:[11,12],meth_varargs:[11,12,16],method:[4,12,13,14,16,23,30],method_head:[11,12,16],micromet:[30,50],micron:25,microns:50,middl:34,migrat:42,million:44,miloyip:40,mimic:[12,38],min:38,minim:30,minimum:[43,44],minimumsid:43,minipag:41,minor:[38,40,44],mintracelevel:[38,44],minut:44,mip:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],mirror:43,misc:[1,22,38,44],miscellan:4,miss:44,mistak:[12,19,34],mistral:34,mix:[7,8,14,26,40],mkdir:40,mode:4,model:[4,19,23,24,30],modelnam:[33,34],modif:[19,21,34,40,44],modifi:[16,21,22,34,40,43,44],modul:[4,10],modular:14,modules_stratu:34,mofi:20,monolith:14,more:[1,11,19,21,23,30,34,38,39,40,42,44],moreov:14,mosi:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],most:[34,38,44],mostli:[10,23,44],mount:1,mous:44,movabl:44,move:44,msb:[32,34],much:[14,32,34,38,44],multipl:[25,30,34,42,44,50],multiplex:33,multiplexor:[4,32],multipli:[30,34],must:[1,10,11,12,14,19,20,22,23,24,25,30,34,35,38,40,43,44],mutat:12,mux2_8:33,mux:[32,34],mx2:34,my_addaccu_:34,my_and2_4bit:34,my_dpgen_and2:34,my_inv:19,myclass:[32,34],myfunc:23,myinst1:34,myinst2:34,myinst3:34,myinst:34,mylib:38,mymap:32,mynet:34,myparam:32,myref:34,myself:18,na2:34,na3:34,na4:34,name:[4,10,11,12,14],namespac:[4,10,11],nand2:33,nand2_8:33,nand2mask_0x0000ffff:33,nand3:33,nand3_20:33,nand4:33,nand4_9:33,nand:33,narrow:44,navig:21,nbit:[33,34],nbit_cmd:33,nbsp:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],nbuse29:33,nck:38,ncsu:25,nda:1,ndadirectori:1,ndif:[19,30,34],nearest:43,need:[10,11,12,14,16,19,22,23,24,26,30,34,38,40,42,44],neg:34,neither:[12,34],nero:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],net8:34,net:[4,11,14,18],neta:34,netb:34,netc:34,netck:34,netcmd:34,netcout:34,netexternalcompon:[19,24],neti0:34,neti1:34,netin:34,netinput:32,netlist:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23],netnam:34,neton:34,netout:34,netq:34,nets:34,netv:34,netvdd:34,netvss:34,network:1,never:21,nevertheless:34,newli:[19,34],newnet:34,newpag:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],next:[34,35,40],nimbu:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],nmux2_5:33,nmx2:34,nnnn:44,no2:34,no3:34,no4:34,noflag:26,noindent:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],non:[4,12,14],noncommerci:29,none:[19,20,24,26,32,38,43,44],nor2:33,nor2_8:33,nor2mask_000111:33,nor3:33,nor3_3:33,nor4:33,nor4_15:33,nor:[12,33,34],normal:[26,44],normals:29,north:[34,43],nosym:[33,34],notat:[32,34,44],note:[4,11,12,30,33,34,40],now:[11,24,40,42,44],nterfac:35,ntie:[19,30,34],ntran:[19,34],ntrans:[19,30,34],nul:33,nul_4:33,number:[12,14,16,19,30,32,33,34,35,43,44],nutshel:40,nwell:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,34,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],nword:[33,34],nxr2:34,nymous_:21,o2_1:[24,26],o2_x2:[24,26],ob_typ:[11,12,16],object:[11,12,13,14,16,19,20,21,23,24,30,34,38,44],observ:35,obsolet:42,obtain:[30,34,44],obviou:[16,44],obvious:[14,43],obviousli:[14,24,30,43],occur:[14,19,33,34,40],occurr:11,ocp:30,octal:35,odd:[30,43],off:[14,30,34],offset:[30,34],offsetx:34,offsety:34,often:[30,44],old:[14,26,40,42],older:44,ommit:44,onc:[12,14,34],once:[19,43,44],one:[11,24,33,34,43,44],onli:[11,13,14,18,19,20,21,23,24,25,26,30,32,33,34,35,38,40,42,43,44],only:[12,32,33,34,40],open:[19,20,23,24,26,32,34,44],opencham:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],oper:[4,14,23,24,32,33],operand:33,operat:33,opt:40,optim:[33,40],option:[4,12,20,22,32,33,34,35],optional:35,optionali:1,optionn:[33,34],or2:[33,34],or2_8:33,or3:33,or3_5:33,or4:33,or4_16:33,order:[21,24,32,33,34,38,40,44,49],ordere:43,ordinari:[24,38,43],ored:33,org:29,organ:[12,21],organis:42,orient:30,orientat:24,origin:[14,30,44],osu_soc:25,other:[12,13,14,19,20,23,24,30,34,35,38,40,41,42,43,44],otherwis:[14,32,33,34,44],ouput:33,our:[12,14,23,38,40],out:[14,32,33,34],out_lo:38,out_ph:38,outdat:40,outer:42,outil:34,outlin:44,output:[32,33,34,35,42,44],outsid:[10,19,21],over:[13,21,24,26,30],overal:44,overflow:33,overhang:30,overlap:[30,44],overload:[12,19],overloard:[32,34],overrid:22,overwritten:44,own:[11,34,38,40,42,44],owner:19,p_a0:43,p_a1:43,p_a2:43,p_a3:43,p_b0:43,p_b1:43,p_b2:43,p_b3:43,p_cin:[34,43],p_ck:43,p_cout:[34,43],p_d0:43,p_d1:43,p_d2:43,p_d3:43,p_f3:43,p_i0:43,p_i1:43,p_i2:43,p_i3:43,p_i4:43,p_i5:43,p_i6:43,p_i7:43,p_i8:43,p_ng:[34,43],p_noe:43,p_np:[34,43],p_ovr:43,p_q0:43,p_q3:43,p_r0:43,p_r3:43,p_vddeck0:[34,43],p_vddeck1:[34,43],p_vddick0:43,p_vsseck0:43,p_vsseck1:[34,43],p_vssick0:[34,43],p_y0:43,p_y1:43,p_y2:43,p_y3:43,p_y:34,p_zero:43,packag:4,pad:[4,19],pad_east:32,pad_north:32,pad_south:32,pad_west:32,padeast:34,padlib:38,padnorth:34,padsouth:34,padwest:34,page:[24,49],pagestyl:29,pair:[19,34,43],paper:44,para:34,paradigm:38,parallel:40,param:[4,32,33],paramet:[4,12,14,16,24,26],parameterst:[1,22,26,38],parametertyp:38,paramid:38,paranoid:[22,38],parent:12,pars:[11,34],parser:[30,42],part:[4,11],partial:[11,14,42],particular:[12,20,23],partit:43,paseast:34,pass:[14,24,43],paswest:34,pat:35,patamet:34,path:[1,4],pathnam:34,patli:30,pattern:[4,32],pattern_begin:4,pattern_end:4,patwrit:4,paul:[29,41],pdf:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],pdif:[19,30,34],peopl:14,per:34,percentag:[38,44],perform:[12,33,34,38,40,42,43,44],perhap:44,peripheri:34,permit:[33,34],persist:14,phfig:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],phseg:30,phvia:30,physic:[4,19,23],physical:34,physical_grid:30,pictur:[34,44],piec:34,pin:[23,24,34,50],pitch:[30,34],pixel:44,pixmap:44,place:[4,14,18,19,23],placeandrout:26,placebottom:4,placecentr:4,placecontact:4,placed:24,placeglu:4,placeleft:4,placement:[4,24,26,32,34,38,42],placementstatu:24,placepin:4,placer:4,placeref:4,placeright:4,placeseg:4,placetop:4,plain:13,plane:43,pleas:[19,34,40],plot:34,plu:34,plug:[18,19,23],plugin:4,point1:34,point2:34,point:[12,13,14,16,19,23,24,30,34,35,38,43,44],pointer:[11,12,14,16],poli:[19,30,34],polici:38,poly:[19,30,34],polysilicium:30,pop:33,popup:44,port:[32,34,35,40,42],posit:[19,30,34,43,44],possibl:[12,20,23,24,30,34,38,40,43,44],postfix:43,power:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23],powerr:4,practic:[10,30],pre:[40,44],preced:35,precis:[14,19,34,50],preclud:42,predic:12,prefix:[30,43],preliminari:42,prepend:38,prerequisit:40,presenc:11,present:[11,21,23,44],press:44,pretti:[25,38],prevent:43,previou:[30,34,38,40,44],previous:[11,12,26,43],print:[1,4,21,23,38],printabl:[2,17,28,31,36,45],printer:44,prior:[19,25,26,44],problem:42,proce:40,procedur:[34,35,36,44],process:[21,22,24,34,38,42,44],produc:35,profil:40,progess:23,program:[12,14,34],programm:33,progress:20,project:40,propag:[43,44],properti:[12,35],proprieti:35,protocol:21,provid:[1,4,12,13,14,19,22],proxyerror:13,ptie:[30,34],ptqt4:40,ptran:[19,34],ptrans:[19,30,34],pub:[39,40],pull:40,pure:[22,23,38,44],purist:30,purpos:[20,34,44],push:33,pust:34,put:[12,14,16,30,34,38,42,43,44],pwell:[30,34],pxlib:[38,43],py_incref:[11,12],py_initmodul:[11,12],py_library_h:12,py_return_none:[11,13],pyany_aslong:[13,16],pyarg_parsetupl:[12,13,14,16],pycel:[11,12],pycell_link:[11,12],pycfunct:[11,12,16],pycompon:[11,14],pycomponent:11,pycomponent_destroi:11,pycomponent_getnet:11,pycomponent_getx:11,pycomponent_gety:11,pycomponent_link:11,pycomponent_linkpytyp:11,pycomponent_method:11,pycomponent_o:[11,14],pycontact:11,pycontact_cr:[11,14],pycontact_destroi:11,pycontact_getheight:11,pycontact_getwidth:11,pycontact_link:[11,14],pycontact_linkpytyp:11,pycontact_method:11,pycontact_o:11,pycpp:10,pydatabas:12,pydatabase_o:12,pydatabse_o:12,pydbu_fromlong:13,pyentiti:11,pyentity:11,pyentity_destroi:11,pyentity_getcel:11,pyentity_link:11,pyentity_linkpytyp:11,pyentity_method:11,pyentity_new:11,pyentity_o:11,pyerr_clear:14,pyerr_setstr:[11,12,13,14,16],pyhorizont:11,pyhorizontal_link:11,pyhorizontal_o:11,pyhurrican:[10,11,12,16],pyhurricane_method:[11,12],pyinclud:10,pyinstanc:14,pyinstance_link:14,pylay:14,pylayer_o:14,pylibrari:[10,12,14],pylibrary:12,pylibrary_cr:12,pylibrary_dealloc:12,pylibrary_destroi:12,pylibrary_getcel:12,pylibrary_link:12,pylibrary_linkpytyp:12,pylibrary_method:12,pylibrary_o:12,pymethoddef:[11,12,16],pymodule_addobject:[11,12],pynet:[11,14],pynet_link:11,pynet_o:14,pyobject:[11,12,13,14,16],pyobject_head:[11,12,16],pyobject_new:16,pypoint:[13,16],pypoint_dealloc:16,pypoint_getx:[13,16],pypoint_gety:16,pypoint_init:16,pypoint_link:16,pypoint_linkpytyp:16,pypoint_method:16,pypoint_new:16,pypoint_o:16,pypoint_setx:[13,16],pypoint_sety:16,pyqt4:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],pyqt5:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],pyqt:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],pyseg:11,pystring_asstr:12,python27:40,python2:40,python:[0,1,2,3,4,5,6,7,8,9,10],pythoncpp:17,pythonpath:[22,44],pythontutori:28,pytype_ready:[11,12],pytype_ready_sub:11,pytypecompon:[11,14],pytypecontact:11,pytypeent:11,pytypeinheritedobjectdefinit:11,pytypelay:14,pytypelibrari:[10,12],pytypenet:14,pytypeobject:[11,12,16],pytypeobjectdefinit:[12,16],pytypeobjectlinkpytyp:[11,12],pytypeobjectlinkpytypenewinit:16,pytypepoint:16,pytyperootobjectdefinit:11,pyvert:11,pyvertical_link:11,pyvertical_o:11,qt4:40,qt5:40,qtbase5:40,qtbase:40,qtsvg:40,quadri:43,quadruplet:38,quadtre:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],qualiti:44,quantiti:44,quarter:43,queri:19,quit:[32,44],qwt:40,rail:4,ram:[33,43],ram_32_32:33,ram_ct:43,ramlib:38,rang:[34,35],rapidjson:40,rather:44,ratio:[26,38,44],rcw:30,rds:4,rds_activ:30,rds_alu1:30,rds_alu2:30,rds_alu3:30,rds_alu4:30,rds_alu5:30,rds_alu6:30,rds_cont:30,rds_gate:30,rds_ndif:30,rds_nimp:30,rds_pdif:30,rds_pimp:30,rds_poly:30,rds_via1:30,rds_via2:30,rds_via3:30,rds_via4:30,rds_via5:30,reach:[14,44],reachabl:44,read:[12,33,38,42,50],readabl:44,readi:19,real:[4,12,19,21],realli:[40,44],reason:30,recent:[30,34],recommand:44,recommended:35,record:44,rectang:30,rectangl:30,recurs:4,red:44,redefin:[11,38],redefinit:11,redhat:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39],redirect:44,redraw:44,redund:30,ref:33,refin:12,reflect:44,refnam:34,refresh:[32,34,44],reg:[32,34],regard:[23,34],regener:40,regex:40,regexp:38,regist:[4,10,12,32,33],regnumb:33,rel:[19,30,34,35,40],relat:[11,16,24,35,38,40,44],releas:[4,40,41],relev:[11,12,43],reli:[14,30,40,44],reload:44,remain:[11,12,16,21,44],remark:[11,38,44],rememb:11,remind:18,remov:[21,43,44],ren:33,renam:[43,50],render:44,reopen:20,reorganis:43,repeatedli:44,replac:[23,38,42,44],replic:12,repositori:[39,40,42],repoview:39,repres:[24,30,34,35,44,50],represent:44,request:[21,33,43],requir:[4,14,32,38],reserv:44,reset:[12,33,44],resizeab:4,resolut:[23,44],respect:[14,38,44],respons:[12,44],rest:[20,26],restart:[43,44],restructuredtext:40,result:[12,14,20,21,23,24,33,38,44],retain:14,revers:[11,14],revert:[40,42],rewrit:[14,42],rewritten:[42,44],rf1_4_16:33,rf1d_4_16:33,rf2lib:38,rflib:38,rhel6:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],rhel7:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],rhel:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],right:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,33,34,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],ring:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,34,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],rip:44,ripup:44,ripupcost:44,rise:[30,34],risk:30,rok:33,rom2_0b1010_0b1100:33,rom4_0b1010_0b1100_0b1111_0b0001:33,rom:33,romlib:38,root:[1,12,14,19,24,26,38,40],roselyn:[35,41],rot_m:34,rot_p:34,rotat:[24,33,34],rotop:33,rout:[4,23,26,30,32],routabl:44,routag:44,routageck:34,routeck:4,router:[4,19],routingdriven:[38,44],row:24,rowend_x0:24,rp1:24,rp2:24,rpm:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],rsave:4,rubber:44,rule:[30,43,44],ruler:44,run:[19,20,22,25,26,34,38,40,43,44],runglobalrout:26,runnabl:19,runnegoci:26,runtim:44,s2r:30,safe:40,safeti:44,sai:[14,22,24,40,43],said:19,sake:[11,19],same:[10,11,14,19,21,24,30,32,34,35,38,44],sarri:33,satur:44,saturateratio:44,saturaterp:44,save:[4,11,12],savecel:[19,24,26],scale:29,scan:33,scarri:44,scheme:[40,43,44],scientif:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],scin:33,scn6m_deep_09:38,scope:23,scout:33,screen:44,script:[1,4,19],scriptmain:[19,20,24,26,43,44],scrub:12,search:[21,38,49],second:[1,4,14,19,24,30,33,34],section:[38,40,50],secur:38,see:[12,14,19,20,23,24,30,32,34,35,38,40,43,44],seem:[30,34,40,42,50],seen:[12,26],sefl:34,segment:[4,19,24],sel0:33,sel1:33,sel:33,select:[4,24,33],self:[11,12,13,16,23,32,33,34,35,38],selr:33,selram:33,selw:33,semant:23,send:30,sens:44,sensit:34,sentinel:[11,12,16],separ:[1,12,14,30,32,40,42,43,44],sequenc:[26,34,44],sequenti:38,serv:[7,8],set:[1,4,10,12,13],setabutmentbox:[19,20,24],setadd:34,setand:34,setbuff:34,setcel:[19,20,24,26],setcomp:34,setdiv:34,seteditor:43,setextern:[19,24,26],setglob:[19,24,26],setmult:34,setmux:34,setnet:[24,26],setnot:34,setor:34,setplacementstatu:24,setrefin:4,setreg:34,setshift:34,settermin:[19,20],settransform:24,setup:[12,19,22,26,38,40],setx:[13,16],setxor:34,sety:16,seven:44,sever:[14,32,34,44],sff2:34,sff3:34,sff:34,sff_4:33,sfft_4:33,shadow:21,shamt:33,shape:[26,30],share:[4,10,11],sharealik:29,she:11,shelf:14,shell:[22,34,40],shellsuccess:43,shift:[32,33,34,44],shifter:[4,32,33],shifter_4:33,ship:42,shortcut:4,should:[14,16,22,34,35,40,44],shouldn:30,show:[14,19,21,30,38,44],shown:[12,30,34,38,43],shrot_4:33,si2:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],side:[30,34,43,44],sig:32,sign:[33,34,38],signal:[4,7,8,24,32,33],signalin:[33,34,35],signalinout:[33,34,35],signalout:[33,34,35],signalunknown:34,signatur:[11,12,14],silli:30,similar:[11,44],similarli:35,simpl:[4,25,30,38],simpler:40,simplest:[1,19,38],simpli:[19,21,30,34],simplif:43,simplifi:[22,24,34,40],simul:[34,35,42],sinc:21,singl:44,site:38,size:[30,33,34,35,43,44],skip:21,slanski:34,slice:34,slight:23,sligthli:40,slot:44,slow:44,slsoc6x:40,slsoc6x_64:40,slsoc:39,small:[26,28,29,30,34,38,43,44],smallest:[33,50],smallskip:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],snapshot:4,snx:25,soc:[38,39,40],socket:[1,44],softwar:4,sole:20,solut:44,solv:44,some:[4,14,19,21,23,30,32],someth:[19,23],sometim:24,somewhat:24,sophi:[32,33,34,41],sorbonn:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],sourc:[19,30,34,40,42,44],sout:[24,26,34],sout_1:[24,26],south:[34,43],space:[26,30,34,38,43,44],spacemargin:[26,38,44],span:16,spec:40,special:[12,22,23],specif:[1,12,23,38,43,44],specifi:[33,34,44],speed:44,speedup:42,sphinx:40,spl1:34,split:[14,43,44],spread:[26,44],squar:[26,30],src:40,sroka:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],st_config:34,stabl:[40,42],stack:12,stage:4,stai:30,stamp:35,stand:[39,44],standalon:4,standard:[12,14,16],standard_instances_list:32,standart:[40,43],standpoint:30,start:[23,30,34,44],starter:18,startswith:1,state:[19,21,23,24,26,41,44],statement:50,static_cast:[11,13],statu:24,stechno:43,step:[11,12,30,34,38,40,43,44,50],still:[11,16,31,40,42,44],stimuli:4,stimulu:35,stl:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],stop:[19,20,24,26,43,44],storag:50,store:[12,13,19,23,33,44],straightforward:25,straigthforward:24,strap:44,strapripuplimit:44,strategi:43,stratu:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31],stratus1:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],stratus2:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],stratus:34,stratus_mapping_name:34,stream:44,strict:[24,30],string:[12,19,23,33,34,35,38],strip:40,stroke:44,strongli:44,strongly:35,struct:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],stuck:[30,33],stuf:43,stuff:32,stupid:1,style:[12,44],sub:[22,34,35,43],subject:44,subsequ:50,substract:[33,34,44],substractor:33,subtli:21,succe:44,success:43,successful:44,successfulli:[40,44],sudo:40,suffer:44,suffic:44,suffix:43,suit:44,summar:23,summari:43,superpos:44,supli:33,suppli:[12,19],support:[10,12,14,16,23,26,35,40,42,44],suppress:44,sure:43,svn:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],swig:14,swiss:44,sxlib:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,34,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],sy_rm:34,sy_rp:34,sym:34,sym_x:34,sym_y:34,symbol:[4,12,19,22,25],symetr:34,symetri:[32,34],symmetri:24,symxy:34,sync:44,synch:44,synonym:26,synopsi:4,syntact:38,syntax:[4,12,23],synthesi:[4,25],synthet:[4,25,42,43],system:[1,24,34,38,40],system_library:38,tab:[4,24,32,34,38],table:30,tailor:12,take:[1,12,19,20,26,34,35,44],taken:[14,34,35],talu1:34,talu2:34,talu3:34,talu4:34,talu5:34,talu6:34,talux:30,target:[19,30],task:[11,22,40,44],taxonomi:38,technic:4,techno:1,technolog:1,tediou:[22,24,40],tee:44,tell:[12,19,22,30,32,33,38,40,43],temp:34,temp_ext:34,tempext:34,templat:14,temporari:50,ten:14,term:[34,41],termin:4,terminolog:19,test:[4,32],testbench:34,texliv:40,text:[34,43,44],textbf:29,textsc:29,textwidth:41,than:[14,30,34,42,44],thank:[14,32,34,43,44],thei:[12,14,19,21,22,23,30,32,34,38,40,42,43,44],them:[12,14,23,26,30,40,43,44],therefor:[24,33],thesi:44,thi:[1,2,11,12,14,16,17,18,19,21,22,23,24,26,28,29,30,31,32,33,34,35,36,38,40,42,43,44,45,50],thing:35,third:[24,30,33,40],thispagestyl:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],those:[11,12,21,22,24,30,32,33,34,38,40,43,44],though:14,three:[1,10,12,24,30,33,44],through:[12,14,18,19],througout:30,thu:[12,23,38,44],tie:30,tie_x0:24,time:[11,14,34,35,44],tmp:23,todai:19,todbu:[19,20,24,26],togeth:[33,42],toggl:44,tolambda:19,too:[14,26,30,34,44],tool:[4,14,20,22,23],toolchain:44,toolengin:26,toolkit:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],top:[34,40,43,44],topolog:44,toproutinglay:44,total:44,toward:[14,22,34],tp_compar:12,tp_dealloc:12,tp_hash:12,tp_init:16,tp_method:12,tp_new:16,tp_repr:12,tp_str:12,trace:[12,44],track:44,track_spacing_alu1:30,track_spacing_alu2:30,track_spacing_alu3:30,track_spacing_alu4:30,track_spacing_alu5:30,track_spacing_alu6:30,track_spacing_alu7:30,track_spacing_alu8:30,track_width_alu1:30,track_width_alu2:30,track_width_alu3:30,track_width_alu4:30,track_width_alu5:30,track_width_alu6:30,track_width_alu7:30,track_width_alu8:30,transform:[12,23],transistor:30,transit:35,translat:[24,30],transmiss:14,transpar:30,tricki:14,trigger:[38,44],tristat:[32,33,34,35],tristate:32,trough:43,truli:38,trunk:38,tty:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],tupl:[1,38],turn:[19,24,43,44],tutori:4,tweak:44,twenti:34,twentu:34,twice:[14,21,34],two:[11,14,18,19,20,22,23,24,26,30,32,33,34,35,38,40,42,43,44],type:[1,4,10,11],typebool:[1,22,26,38,44],typedef:[11,12,13,16],typedoubl:38,typeenumer:[26,38],typeint:[38,43,44],typeopt:38,typepercentag:[26,38,44],typerul:38,typestr:[38,43,44],typetab:38,typetitl:38,typic:[12,38,43],ubuntu:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39],uint64_t:13,unabl:40,unbound:13,uncheck:24,undef:[11,34],undefined:34,under:[4,12,14,19,20,22,24,25,26,29,30,38],underli:14,underscor:34,understand:[14,40,49],uneed:24,unexpectedli:21,unicorn:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36],unifi:44,uniform:[26,38],uniformdens:[26,38,44],uniquif:44,uniquifi:44,unit:[13,14],units:50,univers:41,unknown:32,unlik:40,unlike:[18,19,42],unlink:38,unmov:44,unpackag:40,unplaced:32,unpredict:21,unrout:44,unselect:44,unsign:33,until:[24,26,44],unzoom:44,updat:12,updatesess:[19,20,23,24,26],upgrad:40,upmc:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],upon:[14,34,36,39,44],upper:[19,30,33,34,44],uppercas:19,usabl:[16,19,30],usage:[30,44],use:[22,34,35,40],used:[33,44],useful:[4,32],user:4,usersguid:45,using:19,usr:[19,24,26,34],usual:[11,12,19,23],utf:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],val0:33,val1:33,val2:33,val3:33,val:44,valgrind:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],valid:[12,14,33,43],valu:[1,4,11,12,16,22],variabl:[1,12,19,22,30,34,38],variable_nam:1,variant:33,variou:[12,14,19],vbe:[32,44],vdd:[19,24,26,32,33,34,35,38],vddin:[32,33,34,35],vector:[21,34,35],verbos:44,verboselevel1:[1,22,38,44],verboselevel2:[1,22,38,44],veri:[26,38,40,44],version:[2,4,10,17,28,31,36,39],vertic:[11,19,24,30,34,43,44],vertiv:34,vhdl:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,34,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],via12:[24,34],via1:34,via23:[24,34],via24:34,via25:34,via26:34,via2:34,via34:34,via35:34,via36:34,via3:34,via45:34,via46:34,via4:34,via56:34,via5:34,via:30,view:[12,19,21,23],viewer:[0,4,19,20,24,38,42,43],vim:34,vimrc:34,violet:44,virtual:[4,18],visibl:[19,44],visual:[30,44],visualis:19,vlsi:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,34,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],vlsisapd:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],vspace:43,vss:[19,24,26,32,33,34,35,38],vssin:[32,33,34,35],vst:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,34,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],vtrackreservedloc:44,vtracksreservedloc:44,vwidth:43,w7_64:40,w8_64:40,wai:[12,13,14,19,23,26,30,34,40,43,44],walk:44,walkthrough:21,wallac:34,want:[11,12,14,19,20,21,22,24,32,34,38,40,44],warn:14,wave:40,weak:44,weakli:19,weari:21,weekli:24,well:[18,24,30,32,34,43,44],wen:33,were:[40,44],west:[34,43],wether:34,what:[12,14,20,24,30,34,44],whatev:[38,40,44],when:[1,13,14,22,30,32,33,34,38,40,43,44,50],where:[10,24,25,35,38,40,44],whether:[11,21,43,44],which:[1,10,11,12,16,19,20,22,23,24,30,32,34,35,38,40,41,42,43,44,50],white:44,whitespac:44,whithout:[38,43],whitout:44,whole:[11,30,33,42,43,44,50],whose:[23,38],why:[12,14],wich:34,wide:38,widget:[40,42],width:[11,14,19,30,33,34,44],width_vdd:30,width_vss:30,wil:21,window:[38,40,44],witch:20,within:[34,44],without:[19,20,30,32,33,34,42,44],wok:33,won:14,word:[33,34,35],word_length:35,work_dir:19,work_lib:21,workhors:18,working_library:38,worklib:38,world:19,wors:44,would:[13,14,21,34,38],wrap:[10,12,14],wrapper:[12,14,26,38],write:[14,18,21,33,34,35,38,43,44],written:[12,14,15,16,19,21,23,38],wrong:34,www:[39,40,47,50,51],wysiwyg:44,x86_64:[39,40],x_grid:30,xml:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,34,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],xnor2:33,xnor2_8:33,xnor2mask_0b000111:33,xnor:33,xor2:[33,34],xor2_8:33,xor:33,xored:33,xoring:33,xr2:34,xr2_1:[24,26],xr2_2:[24,26],xr2_x1:[24,26],xr2_x2:[24,26],xxxx:40,y_grid:30,y_slice:30,yacc:40,year:[14,44],yet:[11,34,40,44],yield:34,yifei:[0,1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,28,29,30,31,36,37,38,39,40,41,42,43,44,45,46,47,48,50,51],yosi:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24],you:[1,14,19,20,21,22,23,24,25,26,28,29,30,33,34,35,38,40,43,44],your:[4,14,19,20,22,25],yum:40,zero:[14,30,33,34],zoom:44},titles:["Hurricane/Analog Reference","1. Configuration File Workings","Configuration & Technonology","Configuration & Technology","Comprenhensive Table of Contents","CRL Core Reference","Hurricane Reference","Katabatic Reference","Kite Reference","Oroshi Reference","2. Basic File Structure and CMake configuration","4. Case 2 - Hierarchy of DBo Derived Classes","3. Case 1 - DBo Derived, Standalone","6. Encapsulating DbU","1. Introduction","7. No C++ Hurricane::Name encapsulation","5. Case 3 - Non-DBo Standalone Classe","Hurricane Python/C++ API Tutorial","9. Advanced Topics","3. Making a Standard Cell – Layout","5. Make a script runnable through cgt","4. Manipulating Cells, Nets and Components","2. Setting up the Environment","1. Introduction","6. Making a hierarchical Cell – Netlist","7. Working in real mode","8. Tool Engines (CRL Core)","<no title>","Hurricane+Python Tutorial","<no title>","Symbolic Layout","RDS – Symbolic to Real Conversion in Alliance","Stratus Developper’s Guide","DpGen generators manual","Stratus User’s Guide","Patterns module User’s Guide","Stratus : Netlist Capture Language","Unicorn Reference","Coriolis Configuration & Initialisation","Complete Design Flow & Examples","Installation","Credits & License","Release Notes","Python Interface for Hurricane / Coriolis","CGT - The Graphical Interface","Coriolis User’s Guide","Viewer Reference","DEF API Reference","<no title>","Welcome to Coriolis’s documentation!","LEF API Reference","LEF/DEF Language Reference"],titleterms:{"boolean":34,"case":[11,12,16,24],"class":[11,12,16,32],"function":[18,34],"new":19,about:[14,21],abutment:19,activ:40,add:34,addaccu:34,adding:19,additionn:40,addpat:35,advanc:18,affect:34,affect_ani:35,affect_fix:35,affect_int:35,aliment:34,allianc:[31,38,40,44],allianceframework:[19,21],am2901:43,analog:0,anoth:34,api:[17,47,50],architectur:38,argument:34,arithmet:34,associat:12,attribut:32,base:[11,44],basic:10,blif:25,botch:14,box:19,branch:40,breakpoint:20,buffer:34,build:40,call:50,callback:50,captur:[36,44],cell:[19,21,24,34],cgt:[20,44],chip:43,choic:14,circuit:34,clock:43,cmake:10,collect:21,command:44,comparison:34,compat:40,complet:[19,24,26,39],compon:[19,21,30],comprenhens:4,configur:[1,2,3,10,22,34,38,44],connect:24,connector:34,constant:34,constructor:23,content:[3,4],control:44,convers:31,copyupseg:34,core:[5,19,26],corioli:[38,40,43,45,49],coriolisenv:40,creat:[19,24],creation:34,credit:41,crl:[5,19,26],data:[34,44],dbo:[11,12,16],dbu:[13,19],debian:40,debug:40,declar:35,declar_interfac:35,def:[47,51],defab:34,deriv:[11,12],descript:[32,34,35],design:[14,39,44],detail:44,develop:40,developp:32,directori:[1,40],disclaim:14,disk:19,distribut:40,document:49,dpgen:[33,34],dpgenadsb2f:33,dpgenand2:33,dpgenand3:33,dpgenand4:33,dpgenbuff:33,dpgenbus:33,dpgenconst:33,dpgendff:33,dpgendfft:33,dpgenfifo:33,dpgeninv:33,dpgenmux2:33,dpgennand2:33,dpgennand2mask:33,dpgennand3:33,dpgennand4:33,dpgennbus:33,dpgennmux2:33,dpgennor2:33,dpgennor2mask:33,dpgennor3:33,dpgennor4:33,dpgennul:33,dpgenor2:33,dpgenor3:33,dpgenor4:33,dpgenram:33,dpgenrf1:33,dpgenrf1d:33,dpgenrom2:33,dpgenrom4:33,dpgensff:33,dpgensfft:33,dpgenshift:33,dpgenshrot:33,dpgenxnor2:33,dpgenxnor2mask:33,dpgenxor2:33,editor:34,enabl:40,encapsul:[13,15],engine:26,environ:[22,40],error:34,etesian:[26,44],exampl:[19,24,26,34,35,39,43],execut:[34,44],extens:34,facil:34,file:[1,10,11,12,16,19,22,24,25,30,34,38],fillcel:34,filter:44,first:[14,38],fix:40,flow:39,from:24,gener:[23,33,34,38],get:19,getrefxy:34,global:44,graphic:44,grid:30,guid:[32,34,35,45],hack:38,head:12,header:[11,12,16],helper:38,hierarch:[18,24],hierarchi:11,highlight:34,hook:40,how:34,hurrican:[0,6,15,17,19,21,28,43,44],hypernet:18,implement:50,indice:49,initialis:38,inspector:44,install:40,installat:40,instanc:[24,32,34],instanci:34,instanciat:34,instanti:34,interfac:[43,44],intermedi:11,introduct:[14,23,34],katabat:7,katana:[26,44],kind:23,kite:8,lambda:30,languag:[36,51],layer:[19,44],layout:[19,30,34],lef:[25,50,51],librari:[12,34],licens:41,line:44,link:[12,34],list:34,load:[21,25,38,44],look:44,macos:40,make:[19,20,24],manipul:21,manual:33,map:34,mbk_to_rds_bigvia_hole:30,mbk_to_rds_bigvia_metal:30,mbk_to_rds_segment:30,mbk_to_rds_via:30,mbk_wiresetting:30,measur:19,mechan:19,memento:44,method:[32,34,35],miscella:18,miscellan:44,mode:[25,44],model:32,modul:[11,12,34,35],multiplexor:34,name:[15,34],namespac:12,net:[19,21,24,32,34],netlist:[24,34,36,44],non:16,note:[42,50],occurrenc:18,oper:34,option:44,order:50,oroshi:9,packag:[34,40],pad:34,param:34,paramet:[32,34,35,44],part:[12,35],path:[22,34],pattern:[34,35],pattern_begin:35,pattern_end:35,patwrit:35,physic:[24,30],place:[24,34],placebottom:34,placecentr:34,placecontact:34,placeglu:34,placeleft:34,placement:43,placepin:34,placer:[26,44],placeref:34,placeright:34,placeseg:34,placetop:34,plug:24,plugin:43,power:24,powerr:34,print:44,provid:34,python:[11,12,17,28,43,44],rail:34,rds:[30,31],real:[25,31],recurs:43,redhat:40,refer:[0,5,6,7,8,9,37,46,47,50,51],regist:34,regular:24,releas:42,requir:40,resizeab:34,restrict:21,rout:34,routeck:34,router:[26,44],routingpad:[18,24],rsave:43,runnabl:20,save:[19,43],script:[20,44],second:38,segment:30,select:[38,44],session:19,set:[19,22,40,44],setrefin:34,share:12,shifter:34,shortcut:44,signal:34,simpl:43,snapshot:44,softwar:38,some:34,special:24,stage:38,standalon:[12,16],standard:19,stimuli:34,stratu:[32,34,36,44],structur:[1,10],suppli:24,symbol:[30,31],synopsi:[32,34],syntax:[34,35],synthesi:44,synthet:44,tab:44,tabl:[4,30,49],technic:14,techno:22,technolog:[3,38],technonolog:2,termin:11,terminolog:23,test:34,through:20,tool:[26,38,44],topic:18,tran:18,transform:24,tree:[1,40,43],tutori:[17,28],type:12,ubuntu:40,under:[40,44],understand:50,unicorn:37,unit:[19,50],useful:34,user:[22,34,35,45],using:20,valu:[30,34],variou:23,version:40,view:24,viewer:[44,46],virtual:34,welcom:49,wire:24,work:[1,25],yosi:[25,44],your:34}}) \ No newline at end of file +Search.setIndex({envversion:49,filenames:["Analog/Analog","Contents","CrlCore/CrlCore","Hurricane/Hurricane","Katabatic/Katabatic","Kite/Kite","Oroshi/Oroshi","PythonCpp/Configuration","PythonCpp/DBoHierarchy","PythonCpp/DBoStandalone","PythonCpp/DbU","PythonCpp/Introduction","PythonCpp/Name","PythonCpp/NonDBo","PythonCpp/index","PythonTutorial/AdvancedTopics","PythonTutorial/CellNetComponent","PythonTutorial/CgtScript","PythonTutorial/Collections","PythonTutorial/Environment","PythonTutorial/Introduction","PythonTutorial/Netlist","PythonTutorial/RealDesigns","PythonTutorial/ToolEngines","PythonTutorial/definitions","PythonTutorial/index","PythonTutorial/pdfHeader","RDS/RDSpage","RDS/index","Stratus/Developper","Stratus/DpGen","Stratus/Language","Stratus/Patterns","Stratus/index","Unicorn/Unicorn","UsersGuide/Configuration","UsersGuide/DesignFlow","UsersGuide/Installation","UsersGuide/LicenseCredits","UsersGuide/Releases","UsersGuide/ScriptsPlugins","UsersGuide/ViewerTools","UsersGuide/index","Viewer/Viewer","defapi/defapi","etc/definitions","index","lefapi/lefapi","lefdef/lefdef"],objects:{},objnames:{},objtypes:{},terms:{"005\u00b5m":27,"01\u00b5m":47,"09\u00b5m":27,"0b0001":30,"0b000111":30,"0b0010":31,"0b0110":31,"0b10":31,"0b1001":31,"0b1010":30,"0b1100":30,"0b1110":31,"0b1111":30,"0cm":26,"0x0000ffff":30,"0x14":31,"100k":41,"150k":41,"180nm":35,"18\u00b5m":27,"1\u00b5m":27,"1cm":26,"2\u00b5m":27,"2cm":26,"32b":37,"32x32":41,"3cm":26,"45nm":[19,22],"4cm":26,"64b":37,"8cm":26,"abstract":8,"boolean":[1,9,29],"case":1,"catch":9,"char":9,"class":[1,7],"const":[30,31],"default":[8,19,27,29,30,31,32,35,37,39,40,41,47],"else":30,"export":[7,8,9,20,37,39,40],"final":[16,27,37,39,41],"float":[16,32],"function":[1,7,8,9,10,11,13],"goto":41,"import":[8,9,11,16,20,21,22,23,30,31,35,37,38,39,40,41],"int":[13,35,40,41],"long":[10,20,41],"new":[8,9,13],"null":[8,9,10,11,13,30],"public":[20,39],"r\u00e9my":38,"return":[8,9,10,11,13,16,17,18,20,21,23,30,31,35,40,41],"short":[11,37],"static":[8,9,10,11,13,20,22,30,37],"switch":37,"transient":[16,47],"true":[16,17,19,21,23,27,29,30,31,35,40,41],"try":[16,31,41],"universit\u00e9":[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],"void":[8,9,13,20],"while":[10,16,18,20,21,36,41,47],__add__:29,__and__:29,__c:[8,9,11,13],__div__:29,__geslice__:29,__getitem__:29,__init__:[29,35],__invert__:29,__le__:29,__main__:40,__mul__:29,__name__:40,__or__:29,__python_module:11,__python_module__:[8,11,13],__str__:20,__xor__:29,_add:29,_alia:29,_and:29,_ariti:29,_baseobject:8,_bl:40,_br:40,_buff:29,_comp:29,_ct:40,_db:29,_direct:29,_div:29,_ext:29,_h_type:29,_hur_cel:29,_hur_inst:29,_hur_mastercel:29,_hur_net:29,_ind:29,_insref:29,_lib0:29,_map:29,_model:29,_mpx:35,_mult:29,_mux:29,_name:[29,32],_nb_alims_vertical:29,_nb_inst:29,_nb_pin:29,_nb_vdd_pin:29,_nb_vss_pin:29,_not:29,_object:[8,9,10,13],_or:29,_param:29,_plac:29,_pyobject:8,_real_model:29,_real_net:29,_reg:29,_shift:29,_st_cell:29,_st_ck:29,_st_inst:29,_st_mastercel:29,_st_merg:29,_st_port:29,_st_sig:29,_st_vdd:29,_st_vsss:29,_stim:31,_sym:29,_tab_nets_cat:29,_tab_nets_out:29,_tl:40,_to_cat:29,_to_merg:29,_tr:40,_type:29,_undercel:29,_xor:29,a2_1:[21,23],a2_2:[21,23],a2_x2:[21,23,31],abc:39,abil:31,abl:[11,17,20,22],about:[1,9],abov:[9,16,17,31,35,40,41],absolut:[13,16,32],abtument:31,abut:[16,21,23,31,40,41],abutmentbox:31,accept:[32,41],access:[8,18,21,31,32,37,39,41],access_class:8,access_object:8,accessor:9,accomod:40,accord:[27,35,39,40,41],accordingli:11,account:41,accross:11,accumul:32,accur:39,accuraci:[39,41],achiev:39,acknowledg:30,across:[27,41],act:7,action:41,activ:[1,17,27],actual:[27,30,32,40,41],adapt:[19,40],add:[1,9,17,21],add_python_modul:[7,11],add_sub:30,addaccu:1,addd:31,added:39,adder:[30,31],adder_8:30,adding:9,addit:[19,30,31,36,37,41],addition:31,additionn:1,addon:[36,37],addpat:1,address:30,addsystem_library:35,addtyp:[8,9],adjac:[15,40],adjust:39,adopt:16,adr:30,advis:41,adw:30,affect:1,affect_ani:1,affect_fix:1,affect_int:1,affili:39,after:[9,16,17,21,22,23,29,31,32,35,37,40,41],afterward:[30,35],again:[8,9,19,22,37],against:[9,11,22,39,41],ago:11,aim:[20,39],alc_env:37,alexandr:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],algorithm:[18,39,41],alia:[19,29,31,37],alias:41,alim:31,alimconnector:31,aliment:[1,29],alimhorizontalrail:31,alimverticalrail:31,all:[9,11,15,16,18,20,21,23,27,29,31,32,35,37,38,39,40,41],allianc:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27],alliance_top:35,alliancetop:35,alloc:[9,20,41],allow:[9,15,16,18,21,27,30,31,32,35,37,39,41],almost:[8,19,35,40,41],alon:[16,36],along:[13,35,41],alongsid:37,alpha:39,alphanumer:31,alreadi:[11,18,25,26,31,35,37,41],also:[5,16,18,20,21,22,27,31,37,40,41],altern:[35,39,41],alternat:37,although:[27,39,41],alu1:[27,31],alu2:31,alu3:31,alu4:31,alu5:31,alu6:31,alu:31,alux:27,alwai:[9,11,21,30,31,32,47],am2901:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39],amd2901:40,amd64:37,among:16,amount:[30,47],amp:38,ana:5,anabat:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],analys:37,analysi:41,analyt:[39,41],and2:[30,31],and2_8:30,and3:30,and3_16:30,and4:30,and4_2:30,anded:30,ani:[11,13,16,17,18,19,20,21,22,27,31,32,35,37,40,41],anneal:39,anonym:18,anoth:[1,11,22,29],another:11,ansi:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],anti:41,any:41,anymor:27,anyth:[40,41],anywher:41,apach:[44,47,48],api:[0,1,2,3,4,5,6,7,8,9,10,11,12,13],appart:41,appear:[9,21,41],append:[18,31,35],appertur:41,appli:[11,21,27,30,31,32,35],applic:41,appropri:[9,31],approx:41,apt:37,architectur:1,archiv:22,area:[21,23,27,41],arg0:[9,10,13],arg1:[9,13],arg:[8,9,10,11,13,31],argument:[1,8,9,10,16,17,21,29,30],arith:31,arithmet:[1,29,30],ariti:[29,31,32],army:41,around:[10,23,31,40,41],arrow:41,art:41,articul:[16,21],aside:40,asign:32,asim:[31,37],asimut:31,ask:[21,27],aspect:[11,23,41],aspectratio:[23,41],assign:41,assignment:41,associ:[7,8,9,11,13,21,27,41],associat:[1,8],assum:[22,25,26,41],assume:21,asymetr:27,attempt:10,attribut:[1,8,13,20,26],author:31,autocmd:31,automat:[19,23,29,31,32,37,40,41],automaticali:31,autotool:37,auxsc35:41,avail:[0,2,3,4,5,6,11,16,19,31,34,35,36,37,39,43,44,47,48],avala:[39,41],avoid:[21,27,40,41,47],avot:32,awar:[18,21,27,30,41],axi:27,back:[31,37,39],background:41,backquot:19,bad:8,balanc:41,base:[1,4,5],bashrc:[19,37],basi:30,basic:1,basiclay:41,bdo:13,becaus:[8,17,23,27,37,39,41],becom:[8,20,31,40,41],bee:[31,41],been:[9,11,16,17,18,20,21,29,30,31,35,39,40,41],befor:[17,21,29,31,32,37,41,47],before:32,beforehand:41,begin:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],behav:30,behavior:[9,11,13,29,30,31],behaviour:41,belloeil:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,29,30,31,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],belong:[16,31,47],below:[9,11,20,21,23,27,29,31,40,41],benchmark:41,bend:27,besid:40,best:[13,41],better:[21,39,41],between:[11,15,20,21,27,30,31,32,35,37,39,40,41],bewteen:21,bfd:37,big:[27,31,41],bigger:41,biggest:21,biggestarea:21,bigvia:27,biject:21,bin:[16,21,23,31,37],binari:[31,32,37,41],bind:35,binutil:37,bison:37,bit:[27,29,30,31,41],black:[19,35],bleugri:26,blif:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],blink:41,blob:39,block:[11,20,30,40],blockag:[27,35,40],bluntli:13,blur:41,boil:27,bood:31,bool:[35,41],boost:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],booth:31,bootstrap:37,borrow:11,botch:1,both:[16,23,27,29,31,35,37,40,41],bother:9,bottom:[27,31,40],bound:41,bourn:19,box:11,brace:20,branch:1,breakpoint:16,bring:11,brows:[35,41],buf:31,buf_x2:40,buff_32:30,buffer:[1,29,30],bufnewfil:31,bufread:31,bug:[19,37,39,41],build:[1,7,9,11,16,21,27,35,36],buildfulladd:[21,23],buildinvertor:[16,17],built:[35,37],bull:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],bunch:9,bundl:37,buri:15,buse:[29,31],buse_8:30,buss:30,button:41,bzip2:37,c2r:[19,37],c30:30,c31:30,c_temp:31,c_x_n:27,c_x_p:27,ca2:[31,32],cach:40,cad:31,cadenc:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],calcul:[31,32],call:[8,9,10,11,13,16,17,18,19,20,21,22,23,29,30,31,32,37,40,41,46],callback:46,calu1:31,calu2:31,calu3:31,calu4:31,calu5:31,calu6:31,calu:31,calux:27,camel:9,can:[8,11,15,16,17,18,19,20,21,22,23,27,30,31,32,35,36,37,39,40,41,47],candid:21,cannot:[11,16,20,21,27,30,41],capabl:[11,37,40,41],capac:[39,41],capacitor:30,capit:9,captur:1,care:[11,23,31,40,41],carry_1:[21,23],carry_2:[21,23],cast:[8,9],cat:31,catal:35,catalog:[16,18,21,23],catchcor:[19,41],categori:41,caus:[19,37],cbug:41,ccb:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],cdebug:41,ceil:30,cell:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],cell_1:31,cellnet:18,cellstop:35,cellview:[17,41],center:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,31,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],centerend:27,cerr:[8,9],certain:[13,32],cfg:35,cgt:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16],ch_htree_bl_tl:40,cham:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],chang:[8,13,20,21,30,31,35,39,40,41],chaput:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],charact:30,check:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,30,31,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],checkbox:41,checker:27,checkout:37,chip:[1,31,35,39],chmod:31,choic:1,choos:[9,31,35,41],chosen:[29,31],chotin:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,32,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],chri:[37,38],christian:38,christoph:38,chu:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],cian:36,cif:27,cin:[21,23,31],cinfo:41,circuit:1,circular:31,ck_htree:40,ck_htree_bl:40,ck_htree_bl_bl:40,ckin:[29,31,32],ckok:30,clariti:[8,16],class_nam:31,classic:[11,19,35,37],clean:39,cleaner:21,cleanli:[9,39],clear:[13,40,41],clearer:31,clement:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],click:41,clifford:36,clock:[1,29,30,31],clocktre:40,clone:[19,37,41],close:[9,16,17,20,21,23,35,37,39,40,41],closer:31,clue:11,cluster:41,clutter:[39,41],cmake:[0,1,2,3,4,5,6],cmd0:31,cmd1:31,cmd2:31,cmd:[30,31],cmo:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],cnchu:38,cnrs:26,cobject:10,code:[8,9,11,13,16,19,20,21,35,39,40],coher:[20,41],collect:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17],collector:20,coloquint:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],color:31,com:[37,44,47,48],combin:[21,37,39],come:41,command:[1,31,37,40],commit:37,common:[9,11,26,27,30,31,39,40,41],commpos:41,commun:[9,11,13],comp:8,compar:32,comparaison:31,comparison:[1,29],compat:1,compatibilti:39,compil:[11,37,41],complement:[30,32],complet:[1,7,9,11],completli:[11,16,39,41],complex:[11,27],compliant:37,compon:[1,8,11,15],compos:[21,41],comprehens:1,compris:41,comput:[11,16,21,30,31,32,35,40,41],concaten:31,concept:[16,20,21,25,26],conceptor:[29,31],concret:[8,31],conditionn:30,conf:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],configur:1,confus:21,congest:41,conjunct:41,connect:[15,16,20],connectmap:31,connector:[1,16,27],connexion:[20,29,31],consecut:40,consequ:[8,21,27,39,47],consid:[7,21,27],consist:37,const_0x0000ffff:30,constant:[1,27,30],construct:[13,20,21,31],constructor:[9,11,13],constructorerror:[9,11,13],constval0:30,constval1:30,constval2:30,constval3:30,constval:30,cont_body_n:[27,31],cont_body_p:[27,31],cont_dif_n:[16,27,31],cont_dif_p:[16,27,31],cont_poly:[16,27,31],cont_turn1:31,cont_turn2:31,cont_turn3:31,cont_turn4:31,cont_turn5:31,cont_turn6:31,cont_via2:27,cont_via3:27,cont_via4:27,cont_via5:27,cont_via:27,cont_viax:27,contact1:21,contact2:21,contact:[8,11,16,21,27,31,41],contain:[7,11,16,17,18,19,20,22,27,31,32,35,39,40,41],contdifn:16,contdifp:16,conterpart:[4,5,27],contest:41,context:40,contpoli:16,contributor:38,control:[1,11,20,21,27,30,31],conveni:9,convent:[11,16],convers:[1,9,16,18],convert:[9,10,13,16,20,27,32],coodin:31,coordin:[16,20,21,27,29,31,41],copi:[13,20,31,37,41],copuupseg:31,copyright:[38,44,47,48],copyupseg:1,copyupsegmentseccopi:31,cordin:31,core:1,corioli:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,31,33,34],coriolis2:[1,7,16,19,21,23],coriolis_install:19,coriolis_top:19,coriolisenv:[1,19],corner:[16,21,27,31],corona:[39,40],correct:[31,41],correctli:[23,31],correspond:[29,31,32,41],corrioli:37,cost:41,cougar:27,could:[18,20,31,35,40,41],count:[11,40,41],coupl:41,cours:20,cout:[18,21,23,31],cover:27,cpp:[7,9,11],craft:40,crash:[37,41],creat:[7,8,9,11,13],createcel:[16,17,21,23],creation:[1,16,20,21,23,29],creativ:26,creativecommon:26,credit:1,crl:[0,1],crl_cata_lib:31,crlcore:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],crude:41,csh:37,ctrl:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],cumbersom:11,cumulu:37,current:[16,23,31,32,37,40,41],cursor:41,cycl:32,cyclop:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],cygwin:37,damien:38,dangl:11,darwin:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],data:[1,30],databas:[9,11,16,18,20,21,29,39,41,47],database:47,datain0:30,datain1:30,datain:30,dataout:30,date:32,dbit:31,dbo:1,dbodeletemethod:[8,9],dbodestroyattribut:[8,9],dbolinkcreatemethod:[8,9,13],dbu:1,debian:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36],debug:[1,17],decim:31,declar:[1,9,16],declar_interfac:1,decod:30,decor:41,decoupl:[39,40],decreas:[39,41],dedic:[8,20,31],deep:39,deeper:8,deepli:[15,41],def:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,30,31,32,33,34,35,36,37,38,39,40,41,42,43],defab:1,defaultstyl:19,defin:[7,8,9,11,13,16,27,29,30,31,32,35,39,40,41],define:27,definit:[7,8,9,19],degre:31,delet:[9,11,13,18,20,29,35,41],delta:[27,31],demo:36,demot:27,denser:41,densiti:41,depend:[7,27,31,37,39,40],deplib:7,depth:41,deriv:1,derivedobject:8,describ:[22,27,31,32,40],descript:[1,8],descrob:31,design:1,design_r:41,desir:31,destroi:[8,9,13,18,20],detail:[1,16,19,21,23,38,39],detector:30,deterior:31,determin:9,determinist:41,dev:37,devel:[37,39],devel_anabat:[37,39],develop:[1,23],developp:1,devic:41,devtoolset:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],dff:40,dff_4:30,dfft_4:30,diagon:37,dialog:41,dict:[18,31],dictionari:[9,17,18],dictionnari:[9,29,31,40],did:[11,22,37,41],differ:[8,13,18,21,27,29,30,31,40,41],differenti:41,difficult:[37,41],diffus:27,digit:[23,31],digitalinit:23,dimens:[27,31,41],direct:[8,9,11,13,27,29,31,32,35,41],directdeletemethod:13,directdestroymethod:13,directgetlongattribut:[8,10,13],directionn:13,directli:[11,17,20,22,23,32,37,40,41],directori:[1,16,19,21,22,23,31,35],directsetlongattribut:[10,13],disabl:[20,32,41],disambigu:27,disclaim:1,disconnect:21,discrep:22,diseappear:27,displac:41,displai:[9,21,41],distanc:[22,27,47],distinguish:[27,41],distribut:[1,36],disturb:40,ditch:41,divid:32,divis:31,dksdir:22,dl_export:[8,9],dobreak:[16,17,21,23],doc:[13,16,21,23,31,37],dochip:40,document:[11,14,15,20,21,25,28,31,33,35,37,39,40,41,42],docutil:37,doe:[9,20,22,31,35,37,39,40,41],doesn:[31,41],dogleg:41,don:[9,19,20,37,40,41],done:[9,16,31,41],dosometh:[20,40],dot:[39,41],dotfil:38,doubl:[11,35],down:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,31,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],download:[37,41],doxygen:[0,2,3,4,5,6,34,37,40,43],dozen:41,dpgen:1,dpgenadsb2f:1,dpgenand2:1,dpgenand3:1,dpgenand4:1,dpgenbuff:1,dpgenbus:1,dpgenconst:1,dpgendff:1,dpgendfft:1,dpgenfifo:1,dpgeninv:1,dpgenmux2:1,dpgennand2:1,dpgennand2mask:1,dpgennand3:1,dpgennand4:1,dpgennbus:1,dpgennmux2:1,dpgennor2:1,dpgennor2mask:1,dpgennor3:1,dpgennor4:1,dpgennul:1,dpgenor2:1,dpgenor3:1,dpgenor4:1,dpgenram:1,dpgenrf1:1,dpgenrf1d:1,dpgenrf1dr0:30,dpgenrf1r0:30,dpgenrom2:1,dpgenrom4:1,dpgensff:1,dpgensfft:1,dpgenshift:1,dpgenshrot:1,dpgenxnor2:1,dpgenxnor2mask:1,dpgenxor2:1,dpi:41,drain:27,draw:[16,27,41],drawback:39,drawn:41,drc:27,drive:[30,40],drop:[37,39],druc:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,31,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],due:[35,41],dummi:[19,37,40],dump:[18,37,39,41],duplic:31,dupui:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],dure:[32,41],durole:38,dvipng:37,dx1:31,dx2:31,dy1:31,dy2:31,dyld_framework_path:37,dyld_library_path:19,dynam:[11,20,30,37],dynamic_cast:8,each:[9,11,13,21,27,29,30,31,32,35,40,41],eas:17,easi:31,easier:[27,29,31],easiest:37,easili:[20,39,41],east:[31,40],edg:[27,39,40,41],edit:37,editor:[1,16,17,21,23,27,29],edu:38,effect:[30,32,41],effort:[23,41],egin:32,ego:17,eight:31,either:[9,27,30,31,32,37,40,41],el7_64:37,electr:20,electric:27,element:[16,18,29,41],elif:31,els:[8,9,11,13,31,35],emit:9,empti:[26,30,35,41],emul:[9,37],enabl:[1,30],encapsul:[1,8,9],encompass:11,encount:47,end:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],endif:[8,9,11,13],endl:[8,9,18],endswith:18,enforc:21,eng:38,engin:23,engineloadgrbynet:23,enginenonetlayerassign:23,enough:[21,31,40],enrich:20,ent:8,enter:41,entir:11,entiti:8,entitycast:8,entri:[19,35,40,41],enumer:[31,35],env:[31,35],envelop:31,envenli:41,environ:[1,16],epel:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],eplac:41,eponym:[40,41],equal:[30,31,41],equip:36,equival:[20,21,31,41,47],eras:[40,41],error:[1,8,9,11,23,30],esc:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],escap:41,escassut:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],especi:16,essai:31,essenti:[37,41],etc:[16,19,26,31,37,40],etesian:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22],etesianengin:23,eval:[19,37],even:[21,27,30,39,40],event:[32,35,41],eventslimit:41,ever:18,everi:[9,29,31,41],everybodi:23,everyth:[9,35,41],exacltli:27,exact:[16,40],exactli:[17,27,37,40,41],examin:37,exampl:[1,7,8,9,10],exce:41,except:[9,16,29,31],excess:41,execut:1,exempl:[29,31,41],exist:[18,19,31,35,41,47],exit:[40,41],expand:27,expansion:31,expect:[10,21,35,40],expens:10,experi:41,explain:21,explan:[16,41],explanat:27,explanatori:[9,20],explicit:[10,16,21],explicitli:20,expor:41,expos:[9,11,18],exposur:11,express:[16,20,22,27,31,35,41,47],ext:27,extand:31,extend:[27,29,31],extens:[1,16,17],extent:41,extern:[8,9,11,13,16,20,21,29,31],extra:[37,41],extract:[9,32],extractor:27,face:31,facil:1,fact:[8,11,36],factor:[39,41,47],fail:[8,9,41],failsaf:41,failur:41,fairli:41,fall:37,fals:[8,9,19,29,30,31,35,41],familiar:[11,25,26],fanci:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],far:[11,28],fashion:11,fast:41,fc13:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],fc23:37,fc_64:37,featur:41,fedora:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],feedthru:41,feel:20,fgr:41,fhs:37,field:[8,9,13,41],fifo:30,fifo_4_16:30,figur:[27,31,41],file:1,file_nam:31,filenam:[31,32],filesystem:37,fillcel:1,filler:21,filler_1:21,filler_2:21,filter:[1,21],find:[21,31,37],fine:41,finger:41,finish:[16,29,31],first:[1,7,9],fit:[16,17,21,23,31,35,39,41],five:27,fix:[1,16,27,32],flag:[16,20,21,23,27,30,37,41],flatten:[15,40,41],flavor:[9,13],flex:37,flip:30,flop:30,flow:[1,31],flute:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],fly:21,follow:[7,8,9,11,16,20,27,30,31,32,37,40,41],fonction:31,font:37,footprint:41,forc:[9,32,40,41],forens:37,forget:19,forgotten:31,form:[31,35,41],format:[22,31,32,39,41],found:[11,16,21,23,31,37],founder:27,foundri:[16,27,39,40],four:[9,27,30,40,41],fourth:30,framework:[16,18,21,23,37,39],franck:27,free:[23,39,41],freebsd:37,freed:20,freedpk:19,freepdk45:22,freepdk:22,freepdk_45:19,french:37,from:[8,9,10,11,13,16,18,20],fromlambda:[16,20,21,23],ftp:36,full:30,fulladd:[21,23,31],fulli:[16,23,39,40],fuse:[16,20],futur:11,gabriel:38,gap:41,garbag:20,gate:[27,30,41],gaug:[27,40,41],gcc:37,gcell:[39,41],gdb:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],gdsii:41,gener:[0,1,2,3,4,5,6],generic_method_head:[8,9,13],genlib:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],geometr:[27,31,40],get:[9,10,11,15],get_cata_lib:29,getcel:[8,9,18,21,23],getcompon:18,getdb:[16,21],getenviron:35,getheight:8,getlay:[16,21],getmasternet:21,getnam:18,getnet:[8,18,21,23],getobjectid:[9,13],getparambool:35,getparamdoubl:35,getparamenumer:35,getparamint:35,getparampercentag:35,getparamstr:35,getplug:[21,23],getrefxy:1,getstr:[20,41],gettechnolog:[16,21],getter:35,getwidth:8,getx:[8,10,13],gety:[8,13],ghdl:31,gigant:11,git:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],github:37,give:[7,8,16,27,29,30,31,39,41],given:[8,9,11,16,17,21,27,29,30,31,32,35,37,40,41],global:[1,9,21,27,38,39],globaliter:41,globallengththreshold:41,globalripuplimit:41,gnu:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],goal:20,goe:[11,41],good:[7,41],gouvin:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],gpl:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],graal:27,graphic:[1,19,35,37,39,40],graphviz:37,greater:[31,39],grew:41,grid:[1,16],ground:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,29,30,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],group:[20,39],gscl45nm:22,guarded:30,gui:37,guid:1,had:27,halfadd:31,hand:27,handl:[16,31,40],hard:30,has_kei:[16,17,21,23,35,40],hasn:41,have:[8,9,11,13,16,18,20,21,23,27,29,30,31,32,35,37,39,40,41,47],haven:31,hcatch:[8,9,10,11,13],head:1,header:1,hecadecim:31,height:[8,11,26,27,31,41],help:[17,37],helper:[9,19,35,37,40],here:[0,2,3,4,5,6,9,11,21,22,27,32,34,36,37,41,43,44,47,48],herit:29,hesit:40,hexa:31,hexadecim:[31,32],hfill:26,hidden:39,hide:41,hierach:31,hierarchi:1,high:[23,41],highest:41,highlight:1,himself:[29,31],histor:27,hmeti:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],hoc:[39,41],hold:[8,11,16,41],holder:15,hole:27,home:[17,22,31,37,38],hook:[1,9,35],hope:11,horizont:[8,16,20,21,27,31,40,41],how:[1,15,16,18,20,21,27,30],howev:35,href:26,hreservedloc:39,hspace:40,html:[31,36,37],htrackreservedloc:41,htracksreservedloc:[35,41],htry:[8,9,10,11,13],http:[26,36,37,38,44,47,48],huge:26,hugo:38,hundredth:16,hur_techno_name:31,hurricaneerror:8,hurricaneplug:29,hwidth:40,hypernet:[0,2,3,4,5,6,7,8,9,10,11,12,13,14],i0_20:31,i386:37,iastat:38,idea:41,ident:[8,31,41],identifi:[35,40,41],ifndef:[8,9,13],illegal:31,illustr:[16,21,22,40],imag:[26,41],imcomplet:39,immediatli:41,implant:27,implement:[9,11,20,23,35,39,41,46],implemet:35,impli:[13,20],imposs:31,improv:41,improve:39,in0:31,in1:[30,31],in2:[30,31],in3:[30,31],in4:30,includ:[7,8,9,11,13,20,31,37,39,41],include:37,includegraph:26,inclus:41,incompat:31,increas:[27,41],inde:41,indeed:[29,31],indent:20,index:[27,31,46],indic:[29,31],indirect:8,individu:[27,41],infinit:[19,37,41],info:[19,41],inform:[11,16,17,27,41,47],inherit:[9,29],init:[9,13],inithurrican:[8,9],initi:[8,9,32,41],initialis:[1,9,19,29,31,32],inner:39,innov:39,inout:[29,31],input:[29,30,31,32,39],insert:[16,35,40],insid:[9,16,17,23,27,40,41],inspect:41,inspector:1,inst:[29,30,31],inst_adsb2f:30,inst_and2:30,inst_and3:30,inst_and4:30,inst_buff:30,inst_bus:30,inst_const:30,inst_dff:30,inst_dfft:30,inst_fifo:30,inst_inv:30,inst_mux2:30,inst_nand2:30,inst_nand2mask:30,inst_nand3:30,inst_nand4:30,inst_nbus:30,inst_nmux2:30,inst_nor2:30,inst_nor2mask:30,inst_nor3:30,inst_nor4:30,inst_nul:30,inst_or2:30,inst_or3:30,inst_or4:30,inst_ram:30,inst_rf1:30,inst_rf1d:30,inst_rom2:30,inst_rom4:30,inst_sff:30,inst_sfft:30,inst_shift:30,inst_shrot:30,inst_xnor2:30,inst_xnor2mask:30,inst_xor2:30,instal:[7,16,19,21,22,23,37,41],install:1,installat:1,instanc:[1,11,16,20],instanci:[1,8,29],instanciat:[1,29],instanti:1,instantiat:[29,31],instead:[8,11,13,19,22,31,37,41],insti:30,insto:30,instop:30,instruct:[31,37,41],instshamt:30,insul:9,integ:[16,32],integer_word_length:32,integr:[9,39,40],intend:[35,41],intens:35,interact:17,interest:35,interfac:[1,9,11,16,19,20,21,29,30,31,32,35,39],intermedi:1,intern:[29,31,32],internat:26,interpret:[19,40],interrupt:9,intersect:27,intert:30,interv:31,introduc:[16,35,39,40,41],introduct:1,inv:31,inv_54:30,inv_x1:18,invalid:[8,9,11,13],inversor:31,invert:[27,30],inverter:30,invertor:[16,17],invok:31,iopadgaug:40,ior:[35,40],iowa:38,isdir:35,isn:[31,32],isobar:[7,8,9,10,11,13],isobar_py_component_h:8,isobar_py_contact_h:8,isobar_py_entity_h:8,isobar_py_point_h:13,ispd:41,ispycompon:8,ispycontact:8,ispyentiti:8,ispyhorizont:8,ispylibrari:9,ispypoint:13,ispyvert:8,issu:[11,23],istself:7,ital:41,item:[39,41],iter:[18,41],itself:[9,27],iwl:32,jean:[26,38],json:39,just:[10,11,17,18,21,22,27,31,35,37,41],katabat:[0,2,3],katana:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22],katanaengin:23,keep:[13,23],kei:[9,29,31,40,41],kept:[27,35],keyword:17,kgr:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],kind:[16,18,19],kit:5,kite:[0,2,3,4],knife:41,knik:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],know:[9,37,40],known:[21,41,47],kwarg:13,laboratori:26,lambda:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26],lanch:19,lang:37,languag:[1,31,32],larg:[26,40,41],last:[9,32,35,37,41],lastli:[9,13],latch:30,later:[13,16,21,39,41],latest:31,latex:37,lauch:40,launch:[17,19,37,40],layer:1,layerassign:23,layout:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15],lbd:16,lcw:27,ld_library_path:19,lead:41,leaf:[15,40,41],least:[37,40],lef:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],lefconvertfactor:47,lefdef:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],lefimport:22,lefimporttmpcel:47,left:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,30,31,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],legal:[31,32,39],leght:31,lenght:31,length:[16,27,32],lepka:[19,37,40],less:[11,27,41],let:[13,21,41],letter:31,level:[8,9,10,11,15,16,17,21,27,37,39,40,41],lex:37,lgpl:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],lib:[9,22,37,41],libboost:37,libbz2:37,liberti:41,libisobar:11,libqt5svg5:37,libqwt5:37,libqwt:37,librari:[1,7,8],libstdc:37,libxml2:37,licens:[1,26],life:[13,27],like:[8,9,11,17,18,19,20,23,29,30,31,35,37,39],limit:[20,21,41],line:[1,37,40],linear:41,linebreak:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],link:1,linker:11,linux:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],lip6:[26,36,37],list:[1,7,18,21,29],littl:[17,27,41],live:[11,41],load:[1,16,17],loader:[22,39],loadglobalrout:23,local:[37,41],localinstal:37,localripuplimit:41,locat:[31,40,41],lofig:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],log2:30,log:41,logic:[5,16,20,21,22,31,32,39,41],logiciel:36,logicin:29,logicinout:29,logicout:29,logicunknown:29,logmod:[19,35,41],logo:26,logocc:26,longer:[11,37,39,41],longglobalripuplimit:41,look:[1,9,13,16,22,35,37],loop:[18,19,30,31,37,41],lot:[21,47],low:41,lower:[16,21,30,31,41],lowercas:[9,16],lsb:[29,31],lybrari:9,machin:35,maco:37,macos:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36],macport:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],macro:[7,8,9,11,13,30,41,47],made:[11,21,22,23,27,29,30,31,35,37,40,41],mai:[11,13,16,17,18,19,20,21,27,31,35,37,40,41],mailto:26,main:[20,37,39,41],mainli:[35,39,41],maintain:41,make:[9,15],makefil:37,manag:[11,16,20,22,39,40],mandatori:[9,16,19,29,30,31,35,40],mani:[11,20,27,31],manipul:10,manual:[1,11],map:[1,18,29,30],marek:38,margin:[23,41],mark:32,mask:30,masson:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],master:[11,21,23,29,37,39,41],mastercel:[29,31],masterlibrari:9,masternet:21,match:[18,31,35,41],materi:41,matrix:27,mauka:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],maxim:41,maximum:41,maxtracelevel:41,mayb:31,mbk:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],mbk_:16,mbk_to_rds_bigvia_hole:1,mbk_to_rds_bigvia_metal:1,mbk_to_rds_segment:1,mbk_to_rds_via:1,mbk_wiresetting:1,mean:[11,18,20,22,27,31,35,37,41,47],meaning:[27,30,31],mechan:[9,11,13,15],medskip:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],member:39,memento:1,memori:[16,18,20,40,41],menu:[17,39,41],merg:29,messag:[16,17,21,41],metal1:[16,27],metal2:[21,27],metal3:21,metal4:35,metal5:41,metal:[27,41],meth_noargs:[8,9,13],meth_static:[8,9],meth_varargs:[8,9,13],method:[1,9,10,11,13,20,27],method_head:[8,9,13],micromet:[27,47],micron:22,microns:47,middl:31,migrat:39,million:41,miloyip:37,mimic:[9,35],minim:27,minimum:[40,41],minimumsid:40,minipag:38,minor:[35,37,41],mintracelevel:41,minut:41,mip:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],mirror:40,misc:[19,35,41],miscellan:1,miss:41,mistak:[9,16,31],mistral:31,mix:[4,5,11,23,37],mkdir:37,mode:1,model:[1,16,20,21,27],modelnam:[30,31],modif:[16,18,31,37,41],modifi:[13,18,19,31,37,40,41],modul:[1,7],modular:11,modules_stratu:31,mofi:17,monolith:11,more:[8,16,18,20,27,31,36,37,39,41],moreov:11,mosi:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],most:[31,35,41],mostli:[7,20,35,41],mous:41,movabl:41,move:41,mpxlib:35,msb:[29,31],msxlib4:35,much:[11,29,31,35],multipl:[22,27,31,39,41,47],multiplex:30,multiplexor:[1,29],multipli:[27,31],must:[7,8,9,11,16,17,19,20,21,22,27,31,32,35,37,40,41],mutat:9,mux2_8:30,mux:[29,31],mx2:31,my_addaccu_:31,my_and2_4bit:31,my_dpgen_and2:31,my_inv:16,myclass:[29,31],myfunc:20,myinst1:31,myinst2:31,myinst3:31,myinst:31,mymap:29,mynet:31,myparam:29,myref:31,myself:15,na2:31,na3:31,na4:31,name:[1,7,8,9,11],namespac:[1,7,8],nand2:30,nand2_8:30,nand2mask_0x0000ffff:30,nand3:30,nand3_20:30,nand4:30,nand4_9:30,nand:30,narrow:41,navig:18,nbit:[30,31],nbit_cmd:30,nbsp:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],nbuse29:30,nck:35,ncsu:22,nda:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],ndif:[16,27,31],nearest:40,need:[7,8,9,11,13,16,19,20,21,23,27,31,35,37,39,41],neg:31,neither:[9,31],nero:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],net8:31,net:[1,8,11,15],neta:31,netb:31,netc:31,netck:31,netcmd:31,netcout:31,netexternalcompon:[16,21],neti0:31,neti1:31,netin:31,netinput:29,netlist:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],netnam:31,neton:31,netout:31,netq:31,nets:31,netv:31,netvdd:31,netvss:31,never:18,nevertheless:31,newli:[16,31],newnet:31,newpag:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],next:[31,32,37],nimbu:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],nmux2_5:30,nmx2:31,nnnn:41,no2:31,no3:31,no4:31,node180:35,noflag:23,noindent:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],non:[1,9,11],noncommerci:26,none:[16,17,21,23,29,35,40,41],nor2:30,nor2_8:30,nor2mask_000111:30,nor3:30,nor3_3:30,nor4:30,nor4_15:30,nor:[9,30,31],normal:[23,41],normals:26,north:[31,40],nosym:[30,31],notat:[29,31,41],note:[1,8,9,27,30,31,37],now:[8,21,37,39,41],nsxlib:35,nterfac:32,ntie:[16,27,31],ntran:[16,31],ntrans:[16,27,31],nul:30,nul_4:30,number:[9,11,13,16,27,29,30,31,32,39,40,41],nutshel:37,nwell:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,31,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],nword:[30,31],nxr2:31,nymous_:18,o2_1:[21,23],o2_x2:[21,23],ob_typ:[8,9,13],object:[8,9,10,11,13,16,17,18,20,21,27,31,35,41],observ:32,obsolet:39,obstacl:39,obtain:[27,31,41],obviou:[13,41],obvious:11,obviousli:[11,21,27,40],occur:[11,16,30,31,37],occurr:8,ocp:27,octal:32,odd:[27,40],off:[11,27,31],offset:[27,31],offsetx:31,offsety:31,often:[27,41],old:[11,23,37,39],older:41,omit:40,ommit:41,onc:[9,11,31],once:[16,40,41],one:[8,21,30,31,40,41],onli:[8,10,11,15,16,17,18,20,21,22,23,27,29,30,31,32,35,37,39,40,41],only:[9,29,30,31,37],open:[16,17,20,21,23,29,31,41],opencham:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],oper:[1,11,20,21,29,30],operand:30,operat:30,opt:37,optim:[30,37],option:[1,9,17,19,29,30,31,32],optional:[32,35],optionn:[30,31],or2:[30,31],or2_8:30,or3:30,or3_5:30,or4:30,or4_16:30,order:[18,21,29,30,31,35,37,41,46],ordere:40,ordinari:[21,40],ored:30,org:26,organ:[9,18],organis:39,orient:27,orientat:21,origin:[11,27,41],osu_soc:22,other:[9,10,11,16,17,20,21,27,31,32,35,37,38,39,40,41],otherwis:[11,29,30,31,41],ouput:30,our:[9,11,20,35,37],out:[11,29,30,31,35],outdat:37,outer:39,outil:31,outlin:41,output:[29,30,31,32,39,41],outsid:[7,16,18],over:[10,18,21,23,27],overal:41,overflow:30,overhang:27,overlap:[27,41],overload:[9,16,41],overloard:[29,31],overrid:19,overriden:35,overwritten:41,own:[8,31,35,37,39,41],owner:16,p_a0:40,p_a1:40,p_a2:40,p_a3:40,p_b0:40,p_b1:40,p_b2:40,p_b3:40,p_cin:[31,40],p_ck:40,p_cout:[31,40],p_d0:40,p_d1:40,p_d2:40,p_d3:40,p_f3:40,p_i0:40,p_i1:40,p_i2:40,p_i3:40,p_i4:40,p_i5:40,p_i6:40,p_i7:40,p_i8:40,p_ng:[31,40],p_noe:40,p_np:[31,40],p_ovr:40,p_q0:40,p_q3:40,p_r0:40,p_r3:40,p_vddeck0:[31,40],p_vddeck1:[31,40],p_vddick0:40,p_vsseck0:40,p_vsseck1:[31,40],p_vssick0:[31,40],p_y0:40,p_y1:40,p_y2:40,p_y3:40,p_y:31,p_zero:40,packag:1,pad:[1,16],pad_east:29,pad_north:29,pad_south:29,pad_west:29,padeast:31,padnorth:31,padsouth:31,padwest:31,page:[21,46],pagestyl:26,pair:[16,31,40],paper:41,para:31,paradigm:35,parallel:37,param:[1,29,30],paramet:[1,9,11,13,21,23],parameterst:[19,23],paranoid:19,parent:9,pars:[8,31],parser:[27,39],part:[1,8],partial:[8,11,39],particular:[9,17,20],partit:40,paseast:31,pass:[11,21,40],paswest:31,pat:32,patamet:31,path:1,pathnam:31,patli:27,pattern:[1,29],pattern_begin:1,pattern_end:1,patwrit:1,paul:[26,38],pdf:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],pdif:[16,27,31],peopl:11,per:31,percentag:[35,41],perform:[9,30,31,35,37,39,40,41],perhap:41,peripheri:[31,35],permit:[30,31],persist:11,phfig:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],phseg:27,phvia:27,physic:[1,16,20],physical:31,physical_grid:27,pictur:[31,41],piec:31,pin:[20,21,31,47],pitch:[27,31],pixel:41,pixmap:41,place:[1,11,15,16,20],placeandrout:23,placebottom:1,placecentr:1,placecontact:1,placed:21,placeglu:1,placeleft:1,placement:[1,21,23,29,31,39],placementstatu:21,placepin:1,placer:1,placeref:1,placeright:1,placeseg:1,placetop:1,plain:10,plane:40,pleas:[16,31,37],plot:31,plu:31,plug:[15,16,20],plugin:[1,39],point1:31,point2:31,point:[9,10,11,13,16,20,21,27,31,32,35,40,41],pointer:[8,9,11,13],poli:[16,27,31],poly:[16,27,31],polysilicium:27,pop:30,popdefaultprior:35,popup:41,port:[29,31,32,37,39],posit:[16,27,31,40,41],possibl:[9,17,20,21,27,31,35,37,40,41],postfix:40,power:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20],powerr:1,practic:[7,27],pre:[37,41],preced:32,precis:[11,16,31,47],preclud:39,predic:9,prefix:[27,40],preliminari:39,prepend:35,prerequisit:37,presenc:8,present:[8,18,20,35,41],press:41,pretti:22,prevent:40,previou:[27,31,37,41],previous:[8,9,23,40],print:[1,18,20],printabl:[14,25,28,33,42],printer:41,prior:[16,22,23,41],prioriti:35,problem:39,proce:37,procedur:[31,32,33,41],process:[18,19,21,31,39,41],produc:32,profil:37,progess:20,program:[9,11,31],programm:30,progress:17,project:37,propag:[40,41],properti:[9,32],proprieti:32,protect:39,protocol:18,provid:[1,9,10,11,16,19],proxyerror:10,ptie:[27,31],ptqt4:37,ptran:[16,31],ptrans:[16,27,31],pub:[36,37],pull:37,pure:[19,20,41],purist:27,purpos:[17,31,41],push:30,pushdefaultprior:35,pust:31,put:[9,11,13,27,31,35,39,40,41],pwell:[27,31],pxlib:40,py_incref:[8,9],py_initmodul:[8,9],py_library_h:9,py_return_none:[8,10],pyany_aslong:[10,13],pyarg_parsetupl:[9,10,11,13],pycel:[8,9],pycell_link:[8,9],pycfunct:[8,9,13],pycompon:[8,11],pycomponent:8,pycomponent_destroi:8,pycomponent_getnet:8,pycomponent_getx:8,pycomponent_gety:8,pycomponent_link:8,pycomponent_linkpytyp:8,pycomponent_method:8,pycomponent_o:[8,11],pycontact:8,pycontact_cr:[8,11],pycontact_destroi:8,pycontact_getheight:8,pycontact_getwidth:8,pycontact_link:[8,11],pycontact_linkpytyp:8,pycontact_method:8,pycontact_o:8,pycpp:7,pydatabas:9,pydatabase_o:9,pydatabse_o:9,pydbu_fromlong:10,pyentiti:8,pyentity:8,pyentity_destroi:8,pyentity_getcel:8,pyentity_link:8,pyentity_linkpytyp:8,pyentity_method:8,pyentity_new:8,pyentity_o:8,pyerr_clear:11,pyerr_setstr:[8,9,10,11,13],pyhorizont:8,pyhorizontal_link:8,pyhorizontal_o:8,pyhurrican:[7,8,9,13],pyhurricane_method:[8,9],pyinclud:7,pyinstanc:11,pyinstance_link:11,pylay:11,pylayer_o:11,pylibrari:[7,9,11],pylibrary:9,pylibrary_cr:9,pylibrary_dealloc:9,pylibrary_destroi:9,pylibrary_getcel:9,pylibrary_link:9,pylibrary_linkpytyp:9,pylibrary_method:9,pylibrary_o:9,pymethoddef:[8,9,13],pymodule_addobject:[8,9],pynet:[8,11],pynet_link:8,pynet_o:11,pyobject:[8,9,10,11,13],pyobject_head:[8,9,13],pyobject_new:13,pypoint:[10,13],pypoint_dealloc:13,pypoint_getx:[10,13],pypoint_gety:13,pypoint_init:13,pypoint_link:13,pypoint_linkpytyp:13,pypoint_method:13,pypoint_new:13,pypoint_o:13,pypoint_setx:[10,13],pypoint_sety:13,pyqt4:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],pyqt5:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],pyqt:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],pyseg:8,pystring_asstr:9,python27:37,python2:37,python:[0,1,2,3,4,5,6,7],pythoncpp:14,pythonpath:[19,41],pythontutori:25,pytype_ready:[8,9],pytype_ready_sub:8,pytypecompon:[8,11],pytypecontact:8,pytypeent:8,pytypeinheritedobjectdefinit:8,pytypelay:11,pytypelibrari:[7,9],pytypenet:11,pytypeobject:[8,9,13],pytypeobjectdefinit:[9,13],pytypeobjectlinkpytyp:[8,9],pytypeobjectlinkpytypenewinit:13,pytypepoint:13,pytyperootobjectdefinit:8,pyvert:8,pyvertical_link:8,pyvertical_o:8,qt4:37,qt5:37,qtbase5:37,qtbase:37,qtsvg:37,quadri:40,quadtre:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],qualiti:41,quantiti:41,quarter:40,queri:16,quit:[29,41],qwt:37,rail:1,ram:[30,40],ram_32_32:30,ram_ct:40,rang:[31,32],rapidjson:37,rather:41,ratio:[23,41],rcw:27,rds:1,rds_activ:27,rds_alu1:27,rds_alu2:27,rds_alu3:27,rds_alu4:27,rds_alu5:27,rds_alu6:27,rds_cont:27,rds_gate:27,rds_ndif:27,rds_nimp:27,rds_pdif:27,rds_pimp:27,rds_poly:27,rds_via1:27,rds_via2:27,rds_via3:27,rds_via4:27,rds_via5:27,reach:[11,41],reachabl:41,read:[9,30,39,47],readabl:41,readi:16,real:[1,9,16,18],realli:[37,41],reason:27,recent:[27,31],recommand:41,recommended:32,record:41,rectang:27,rectangl:27,recurs:1,red:41,redefin:[8,35],redefinit:8,redhat:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36],redirect:41,redraw:41,reduc:39,redund:27,ref:30,refin:9,reflect:41,refnam:31,refresh:[29,31,41],reg:[29,31],regard:[20,31],regener:37,regex:37,regexp:35,regist:[1,7,9,29,30],regnumb:30,rel:[16,27,31,32,37],relat:[8,13,21,32,35,37,39,41],releas:[1,37,38],relev:[8,9,40],reli:[11,27,37,41],reload:41,remain:[8,9,13,18,41],remark:[8,35,41],rememb:8,remind:15,remov:[18,40,41],ren:30,renam:[40,47],render:41,reopen:17,reorganis:40,repeatedli:41,replac:[20,35,39,41],replic:9,repositori:[36,37,39],repoview:36,repres:[21,27,31,32,41,47],represent:41,request:[18,30,40],requir:[1,11,29,35],reserv:41,reset:[9,30,41],resizeab:1,resolut:[20,41],respect:[11,35,41],respons:[9,41],rest:[17,23],restart:[40,41],restructuredtext:37,result:[9,11,17,18,20,21,30,41],retain:11,revers:[8,11],revert:[37,39],rewrit:[11,39],rewritten:[39,41],rf1_4_16:30,rf1d_4_16:30,rhel6:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],rhel7:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],rhel:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],right:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,30,31,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],ring:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,31,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],rip:41,ripup:41,ripupcost:41,rise:[27,31],risk:27,rok:30,rom2_0b1010_0b1100:30,rom4_0b1010_0b1100_0b1111_0b0001:30,rom:30,root:[9,11,16,21,23,37],roselyn:[32,38],rot_m:31,rot_p:31,rotat:[21,30,31],rotop:30,rout:[1,20,23,27,29],routabl:41,routag:41,routageck:31,routeck:1,router:[1,16],routingdriven:41,routinggaug:35,row:21,rowend_x0:21,rp1:21,rp2:21,rpm:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],rsave:1,rubber:41,rule:[27,40,41],ruler:41,run:[16,17,19,22,23,31,35,37,40,41],runglobalrout:23,runnabl:16,runnegoci:23,runtim:41,s2r:27,safe:37,safeti:41,sai:[11,19,21,37,40],said:16,sake:[8,16],same:[7,8,11,16,18,21,27,29,31,32,35,41],sarri:30,satur:41,saturateratio:41,saturaterp:41,save:[1,8,9],savecel:[16,21,23],scale:26,scan:30,scarri:41,scheme:[37,40,41],scientif:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],scin:30,scn6m_deep_09:35,scope:20,scout:30,screen:41,script:[1,16],scriptmain:[16,17,21,23,40,41],scrub:9,search:[18,35,46],second:[11,16,21,27,30,31,35,37,41],section:[37,47],secur:35,see:[9,11,16,17,20,21,27,29,31,32,35,37,39,40,41],seem:[27,31,37,39,47],seen:[9,23],sefl:31,segment:[1,16,21],sel0:30,sel1:30,sel:30,select:[1,21,30,37],self:[8,9,10,13,20,29,30,31,32,35],selr:30,selram:30,selw:30,semant:[20,39],send:27,sens:41,sensit:31,sentinel:[8,9,13],separ:[9,11,27,29,37,39,40,41],sequenc:[23,31,41],sequenti:35,serv:[4,5],set:[1,7,9,10],setabutmentbox:[16,17,21],setadd:31,setand:31,setblockage:35,setbool:35,setbuff:31,setcatalog:35,setcel:[16,17,21,23],setclock:35,setcomp:31,setdiv:31,setdoubl:35,seteditor:40,setextern:[16,21,23],setglob:[16,21,23],setground:35,setin_lo:35,setin_ph:35,setint:35,setmult:31,setmux:31,setnet:[21,23],setnot:31,setor:31,setout_lo:35,setout_ph:35,setpad:35,setpercentag:35,setplacementstatu:21,setpower:35,setrefin:1,setreg:31,setscale_x:35,setshift:31,setstr:35,setstyl:35,setter:35,settermin:[16,17],settransform:21,setup:[9,16,19,23,35,37],setworking_library:35,setx:[10,13],setxor:31,sety:13,seven:41,sever:[11,29,31,41],sff2:31,sff3:31,sff:31,sff_4:30,sfft_4:30,shadow:18,shamt:30,shape:[23,27],share:[1,7,8],sharealik:26,she:8,shelf:11,shell:[19,31,37],shellsuccess:40,shift:[29,30,31,41],shifter:[1,29,30],shifter_4:30,ship:[35,39],shortcut:1,should:[11,13,19,31,32,37,41],shouldn:27,show:[11,16,18,27,35,41],shown:[9,27,31,40],shrot_4:30,si2:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],side:[27,31,40,41],sig:29,sign:[30,31],signal:[1,4,5,21,29,30],signalin:[30,31,32],signalinout:[30,31,32],signalout:[30,31,32],signalunknown:31,signatur:[8,9,11],silli:27,similar:[8,41],similarli:32,simpl:[1,22,27],simpler:37,simplest:16,simpli:[16,18,27,31],simplifi:[19,21,31,37,40],simul:[31,32,39],sinc:18,singl:41,size:[27,30,31,32,35,40,41],skip:18,slanski:31,slice:31,slight:20,sligthli:37,slot:41,slow:41,slsoc6x:37,slsoc6x_64:37,slsoc:36,small:[23,25,26,27,31,35,40,41],smallest:[30,47],smallskip:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],snapshot:1,snx:22,soc:[35,36,37],socket:41,softwar:1,sole:17,solut:41,solv:41,some:[1,11,16,18,20,27,29],someth:[16,20],sometim:21,somewhat:21,sophi:[29,30,31,38],sorbonn:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],sourc:[16,27,31,37,39,41],sout:[21,23,31],sout_1:[21,23],south:[31,40],space:[23,27,31,40,41],spacemargin:[23,41],span:13,spec:37,special:[9,19,20],specif:[9,20,35,40,41],specifi:[30,31,41],speed:41,speedup:39,sphinx:37,spl1:31,split:[11,40,41],spread:[23,41],squar:[23,27],src:37,sroka:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],st_config:31,stabl:[37,39],stack:9,stage:[37,41],stai:27,stamp:32,stand:[36,41],standalon:1,standard:[9,11,13],standard_instances_list:29,standart:[37,40],standpoint:27,start:[20,27,31,35,41],starter:15,state:[16,18,20,21,23,38,41],statement:[35,40,47],static_cast:[8,10],statu:21,stechno:40,step:[8,9,27,31,37,40,41,47],still:[8,13,28,37,39,41],stimuli:1,stimulu:32,stl:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],stop:[16,17,21,23,40,41],storag:47,store:[9,10,16,20,30,41],straightforward:22,straigthforward:21,strap:41,strapripuplimit:41,strategi:40,stratu:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28],stratus1:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],stratus2:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],stratus:31,stratus_mapping_name:31,stream:41,strict:[21,27],string:[9,16,20,30,31,32,35,40,41],strip:37,stroke:41,strongli:41,strongly:32,struct:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],structur:1,stuck:[27,30],stuf:40,stuff:29,style:[9,41],sub:[19,31,32,40],subject:41,subsequ:47,subset:35,substract:[30,31,41],substractor:30,subtli:18,succe:41,success:40,successful:41,successfulli:[37,41],sudo:37,suffer:41,suffic:41,suffix:40,suit:41,summar:20,summari:40,superpos:41,supli:30,suppli:[9,16],support:[7,9,11,13,20,23,32,37,39,41],suppress:41,sure:40,svn:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],swig:11,swiss:41,sxlib:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,31,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],sy_rm:31,sy_rp:31,sym:31,sym_x:31,sym_y:31,symbol:[1,9,16,19,22],symetr:31,symetri:[29,31],symmetri:21,symxy:31,sync:41,synch:41,synonym:23,synopsi:1,syntact:35,syntax:[1,9,20],synthesi:[1,22],synthet:[1,22,39,40],system:[21,31,35,37,39],tab:[1,21,29,31],table:27,tailor:9,take:[9,16,17,23,31,32,41],taken:[11,31,32],talu1:31,talu2:31,talu3:31,talu4:31,talu5:31,talu6:31,talux:27,target:[16,27],task:[8,19,37,41],technic:1,technolog:[16,19,21,22,31,35,41],tediou:[19,21,37],tee:41,tell:[9,16,19,27,29,30,35,37,40],temp:31,temp_ext:31,tempext:31,templat:11,temporari:47,ten:11,term:[31,38],termin:1,terminolog:16,test:[1,29],testbench:31,texliv:37,text:[31,40,41],textbf:26,textsc:26,textwidth:38,than:[11,27,31,39,41],thank:[11,29,31,40,41],thei:[9,11,16,19,20,27,29,31,35,37,39,40,41],them:[9,11,20,23,27,35,37,40,41],therefor:[21,30],thesi:41,thi:[8,9,11,13,14,15,16,18,19,20,21,23,25,26,27,28,29,30,31,32,33,35,37,39,40,41,42,47],thing:32,third:[21,27,30,37],thispagestyl:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],those:[8,9,18,19,21,27,29,30,31,37,40,41],though:11,three:[7,9,21,27,30,41],through:[9,11,15,16],througout:27,thu:[9,20,41],tie:27,tie_x0:21,time:[8,11,31,32,35,41],tmp:20,todai:16,todbu:[16,17,21,23],togeth:[30,39],toggl:41,tolambda:16,too:[11,23,27,31,41],tool:[1,11,17,19,20],toolchain:41,toolengin:23,toolkit:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],top:[31,37,40,41],topolog:41,toproutinglay:[35,41],total:41,toward:[11,19,31],tp_compar:9,tp_dealloc:9,tp_hash:9,tp_init:13,tp_method:9,tp_new:13,tp_repr:9,tp_str:9,trace:[9,35,41],track:41,track_spacing_alu1:27,track_spacing_alu2:27,track_spacing_alu3:27,track_spacing_alu4:27,track_spacing_alu5:27,track_spacing_alu6:27,track_spacing_alu7:27,track_spacing_alu8:27,track_width_alu1:27,track_width_alu2:27,track_width_alu3:27,track_width_alu4:27,track_width_alu5:27,track_width_alu6:27,track_width_alu7:27,track_width_alu8:27,transform:[9,20],transistor:27,transit:32,translat:[21,27],transmiss:11,transpar:27,tree:[1,8,11,31],tricki:11,trigger:41,tristat:[29,30,31,32],tristate:29,trough:40,tty:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],turn:[16,21,40,41],tutori:1,tweak:41,twenti:31,twentu:31,twice:[11,18,31],two:[8,11,15,16,17,19,20,21,23,27,29,30,31,32,35,37,39,40,41],type:[1,7,8],typebool:[19,23],typedef:[8,9,10,13],typeenumer:23,typepercentag:23,typic:[9,40],ubuntu:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36],uint64_t:10,unabl:37,unbound:10,uncheck:21,undef:[8,31],undefined:31,under:[1,9,11,16,17,19,21,22,23,26,27,35],underli:11,underscor:31,understand:[11,37,46],unexpectedli:18,unicorn:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33],unifi:41,uniform:23,uniformdens:[23,41],uniquif:41,uniquifi:41,unit:[10,11],units:47,univers:38,unknown:29,unlik:37,unlike:[15,16,39],unmov:41,unneed:21,unpackag:37,unplaced:29,unpredict:18,unrout:41,unselect:41,unsign:30,until:[21,23,41],unzoom:41,updat:9,updatesess:[16,17,20,21,23],upgrad:37,upmc:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],upon:[11,31,33,36,41],upper:[16,27,30,31,41],uppercas:16,usabl:[13,16,27],usage:[27,41],use:[19,31,32,37],used:[30,41],useful:[1,29],user:1,userfil:35,usersguid:42,using:16,usr:[16,21,23,31],usual:[8,9,16,20],utf:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],val0:30,val1:30,val2:30,val3:30,val:41,valgrind:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],valid:[9,11,30,35,40],valu:[1,8,9,13,19],variabl:[9,16,19,27,31,35],variant:30,variou:[9,11,16],vbe:[29,41],vdd:[16,21,23,29,30,31,32,35],vddin:[29,30,31,32],vector:[18,31,32],verbos:41,verboselevel1:[19,35,41],verboselevel2:[19,35,41],veri:[23,35,37,41],version:[1,7,14,25,28,33,36],vertic:[8,16,21,27,31,40,41],vertiv:31,vhdl:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,31,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],via12:[21,31],via1:31,via23:[21,31],via24:31,via25:31,via26:31,via2:31,via34:31,via35:31,via36:31,via3:31,via45:31,via46:31,via4:31,via56:31,via5:31,via:27,view:[9,16,18,20],viewer:[0,1,16,17,21,35,39,40],vim:31,vimrc:31,violet:41,virtual:[1,15],visibl:[16,41],visual:[27,41],visualis:16,vlsi:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,31,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],vlsisapd:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],vreservedloc:39,vspace:40,vss:[16,21,23,29,30,31,32,35],vssin:[29,30,31,32],vst:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,31,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],vtrackreservedloc:41,vtracksreservedloc:[35,41],vwidth:40,w7_64:37,w8_64:37,wai:[9,10,11,16,20,23,27,31,37,40,41],walk:41,walkthrough:18,wallac:31,want:[8,9,11,16,17,18,19,21,29,31,35,37,41],warn:11,wave:37,weak:41,weakli:16,weekli:21,well:[15,21,27,29,31,40,41],wen:30,were:[37,41],west:[31,40],wether:31,what:[9,11,17,21,27,31,41],whatev:[37,41],when:[10,11,19,27,29,30,31,35,37,40,41,47],where:[7,21,22,32,37,41],whether:[8,18,39,40,41],which:[7,8,9,13,16,17,19,20,21,27,29,31,32,35,37,38,39,40,41,47],white:41,whitespac:41,whithout:[35,40,41],whole:[8,27,30,39,40,41,47],whose:[20,35],why:[9,11],wich:31,widget:[37,39],width:[8,11,16,27,30,31,40,41],width_vdd:27,width_vss:27,wil:18,window:[37,41],within:[31,41],without:[16,17,27,29,30,31,39,41],wok:30,won:11,word:[30,31,32],word_length:32,work:[9,16,17,20],work_dir:16,work_lib:18,workhors:15,world:16,wors:41,would:[10,11,18,31],wrap:[7,9,11],wrapper:[9,11,23,35],write:[11,15,18,30,31,32,40,41],written:[9,11,12,13,16,18,20,35],wrong:31,www:[36,37,44,47,48],wysiwyg:41,x86_64:[36,37],x_grid:27,xml:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,31,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],xnor2:30,xnor2_8:30,xnor2mask_0b000111:30,xnor:30,xor2:[30,31],xor2_8:30,xor:30,xored:30,xoring:30,xr2:31,xr2_1:[21,23],xr2_2:[21,23],xr2_x1:[21,23],xr2_x2:[21,23],xxxx:37,y_grid:27,y_slice:27,yacc:37,year:[11,41],yet:[8,31,37,41],yield:31,yifei:[0,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25,26,27,28,33,34,35,36,37,38,39,40,41,42,43,44,45,47,48],yosi:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21],you:[11,16,17,18,19,20,21,22,23,25,26,27,30,31,32,35,37,40,41],your:[1,11,16,17,19,22],yum:37,zero:[11,27,30,31],zoom:41},titles:["Hurricane/Analog Reference","Comprenhensive Table of Contents","CRL Core Reference","Hurricane Reference","Katabatic Reference","Kite Reference","Oroshi Reference","2. Basic File Structure and CMake configuration","4. Case 2 - Hierarchy of DBo Derived Classes","3. Case 1 - DBo Derived, Standalone","6. Encapsulating DbU","1. Introduction","7. No C++ Hurricane::Name encapsulation","5. Case 3 - Non-DBo Standalone Classe","Hurricane Python/C++ API Tutorial","9. Advanced Topics","3. Making a Standard Cell – Layout","5. Make a script runnable through cgt","4. Manipulating Cells, Nets and Components","2. Setting up the Environment","1. Introduction","6. Making a hierarchical Cell – Netlist","7. Working in real mode","8. Tool Engines (CRL Core)","<no title>","Hurricane+Python Tutorial","<no title>","Symbolic Layout","RDS – Symbolic to Real Conversion in Alliance","Stratus Developper’s Guide","DpGen generators manual","Stratus User’s Guide","Patterns module User’s Guide","Stratus : Netlist Capture Language","Unicorn Reference","Coriolis Configuration & Initialisation","Complete Design Flow & Examples","Installation","Credits & License","Release Notes","Python Interface for Hurricane / Coriolis","CGT - The Graphical Interface","Coriolis User’s Guide","Viewer Reference","DEF API Reference","<no title>","Welcome to Coriolis’s documentation!","LEF API Reference","LEF/DEF Language Reference"],titleterms:{"boolean":31,"case":[8,9,13,21],"class":[8,9,13,29],"function":[15,31],"new":16,about:[11,18],abutment:16,activ:37,add:31,addaccu:31,adding:16,additionn:37,addpat:32,advanc:15,affect:31,affect_ani:32,affect_fix:32,affect_int:32,aliment:31,allianc:[28,37,41],allianceframework:[16,18],am2901:40,analog:0,anoth:31,api:[14,44,47],architectur:35,argument:31,arithmet:31,associat:9,attribut:29,base:[8,41],basic:7,blif:22,botch:11,box:16,branch:37,breakpoint:17,buffer:31,build:37,call:47,callback:47,captur:[33,41],cell:[16,18,21,31],cgt:[17,41],chip:40,choic:11,circuit:31,clock:40,cmake:7,collect:18,command:41,comparison:31,compat:37,complet:[16,21,23,36],compon:[16,18,27],comprehens:35,comprenhens:1,configur:[7,19,31,35,41],connect:21,connector:31,constant:31,constructor:20,content:1,control:41,convers:28,copyupseg:31,core:[2,16,23],corioli:[35,37,40,42,46],coriolis2:35,coriolisenv:37,creat:[16,21],creation:31,credit:38,crl:[2,16,23],data:[31,41],dbo:[8,9,13],dbu:[10,16],debian:37,debug:37,declar:32,declar_interfac:32,def:[44,48],defab:31,deriv:[8,9],descript:[29,31,32],design:[11,36,41],detail:41,develop:37,developp:29,directori:37,disclaim:11,disk:16,distribut:37,document:46,dpgen:[30,31],dpgenadsb2f:30,dpgenand2:30,dpgenand3:30,dpgenand4:30,dpgenbuff:30,dpgenbus:30,dpgenconst:30,dpgendff:30,dpgendfft:30,dpgenfifo:30,dpgeninv:30,dpgenmux2:30,dpgennand2:30,dpgennand2mask:30,dpgennand3:30,dpgennand4:30,dpgennbus:30,dpgennmux2:30,dpgennor2:30,dpgennor2mask:30,dpgennor3:30,dpgennor4:30,dpgennul:30,dpgenor2:30,dpgenor3:30,dpgenor4:30,dpgenram:30,dpgenrf1:30,dpgenrf1d:30,dpgenrom2:30,dpgenrom4:30,dpgensff:30,dpgensfft:30,dpgenshift:30,dpgenshrot:30,dpgenxnor2:30,dpgenxnor2mask:30,dpgenxor2:30,editor:31,enabl:37,encapsul:[10,12],engine:23,environ:[19,37],error:31,etesian:[23,41],exampl:[16,21,23,31,32,35,36,40],execut:[31,41],extens:31,facil:31,file:[7,8,9,13,16,19,21,22,27,31],fillcel:31,filter:41,first:11,fix:37,flow:36,from:21,gener:[20,30,31,35],get:16,getrefxy:31,global:41,graphic:41,grid:27,guid:[29,31,32,42],head:9,header:[8,9,13],hierarch:[15,21],hierarchi:8,highlight:31,hook:37,how:31,hurrican:[0,3,12,14,16,18,25,40,41],hypernet:15,implement:47,indice:46,initialis:35,inspector:41,install:37,installat:37,instanc:[21,29,31],instanci:31,instanciat:31,instanti:31,interfac:[40,41],intermedi:8,introduct:[11,20,31],katabat:4,katana:[23,41],kind:20,kite:5,lambda:27,languag:[33,48],layer:[16,41],layout:[16,27,31],lef:[22,47,48],librari:[9,31],licens:38,line:41,link:[9,31],list:31,load:[18,22,41],look:41,macos:37,make:[16,17,21],manipul:18,manual:30,map:31,mbk_to_rds_bigvia_hole:27,mbk_to_rds_bigvia_metal:27,mbk_to_rds_segment:27,mbk_to_rds_via:27,mbk_wiresetting:27,measur:16,mechan:16,memento:41,method:[29,31,32],miscella:15,miscellan:41,mode:[22,41],model:29,modul:[8,9,31,32],multiplexor:31,name:[12,31],namespac:9,net:[16,18,21,29,31],netlist:[21,31,33,41],non:13,note:[39,47],occurrenc:15,oper:31,option:41,order:47,oroshi:6,packag:[31,37],pad:31,param:31,paramet:[29,31,32,41],part:[9,32],path:[19,31],pattern:[31,32],pattern_begin:32,pattern_end:32,patwrit:32,physic:[21,27],place:[21,31],placebottom:31,placecentr:31,placecontact:31,placeglu:31,placeleft:31,placement:40,placepin:31,placer:[23,41],placeref:31,placeright:31,placeseg:31,placetop:31,plug:21,plugin:40,power:21,powerr:31,print:41,provid:31,python:[8,9,14,25,40,41],rail:31,rds:[27,28],real:[22,28],recurs:40,redhat:37,refer:[0,2,3,4,5,6,34,43,44,47,48],regist:31,regular:21,releas:39,requir:37,resizeab:31,restrict:18,rout:31,routeck:31,router:[23,41],routingpad:[15,21],rsave:40,runnabl:17,save:[16,40],script:[17,41],segment:27,select:41,session:16,set:[16,19,35,37,41],setrefin:31,share:9,shifter:31,shortcut:41,signal:31,simpl:40,snapshot:41,softwar:35,some:31,special:21,standalon:[9,13],standard:16,stimuli:31,stratu:[29,31,33,41],structur:7,suppli:21,symbol:[27,28],synopsi:[29,31],syntax:[31,32],synthesi:41,synthet:41,tab:41,tabl:[1,27,46],technic:11,techno:19,termin:8,terminolog:20,test:31,through:17,tool:[23,41],topic:15,tran:15,transform:21,tree:[37,40],tutori:[14,25],type:9,ubuntu:37,under:[37,41],understand:47,unicorn:34,unit:[16,47],useful:31,user:[19,31,32,35,42],using:17,valu:[27,31],variou:20,version:37,view:21,viewer:[41,43],virtual:31,welcom:46,wire:21,work:22,yosi:[22,41],your:31}}) \ No newline at end of file diff --git a/documentation/conf.py b/documentation/conf.py index 0c502ea6..81a8f72b 100644 --- a/documentation/conf.py +++ b/documentation/conf.py @@ -41,7 +41,7 @@ master_doc = 'index' # General information about the project. project = u'Coriolis' -copyright = u'2000-2018, UPMC' +copyright = u'2000-2019, Sorbonne Université' # The version info for the project you're documenting, acts as replacement for # |version| and |release|, also used in various other places throughout the diff --git a/documentation/etc/SoC-ReST.tex b/documentation/etc/SoC-ReST.tex index d1d61c3f..e00a1d31 100644 --- a/documentation/etc/SoC-ReST.tex +++ b/documentation/etc/SoC-ReST.tex @@ -16,6 +16,7 @@ \usepackage[paper=a4paper,headheight=30pt,tmargin=1.5in,bmargin=1in]{geometry} %\usepackage{layouts} + \definecolor{brickred} {rgb}{0.8 , 0.25, 0.33} \definecolor{brightmaroon}{rgb}{0.76, 0.13, 0.28} \definecolor{bleudefrance}{rgb}{0.19, 0.55, 0.91} diff --git a/documentation/etc/definitions.rst b/documentation/etc/definitions.rst index e9fcc144..d982b82c 100644 --- a/documentation/etc/definitions.rst +++ b/documentation/etc/definitions.rst @@ -26,6 +26,7 @@ .. Acronyms & names. +.. |NDA| replace:: :sc:`nda` .. |OS| replace:: :sc:`os` .. |GNU| replace:: :sc:`gnu` .. |LGPL| replace:: :sc:`lgpl` diff --git a/hurricane/doc/analog/html/graph_legend.html b/hurricane/doc/analog/html/graph_legend.html index 52cd60c5..28f2777b 100644 --- a/hurricane/doc/analog/html/graph_legend.html +++ b/hurricane/doc/analog/html/graph_legend.html @@ -74,7 +74,7 @@ A yellow dashed arrow denotes a relation between a template instance and the tem
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/analog/html/index.html b/hurricane/doc/analog/html/index.html index 7248bd16..dd54b80a 100644 --- a/hurricane/doc/analog/html/index.html +++ b/hurricane/doc/analog/html/index.html @@ -92,7 +92,7 @@ Open questions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/analog/latex/refman.tex b/hurricane/doc/analog/latex/refman.tex index 868679b6..4569d7e0 100644 --- a/hurricane/doc/analog/latex/refman.tex +++ b/hurricane/doc/analog/latex/refman.tex @@ -34,7 +34,7 @@ \vspace*{1cm} {\large Generated by Doxygen 1.8.14}\\ \vspace*{0.5cm} - {\small Sun May 26 2019 17:26:52}\\ + {\small Mon Oct 28 2019 18:06:31}\\ \end{center} \end{titlepage} diff --git a/hurricane/doc/hurricane/Cell.dox b/hurricane/doc/hurricane/Cell.dox index e9ca8e26..83cde708 100644 --- a/hurricane/doc/hurricane/Cell.dox +++ b/hurricane/doc/hurricane/Cell.dox @@ -141,6 +141,18 @@ * entities are taken into account in this Collection. */ + /*! \function Occurrences Cell::getLeafInstanceOccurrences ( const Instance* topInstance=NULL ) const; + * Returns the trans-hierarchical Collection of all instance Occurrences that are + * leaf cells. With the \c topInstance argument we can restrict the collection + * to leafs of that instance (of the current Cell) only. + */ + + /*! \function Occurrences Cell::getNonLeafInstanceOccurrences ( const Instance* topInstance=NULL ) const; + * Returns the trans-hierarchical Collection of all instance Occurrences that are + * \b not leaf cells. With the \c topInstance argument we can restrict the collection + * to non-leafs of that instance (of the current Cell) only. + */ + /*! \function Box Cell::getAbutmentBox () const; * Returns Returns the abutment box of the cell (which is defined by the * designer unlike the bounding box which is managed dynamically). diff --git a/hurricane/doc/hurricane/html/BasicLayer_8h_source.html b/hurricane/doc/hurricane/html/BasicLayer_8h_source.html index b0dc686c..8754d5f8 100644 --- a/hurricane/doc/hurricane/html/BasicLayer_8h_source.html +++ b/hurricane/doc/hurricane/html/BasicLayer_8h_source.html @@ -74,7 +74,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Box_8h_source.html b/hurricane/doc/hurricane/html/Box_8h_source.html index 72598651..b1cb1eca 100644 --- a/hurricane/doc/hurricane/html/Box_8h_source.html +++ b/hurricane/doc/hurricane/html/Box_8h_source.html @@ -80,7 +80,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Boxes_8h_source.html b/hurricane/doc/hurricane/html/Boxes_8h_source.html index df71793e..ba258a2e 100644 --- a/hurricane/doc/hurricane/html/Boxes_8h_source.html +++ b/hurricane/doc/hurricane/html/Boxes_8h_source.html @@ -50,7 +50,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Cell_8h_source.html b/hurricane/doc/hurricane/html/Cell_8h_source.html index a219ed55..ccaefec4 100644 --- a/hurricane/doc/hurricane/html/Cell_8h_source.html +++ b/hurricane/doc/hurricane/html/Cell_8h_source.html @@ -44,7 +44,8 @@ $(function() {
    Cell.h
    -
    1 // ****************************************************************************************************
    2 // File: ./hurricane/Cell.h
    3 // Authors: R. Escassut
    4 // Copyright (c) BULL S.A. 2000-2018, All Rights Reserved
    5 //
    6 // This file is part of Hurricane.
    7 //
    8 // Hurricane is free software: you can redistribute it and/or modify it under the terms of the GNU
    9 // Lesser General Public License as published by the Free Software Foundation, either version 3 of the
    10 // License, or (at your option) any later version.
    11 //
    12 // Hurricane is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
    13 // the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU
    14 // General Public License for more details.
    15 //
    16 // You should have received a copy of the Lesser GNU General Public License along with Hurricane. If
    17 // not, see <http://www.gnu.org/licenses/>.
    18 // ****************************************************************************************************
    19 
    20 #ifndef HURRICANE_CELL_H
    21 #define HURRICANE_CELL_H
    22 
    23 #include <limits>
    24 #include "hurricane/Flags.h"
    25 #include "hurricane/Observer.h"
    26 #include "hurricane/Signature.h"
    27 #include "hurricane/Relation.h"
    28 #include "hurricane/Pathes.h"
    29 #include "hurricane/Entity.h"
    30 #include "hurricane/Cells.h"
    31 #include "hurricane/DeepNet.h"
    32 #include "hurricane/Instance.h"
    33 #include "hurricane/Pin.h"
    34 #include "hurricane/Pins.h"
    35 #include "hurricane/Slices.h"
    36 #include "hurricane/ExtensionSlice.h"
    37 #include "hurricane/Rubbers.h"
    38 #include "hurricane/Markers.h"
    39 #include "hurricane/Marker.h"
    40 #include "hurricane/Reference.h"
    41 #include "hurricane/Components.h"
    42 #include "hurricane/Occurrences.h"
    43 #include "hurricane/Transformation.h"
    44 #include "hurricane/Layer.h"
    45 #include "hurricane/QuadTree.h"
    46 //#include "hurricane/IntrusiveMap.h"
    47 #include "hurricane/IntrusiveSet.h"
    48 #include "hurricane/MapCollection.h"
    49 #include "hurricane/NetAlias.h"
    50 
    51 
    52 
    53 namespace Hurricane {
    54 
    55 class Library;
    56 class BasicLayer;
    57 
    58 typedef multimap<Entity*,Entity*> SlaveEntityMap;
    59 
    60 
    61 
    62 // ****************************************************************************************************
    63 // Cell declaration
    64 // ****************************************************************************************************
    65 
    66 class Cell : public Entity {
    67 // *************************
    68 
    69 // Types
    70 // *****
    71 
    72  public: typedef Entity Inherit;
    73  public: typedef map<Name,ExtensionSlice*> ExtensionSliceMap;
    74 
    75  public: class Flags : public BaseFlags {
    76  public:
    77  enum Flag { NoFlags = (1 << 0)
    78  , BuildRings = (1 << 1)
    79  , BuildClockRings = (1 << 2)
    80  , BuildSupplyRings = (1 << 3)
    81  , NoClockFlatten = (1 << 4)
    82  , WarnOnUnplacedInstances = (1 << 5)
    83  , StayOnPlugs = (1 << 6)
    84  , MaskRings = BuildRings|BuildClockRings|BuildSupplyRings
    85  // Flags set for Observers.
    86  , CellAboutToChange = (1 << 10)
    87  , CellChanged = (1 << 11)
    88  , CellDestroyed = (1 << 12)
    89  // Cell states
    90  , Terminal = (1 << 20)
    91  , FlattenLeaf = (1 << 21)
    92  , Pad = (1 << 22)
    93  , Feed = (1 << 23)
    94  , FlattenedNets = (1 << 24)
    95  , Placed = (1 << 25)
    96  , Routed = (1 << 26)
    97  , MergedQuadTree = (1 << 27)
    98  , SlavedAb = (1 << 28)
    99  , Materialized = (1 << 29)
    100  };
    101 
    102  public:
    103  Flags ( uint64_t flags = NoFlags );
    104  virtual ~Flags ();
    105  virtual std::string _getTypeName () const;
    106  virtual std::string _getString () const;
    107  };
    108 
    109  class UniquifyRelation : public Relation {
    110  public:
    111  static UniquifyRelation* create ( Cell* );
    112  static UniquifyRelation* get ( const Cell* );
    113  virtual Name getName () const;
    114  static Name staticGetName ();
    115  Name getUniqueName ();
    116  static std::string getTrunkName ( Name name );
    117  virtual bool hasJson () const;
    118  virtual void toJson ( JsonWriter*, const DBo* ) const;
    119  inline void _setOwner ( Cell* );
    120  inline void _setDuplicates ( unsigned int );
    121  virtual string _getTypeName () const;
    122  virtual Record* _getRecord () const;
    123  private:
    124  static const Name _name;
    125  unsigned int _duplicates;
    126  private:
    127  UniquifyRelation ( Cell* );
    128  protected:
    129  virtual void _preDestroy ();
    130 
    131  public:
    132  class JsonProperty : public JsonObject {
    133  public:
    134  static void initialize ();
    135  JsonProperty ( unsigned long flags );
    136  virtual string getTypeName () const;
    137  virtual JsonProperty* clone ( unsigned long ) const;
    138  virtual void toData ( JsonStack& );
    139  };
    140  public:
    141  class JsonPropertyRef : public JsonObject {
    142  public:
    143  static void initialize ();
    144  JsonPropertyRef ( unsigned long flags );
    145  virtual string getTypeName () const;
    146  virtual JsonPropertyRef* clone ( unsigned long ) const;
    147  virtual void toData ( JsonStack& );
    148  };
    149  };
    150 
    151  class ClonedSet : public Collection<Cell*> {
    152  public:
    153  // Sub-Class: Locator.
    154  class Locator : public Hurricane::Locator<Cell*> {
    155  public:
    156  Locator ( const Cell* );
    157  inline Locator ( const Locator& );
    158  virtual Cell* getElement () const;
    159  virtual Hurricane::Locator<Cell*>* getClone () const;
    160  virtual bool isValid () const;
    161  virtual void progress ();
    162  virtual string _getString () const;
    163  protected:
    164  Hurricane::Locator<DBo*>* _dboLocator;
    165  };
    166 
    167  public:
    168  inline ClonedSet ( const Cell* cell );
    169  inline ClonedSet ( const ClonedSet& );
    170  virtual Hurricane::Collection<Cell*>* getClone () const;
    171  virtual Hurricane::Locator<Cell*>* getLocator () const;
    172  virtual string _getString () const;
    173  protected:
    174  const Cell* _cell;
    175  };
    176 
    177  class SlavedsRelation : public Relation {
    178  public:
    179  static SlavedsRelation* create ( Cell* );
    180  static SlavedsRelation* get ( const Cell* );
    181  virtual Name getName () const;
    182  static Name staticGetName ();
    183  virtual bool hasJson () const;
    184  virtual void toJson ( JsonWriter*, const DBo* ) const;
    185  inline void _setOwner ( Cell* );
    186  virtual string _getTypeName () const;
    187  virtual Record* _getRecord () const;
    188  private:
    189  static const Name _name;
    190  private:
    191  SlavedsRelation ( Cell* );
    192  protected:
    193  virtual void _preDestroy ();
    194 
    195  public:
    196  class JsonProperty : public JsonObject {
    197  public:
    198  static void initialize ();
    199  JsonProperty ( unsigned long flags );
    200  virtual string getTypeName () const;
    201  virtual JsonProperty* clone ( unsigned long ) const;
    202  virtual void toData ( JsonStack& );
    203  };
    204  public:
    205  class JsonPropertyRef : public JsonObject {
    206  public:
    207  static void initialize ();
    208  JsonPropertyRef ( unsigned long flags );
    209  virtual string getTypeName () const;
    210  virtual JsonPropertyRef* clone ( unsigned long ) const;
    211  virtual void toData ( JsonStack& );
    212  };
    213  };
    214 
    215  class SlavedsSet : public Collection<Cell*> {
    216  public:
    217  // Sub-Class: Locator.
    218  class Locator : public Hurricane::Locator<Cell*> {
    219  public:
    220  Locator ( const Cell* );
    221  inline Locator ( const Locator& );
    222  virtual Cell* getElement () const;
    223  virtual Hurricane::Locator<Cell*>* getClone () const;
    224  virtual bool isValid () const;
    225  virtual void progress ();
    226  virtual string _getString () const;
    227  protected:
    228  Hurricane::Locator<DBo*>* _dboLocator;
    229  };
    230 
    231  public:
    232  inline SlavedsSet ( const Cell* cell );
    233  inline SlavedsSet ( const SlavedsSet& );
    234  virtual Hurricane::Collection<Cell*>* getClone () const;
    235  virtual Hurricane::Locator<Cell*>* getLocator () const;
    236  virtual string _getString () const;
    237  protected:
    238  const Cell* _cell;
    239  };
    240 
    241  class InstanceMap : public IntrusiveMap<Name, Instance> {
    242  // ****************************************************
    243 
    244  public: typedef IntrusiveMap<Name, Instance> Inherit;
    245 
    246  public: InstanceMap();
    247 
    248  public: virtual Name _getKey(Instance* instance) const;
    249  public: virtual unsigned _getHashValue(Name name) const;
    250  public: virtual Instance* _getNextElement(Instance* instance) const;
    251  public: virtual void _setNextElement(Instance* instance, Instance* nextInstance) const;
    252 
    253  };
    254 
    255  public: class SlaveInstanceSet : public IntrusiveSet<Instance> {
    256  // ***********************************************************
    257 
    258  public: typedef IntrusiveSet<Instance> Inherit;
    259 
    260  public: SlaveInstanceSet();
    261 
    262  public: virtual unsigned _getHashValue(Instance* slaveInstance) const;
    263  public: virtual Instance* _getNextElement(Instance* slaveInstance) const;
    264  public: virtual void _setNextElement(Instance* slaveInstance, Instance* nextSlaveInstance) const;
    265 
    266  };
    267 
    268  public: class NetMap : public IntrusiveMapConst<Name, Net> {
    269  // *********************************************************
    270 
    271  public: typedef IntrusiveMapConst<Name, Net> Inherit;
    272 
    273  public: NetMap();
    274 
    275  public: virtual const Name& _getKey(Net* net) const;
    276  public: virtual unsigned _getHashValue(const Name& name) const;
    277  public: virtual Net* _getNextElement(Net* net) const;
    278  public: virtual void _setNextElement(Net* net, Net* nextNet) const;
    279 
    280  };
    281 
    282  class PinMap : public IntrusiveMap<Name, Pin> {
    283  // *******************************************
    284 
    285  public: typedef IntrusiveMap<Name, Pin> Inherit;
    286 
    287  public: PinMap();
    288 
    289  public: virtual Name _getKey(Pin* pin) const;
    290  public: virtual unsigned _getHashValue(Name name) const;
    291  public: virtual Pin* _getNextElement(Pin* pin) const;
    292  public: virtual void _setNextElement(Pin* pin, Pin* nextPin) const;
    293 
    294  };
    295 
    296  public: class SliceMap : public IntrusiveMap<const Layer*, Slice> {
    297  // **************************************************************
    298 
    299  public: typedef IntrusiveMap<const Layer*, Slice> Inherit;
    300 
    301  public: SliceMap();
    302 
    303  public: virtual const Layer* _getKey(Slice* slice) const;
    304  public: virtual unsigned _getHashValue(const Layer* layer) const;
    305  public: virtual Slice* _getNextElement(Slice* slice) const;
    306  public: virtual void _setNextElement(Slice* slice, Slice* nextSlice) const;
    307 
    308  };
    309 
    310  public: class MarkerSet : public IntrusiveSet<Marker> {
    311  // **************************************************
    312 
    313  public: typedef IntrusiveSet<Marker> Inherit;
    314 
    315  public: MarkerSet();
    316 
    317  public: virtual unsigned _getHashValue(Marker* marker) const;
    318  public: virtual Marker* _getNextElement(Marker* marker) const;
    319  public: virtual void _setNextElement(Marker* marker, Marker* nextMarker) const;
    320 
    321  };
    322 
    323 // Attributes
    324 // **********
    325 
    326  private: Library* _library;
    327  private: Name _name;
    328  private: Path _shuntedPath;
    329  private: InstanceMap _instanceMap;
    330  private: QuadTree* _quadTree;
    331  private: SlaveInstanceSet _slaveInstanceSet;
    332  private: NetMap _netMap;
    333  private: PinMap _pinMap;
    334  private: SliceMap* _sliceMap;
    335  private: ExtensionSliceMap _extensionSlices;
    336  private: MarkerSet _markerSet;
    337  private: Box _abutmentBox;
    338  private: Box _boundingBox;
    339  private: Cell* _nextOfLibraryCellMap;
    340  private: Cell* _nextOfSymbolCellSet;
    341  private: SlaveEntityMap _slaveEntityMap;
    342  private: AliasNameSet _netAliasSet;
    343  private: Observable _observers;
    344  private: Flags _flags;
    345 
    346 // Constructors
    347 // ************
    348 
    349  protected: Cell(Library* library, const Name& name);
    350 
    351 // Others
    352 // ******
    353 
    354  protected: virtual void _postCreate();
    355 
    356  protected: virtual void _preDestroy();
    357 
    358  public: virtual string _getTypeName() const {return _TName("Cell");};
    359  public: virtual string _getString() const;
    360  public: virtual Record* _getRecord() const;
    361  public: static string getFlagString( uint64_t );
    362  public: static Record* getFlagRecord( uint64_t );
    363  public: static Slot* getFlagSlot( uint64_t );
    364 
    365  public: InstanceMap& _getInstanceMap() {return _instanceMap;};
    366  public: QuadTree* _getQuadTree() {return _quadTree;};
    367  public: SlaveInstanceSet& _getSlaveInstanceSet() {return _slaveInstanceSet;};
    368  public: NetMap& _getNetMap() {return _netMap;};
    369  public: PinMap& _getPinMap() {return _pinMap;};
    370  public: SliceMap* _getSliceMap() {return _sliceMap;};
    371  public: ExtensionSliceMap& _getExtensionSliceMap() {return _extensionSlices;};
    372  public: MarkerSet& _getMarkerSet() {return _markerSet;};
    373  public: Cell* _getNextOfLibraryCellMap() const {return _nextOfLibraryCellMap;};
    374  public: Cell* _getNextOfSymbolCellSet() const {return _nextOfSymbolCellSet;};
    375  public: AliasNameSet& _getNetAliasSet() { return _netAliasSet; }
    376 
    377  public: void _setNextOfLibraryCellMap(Cell* cell) {_nextOfLibraryCellMap = cell;};
    378  public: void _setNextOfSymbolCellSet(Cell* cell) {_nextOfSymbolCellSet = cell;};
    379 
    380  public: void _addNetAlias(NetAliasName* alias) { _netAliasSet.insert(alias); }
    381  public: void _removeNetAlias(NetAliasName* alias) { _netAliasSet.erase(alias); }
    382 
    383  public: void _fit(const Box& box);
    384  public: void _unfit(const Box& box);
    385 
    386  public: void _addSlaveEntity(Entity* entity, Entity* slaveEntity);
    387  public: void _removeSlaveEntity(Entity* entity, Entity* slaveEntity);
    388  public: void _getSlaveEntities(SlaveEntityMap::iterator& begin, SlaveEntityMap::iterator& end);
    389  public: void _getSlaveEntities(Entity* entity, SlaveEntityMap::iterator& begin, SlaveEntityMap::iterator& end);
    390  public: void _insertSlice(ExtensionSlice*);
    391  public: void _removeSlice(ExtensionSlice*);
    392  public: void _slaveAbutmentBox(Cell*);
    393  public: void _changeQuadTree(Cell*);
    394  public: void _setShuntedPath(Path path) { _shuntedPath=path; }
    395  protected: void _setAbutmentBox(const Box& abutmentBox);
    396 
    397  public: virtual void _toJson(JsonWriter*) const;
    398  public: virtual void _toJsonCollections(JsonWriter*) const;
    399 
    400 // Constructors
    401 // ************
    402 
    403  public: static Cell* create(Library* library, const Name& name);
    404  public: static Cell* fromJson(const string& filename);
    405 
    406 // Accessors
    407 // *********
    408 
    409  public: virtual Cell* getCell() const {return (Cell*)this;};
    410  public: virtual Box getBoundingBox() const;
    411  public: Library* getLibrary() const {return _library;};
    412  public: string getHierarchicalName() const;
    413  public: const Name& getName() const {return _name;};
    414  public: const Flags& getFlags() const { return _flags; }
    415  public: Path getShuntedPath() const { return _shuntedPath; }
    416  public: Entity* getEntity(const Signature&) const;
    417  public: Instance* getInstance(const Name& name) const {return _instanceMap.getElement(name);};
    418  public: Instances getInstances() const {return _instanceMap.getElements();};
    419  public: Instances getPlacedInstances() const;
    420  public: Instances getFixedInstances() const;
    421  public: Instances getUnplacedInstances() const;
    422  public: Instances getNotUnplacedInstances() const;
    423  public: Instances getInstancesUnder(const Box& area) const;
    424  public: Instances getPlacedInstancesUnder(const Box& area) const;
    425  public: Instances getFixedInstancesUnder(const Box& area) const;
    426  public: Instances getUnplacedInstancesUnder(const Box& area) const;
    427  public: Instances getNotUnplacedInstancesUnder(const Box& area) const;
    428  public: Instances getSlaveInstances() const; // {return _slaveInstanceSet.getElements();}; NOON!!
    429  public: Instances getTerminalInstances() const;
    430  public: Instances getTerminalInstancesUnder(const Box& area) const;
    431  public: Instances getNonTerminalInstances() const;
    432  public: Instances getNonTerminalInstancesUnder(const Box& area) const;
    433  public: Instances getLeafInstances() const;
    434  public: Instances getLeafInstancesUnder(const Box& area) const;
    435  public: Instances getNonLeafInstances() const;
    436  public: Instances getNonLeafInstancesUnder(const Box& area) const;
    437  public: Net* getNet(const Name& name) const;
    438  public: DeepNet* getDeepNet( Path, const Net* ) const;
    439  public: Nets getNets() const {return _netMap.getElements();};
    440  public: Nets getGlobalNets() const;
    441  public: Nets getExternalNets() const;
    442  public: Nets getInternalNets() const;
    443  public: Nets getClockNets() const;
    444  public: Nets getSupplyNets() const;
    445  public: Nets getPowerNets() const;
    446  public: Nets getGroundNets() const;
    447  public: Pin* getPin(const Name& name) const {return _pinMap.getElement(name);};
    448  public: Pins getPins() const {return _pinMap.getElements();};
    449  public: Slice* getSlice(const Layer* layer) const {return _sliceMap->getElement(layer);};
    450  public: Slices getSlices(const Layer::Mask& mask = ~0) const;
    451  public: const ExtensionSliceMap& getExtensionSliceMap() const { return _extensionSlices; };
    452  public: ExtensionSlice* getExtensionSlice(const Name& name) const;
    453  public: ExtensionSlices getExtensionSlices(ExtensionSlice::Mask mask=~0) const;
    454  public: Rubbers getRubbers() const;
    455  public: Rubbers getRubbersUnder(const Box& area) const;
    456  public: Markers getMarkers() const {return _markerSet.getElements();};
    457  public: Markers getMarkersUnder(const Box& area) const;
    458  public: References getReferences() const;
    459  public: Components getComponents(const Layer::Mask& mask = ~0) const;
    460  public: Components getComponentsUnder(const Box& area, const Layer::Mask& mask = ~0) const;
    461  public: Occurrences getOccurrences(unsigned searchDepth = std::numeric_limits<unsigned int>::max()) const;
    462  public: Occurrences getOccurrencesUnder(const Box& area, unsigned searchDepth = std::numeric_limits<unsigned int>::max()) const;
    463  public: Occurrences getTerminalInstanceOccurrences() const;
    464  public: Occurrences getTerminalInstanceOccurrencesUnder(const Box& area) const;
    465  public: Occurrences getLeafInstanceOccurrences() const;
    466  public: Occurrences getLeafInstanceOccurrencesUnder(const Box& area) const;
    467  public: Occurrences getNonLeafInstanceOccurrences() const;
    468  public: Occurrences getComponentOccurrences(const Layer::Mask& mask = ~0) const;
    469  public: Occurrences getComponentOccurrencesUnder(const Box& area, const Layer::Mask& mask = ~0) const;
    470  public: Occurrences getHyperNetRootNetOccurrences() const;
    471  public: ExtensionSlice::Mask getExtensionSliceMask ( const Name& name ) const;
    472  public: Gos getExtensionGos ( const Name& name ) const;
    473  public: Gos getExtensionGos ( ExtensionSlice::Mask mask = ~0 ) const;
    474  public: Gos getExtensionGosUnder ( const Box& area, const Name& name ) const;
    475  public: Gos getExtensionGosUnder ( const Box& area, ExtensionSlice::Mask mask = ~0 ) const;
    476  public: Cells getSubCells() const;
    477  public: Cells getClonedCells() const;
    478  public: Cell* getCloneMaster() const;
    479  public: Pathes getRecursiveSlavePathes() const;
    480  public: const Box& getAbutmentBox() const {return _abutmentBox;};
    481 
    482 // Predicates
    483 // **********
    484 
    485  public: bool isCalledBy(Cell* cell) const;
    486  public: bool isTerminal() const {return _flags.isset(Flags::Terminal);};
    487  public: bool isFlattenLeaf() const {return _flags.isset(Flags::FlattenLeaf);};
    488  public: bool isLeaf() const;
    489  public: bool isUnique() const;
    490  public: bool isUniquified() const;
    491  public: bool isUniquifyMaster() const;
    492  public: bool isPad() const {return _flags.isset(Flags::Pad);};
    493  public: bool isFeed() const {return _flags.isset(Flags::Feed);};
    494  public: bool isFlattenedNets() const {return _flags.isset(Flags::FlattenedNets);};
    495  public: bool isPlaced() const {return _flags.isset(Flags::Placed);};
    496  public: bool isRouted() const {return _flags.isset(Flags::Routed);};
    497  public: bool isNetAlias(const Name& name) const;
    498 
    499 // Updators
    500 // ********
    501 
    502  public: void setName(const Name& name);
    503  public: void setAbutmentBox(const Box& abutmentBox);
    504  public: void slaveAbutmentBox(Cell*);
    505  public: void unslaveAbutmentBox(Cell*);
    506  public: void setTerminal(bool isTerminal) {_flags.set(Flags::Terminal,isTerminal);};
    507  public: void setFlattenLeaf(bool isFlattenLeaf) {_flags.set(Flags::FlattenLeaf,isFlattenLeaf);};
    508  public: void setPad(bool isPad) {_flags.set(Flags::Pad,isPad);};
    509  public: void setFeed(bool isFeed) {_flags.set(Flags::Feed,isFeed);};
    510  public: void setRouted(bool isRouted) {_flags.set(Flags::Routed,isRouted);};
    511  public: void flattenNets(uint64_t flags=Flags::BuildRings);
    512  public: void flattenNets(const Instance* instance, uint64_t flags=Flags::BuildRings);
    513  public: void createRoutingPadRings(uint64_t flags=Flags::BuildRings);
    514  public: void setFlags(uint64_t flags) { _flags |= flags; }
    515  public: void resetFlags(uint64_t flags) { _flags &= ~flags; }
    516  public: bool updatePlacedFlag();
    517  public: void materialize();
    518  public: void unmaterialize();
    519  public: Cell* getClone();
    520  public: void uniquify(unsigned int depth=std::numeric_limits<unsigned int>::max());
    521  public: void addObserver(BaseObserver*);
    522  public: void removeObserver(BaseObserver*);
    523  public: void notify(unsigned flags);
    524 
    525 };
    526 
    527 
    528 inline Cell::ClonedSet::Locator::Locator ( const Locator& other )
    529  : Hurricane::Locator<Cell*>()
    530  , _dboLocator(other._dboLocator)
    531 { }
    532 
    533 inline Cell::ClonedSet::ClonedSet ( const Cell* cell )
    534  : Hurricane::Collection<Cell*>()
    535  , _cell(cell)
    536 { }
    537 
    538 inline Cell::ClonedSet::ClonedSet ( const ClonedSet& other )
    539  : Hurricane::Collection<Cell*>()
    540  , _cell(other._cell)
    541 { }
    542 
    543 
    544 inline void Cell::UniquifyRelation::_setOwner ( Cell* owner ) { _setMasterOwner(owner); }
    545 inline void Cell::UniquifyRelation::_setDuplicates ( unsigned int duplicates ) { _duplicates=duplicates; }
    546 
    547 
    548 inline Cell::SlavedsSet::Locator::Locator ( const Locator& other )
    549  : Hurricane::Locator<Cell*>()
    550  , _dboLocator(other._dboLocator)
    551 { }
    552 
    553 inline Cell::SlavedsSet::SlavedsSet ( const Cell* cell )
    554  : Hurricane::Collection<Cell*>()
    555  , _cell(cell)
    556 { }
    557 
    558 inline Cell::SlavedsSet::SlavedsSet ( const SlavedsSet& other )
    559  : Hurricane::Collection<Cell*>()
    560  , _cell(other._cell)
    561 { }
    562 
    563 
    564 inline void Cell::SlavedsRelation::_setOwner ( Cell* owner ) { _setMasterOwner(owner); }
    565 
    566 
    567 class JsonCell : public JsonEntity {
    568 // *********************************
    569 
    570  public: static void initialize();
    571  public: JsonCell(unsigned long flags);
    572  public: virtual ~JsonCell();
    573  public: virtual string getTypeName() const;
    574  public: virtual JsonCell* clone(unsigned long) const;
    575  public: virtual void toData(JsonStack&);
    576  private: Cell* _cell;
    577  private: bool _materializationState;
    578 };
    579 
    580 } // End of Hurricane namespace.
    581 
    582 
    583 INSPECTOR_P_SUPPORT(Hurricane::Cell);
    584 INSPECTOR_P_SUPPORT(Hurricane::Cell::Flags);
    585 INSPECTOR_P_SUPPORT(Hurricane::Cell::InstanceMap);
    586 INSPECTOR_P_SUPPORT(Hurricane::Cell::SlaveInstanceSet);
    587 INSPECTOR_P_SUPPORT(Hurricane::Cell::NetMap);
    588 INSPECTOR_P_SUPPORT(Hurricane::Cell::PinMap);
    589 INSPECTOR_P_SUPPORT(Hurricane::Cell::SliceMap);
    590 INSPECTOR_P_SUPPORT(Hurricane::Cell::MarkerSet);
    591 
    592 
    593 #endif // HURRICANE_CELL_H
    594 
    595 
    596 // ****************************************************************************************************
    597 // Copyright (c) BULL S.A. 2000-2018, All Rights Reserved
    598 // ****************************************************************************************************
    Path description (API)
    Definition: Path.h:37
    +
    1 // ****************************************************************************************************
    2 // File: ./hurricane/Cell.h
    3 // Authors: R. Escassut
    4 // Copyright (c) BULL S.A. 2000-2018, All Rights Reserved
    5 //
    6 // This file is part of Hurricane.
    7 //
    8 // Hurricane is free software: you can redistribute it and/or modify it under the terms of the GNU
    9 // Lesser General Public License as published by the Free Software Foundation, either version 3 of the
    10 // License, or (at your option) any later version.
    11 //
    12 // Hurricane is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
    13 // the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU
    14 // General Public License for more details.
    15 //
    16 // You should have received a copy of the Lesser GNU General Public License along with Hurricane. If
    17 // not, see <http://www.gnu.org/licenses/>.
    18 // ****************************************************************************************************
    19 
    20 #ifndef HURRICANE_CELL_H
    21 #define HURRICANE_CELL_H
    22 
    23 #include <limits>
    24 #include "hurricane/Flags.h"
    25 #include "hurricane/Observer.h"
    26 #include "hurricane/Signature.h"
    27 #include "hurricane/Relation.h"
    28 #include "hurricane/Pathes.h"
    29 #include "hurricane/Entity.h"
    30 #include "hurricane/Cells.h"
    31 #include "hurricane/DeepNet.h"
    32 #include "hurricane/Instance.h"
    33 #include "hurricane/Pin.h"
    34 #include "hurricane/Pins.h"
    35 #include "hurricane/Slices.h"
    36 #include "hurricane/ExtensionSlice.h"
    37 #include "hurricane/Rubbers.h"
    38 #include "hurricane/Markers.h"
    39 #include "hurricane/Marker.h"
    40 #include "hurricane/Reference.h"
    41 #include "hurricane/Components.h"
    42 #include "hurricane/Occurrences.h"
    43 #include "hurricane/Transformation.h"
    44 #include "hurricane/Layer.h"
    45 #include "hurricane/QuadTree.h"
    46 //#include "hurricane/IntrusiveMap.h"
    47 #include "hurricane/IntrusiveSet.h"
    48 #include "hurricane/MapCollection.h"
    49 #include "hurricane/NetAlias.h"
    50 
    51 
    52 
    53 namespace Hurricane {
    54 
    55 class Library;
    56 class BasicLayer;
    57 
    58 typedef multimap<Entity*,Entity*> SlaveEntityMap;
    59 
    60 
    61 
    62 // ****************************************************************************************************
    63 // Cell declaration
    64 // ****************************************************************************************************
    65 
    66 class Cell : public Entity {
    67 // *************************
    68 
    69 // Types
    70 // *****
    71 
    72  public: typedef Entity Inherit;
    73  public: typedef map<Name,ExtensionSlice*> ExtensionSliceMap;
    74 
    75  public: class Flags : public BaseFlags {
    76  public:
    77  enum Flag { NoFlags = (1 << 0)
    78  , BuildRings = (1 << 1)
    79  , BuildClockRings = (1 << 2)
    80  , BuildSupplyRings = (1 << 3)
    81  , NoClockFlatten = (1 << 4)
    82  , WarnOnUnplacedInstances = (1 << 5)
    83  , StayOnPlugs = (1 << 6)
    84  , MaskRings = BuildRings|BuildClockRings|BuildSupplyRings
    85  // Flags set for Observers.
    86  , CellAboutToChange = (1 << 10)
    87  , CellChanged = (1 << 11)
    88  , CellDestroyed = (1 << 12)
    89  // Cell states
    90  , Terminal = (1 << 20)
    91  , FlattenLeaf = (1 << 21)
    92  , Pad = (1 << 22)
    93  , Feed = (1 << 23)
    94  , FlattenedNets = (1 << 24)
    95  , Placed = (1 << 25)
    96  , Routed = (1 << 26)
    97  , MergedQuadTree = (1 << 27)
    98  , SlavedAb = (1 << 28)
    99  , Materialized = (1 << 29)
    100  };
    101 
    102  public:
    103  Flags ( uint64_t flags = NoFlags );
    104  virtual ~Flags ();
    105  virtual std::string _getTypeName () const;
    106  virtual std::string _getString () const;
    107  };
    108 
    109  class UniquifyRelation : public Relation {
    110  public:
    111  static UniquifyRelation* create ( Cell* );
    112  static UniquifyRelation* get ( const Cell* );
    113  virtual Name getName () const;
    114  static Name staticGetName ();
    115  Name getUniqueName ();
    116  static std::string getTrunkName ( Name name );
    117  virtual bool hasJson () const;
    118  virtual void toJson ( JsonWriter*, const DBo* ) const;
    119  inline void _setOwner ( Cell* );
    120  inline void _setDuplicates ( unsigned int );
    121  virtual string _getTypeName () const;
    122  virtual Record* _getRecord () const;
    123  private:
    124  static const Name _name;
    125  unsigned int _duplicates;
    126  private:
    127  UniquifyRelation ( Cell* );
    128  protected:
    129  virtual void _preDestroy ();
    130 
    131  public:
    132  class JsonProperty : public JsonObject {
    133  public:
    134  static void initialize ();
    135  JsonProperty ( unsigned long flags );
    136  virtual string getTypeName () const;
    137  virtual JsonProperty* clone ( unsigned long ) const;
    138  virtual void toData ( JsonStack& );
    139  };
    140  public:
    141  class JsonPropertyRef : public JsonObject {
    142  public:
    143  static void initialize ();
    144  JsonPropertyRef ( unsigned long flags );
    145  virtual string getTypeName () const;
    146  virtual JsonPropertyRef* clone ( unsigned long ) const;
    147  virtual void toData ( JsonStack& );
    148  };
    149  };
    150 
    151  class ClonedSet : public Collection<Cell*> {
    152  public:
    153  // Sub-Class: Locator.
    154  class Locator : public Hurricane::Locator<Cell*> {
    155  public:
    156  Locator ( const Cell* );
    157  inline Locator ( const Locator& );
    158  virtual Cell* getElement () const;
    159  virtual Hurricane::Locator<Cell*>* getClone () const;
    160  virtual bool isValid () const;
    161  virtual void progress ();
    162  virtual string _getString () const;
    163  protected:
    164  Hurricane::Locator<DBo*>* _dboLocator;
    165  };
    166 
    167  public:
    168  inline ClonedSet ( const Cell* cell );
    169  inline ClonedSet ( const ClonedSet& );
    170  virtual Hurricane::Collection<Cell*>* getClone () const;
    171  virtual Hurricane::Locator<Cell*>* getLocator () const;
    172  virtual string _getString () const;
    173  protected:
    174  const Cell* _cell;
    175  };
    176 
    177  class SlavedsRelation : public Relation {
    178  public:
    179  static SlavedsRelation* create ( Cell* );
    180  static SlavedsRelation* get ( const Cell* );
    181  virtual Name getName () const;
    182  static Name staticGetName ();
    183  virtual bool hasJson () const;
    184  virtual void toJson ( JsonWriter*, const DBo* ) const;
    185  inline void _setOwner ( Cell* );
    186  virtual string _getTypeName () const;
    187  virtual Record* _getRecord () const;
    188  private:
    189  static const Name _name;
    190  private:
    191  SlavedsRelation ( Cell* );
    192  protected:
    193  virtual void _preDestroy ();
    194 
    195  public:
    196  class JsonProperty : public JsonObject {
    197  public:
    198  static void initialize ();
    199  JsonProperty ( unsigned long flags );
    200  virtual string getTypeName () const;
    201  virtual JsonProperty* clone ( unsigned long ) const;
    202  virtual void toData ( JsonStack& );
    203  };
    204  public:
    205  class JsonPropertyRef : public JsonObject {
    206  public:
    207  static void initialize ();
    208  JsonPropertyRef ( unsigned long flags );
    209  virtual string getTypeName () const;
    210  virtual JsonPropertyRef* clone ( unsigned long ) const;
    211  virtual void toData ( JsonStack& );
    212  };
    213  };
    214 
    215  class SlavedsSet : public Collection<Cell*> {
    216  public:
    217  // Sub-Class: Locator.
    218  class Locator : public Hurricane::Locator<Cell*> {
    219  public:
    220  Locator ( const Cell* );
    221  inline Locator ( const Locator& );
    222  virtual Cell* getElement () const;
    223  virtual Hurricane::Locator<Cell*>* getClone () const;
    224  virtual bool isValid () const;
    225  virtual void progress ();
    226  virtual string _getString () const;
    227  protected:
    228  Hurricane::Locator<DBo*>* _dboLocator;
    229  };
    230 
    231  public:
    232  inline SlavedsSet ( const Cell* cell );
    233  inline SlavedsSet ( const SlavedsSet& );
    234  virtual Hurricane::Collection<Cell*>* getClone () const;
    235  virtual Hurricane::Locator<Cell*>* getLocator () const;
    236  virtual string _getString () const;
    237  protected:
    238  const Cell* _cell;
    239  };
    240 
    241  class InstanceMap : public IntrusiveMap<Name, Instance> {
    242  // ****************************************************
    243 
    244  public: typedef IntrusiveMap<Name, Instance> Inherit;
    245 
    246  public: InstanceMap();
    247 
    248  public: virtual Name _getKey(Instance* instance) const;
    249  public: virtual unsigned _getHashValue(Name name) const;
    250  public: virtual Instance* _getNextElement(Instance* instance) const;
    251  public: virtual void _setNextElement(Instance* instance, Instance* nextInstance) const;
    252 
    253  };
    254 
    255  public: class SlaveInstanceSet : public IntrusiveSet<Instance> {
    256  // ***********************************************************
    257 
    258  public: typedef IntrusiveSet<Instance> Inherit;
    259 
    260  public: SlaveInstanceSet();
    261 
    262  public: virtual unsigned _getHashValue(Instance* slaveInstance) const;
    263  public: virtual Instance* _getNextElement(Instance* slaveInstance) const;
    264  public: virtual void _setNextElement(Instance* slaveInstance, Instance* nextSlaveInstance) const;
    265 
    266  };
    267 
    268  public: class NetMap : public IntrusiveMapConst<Name, Net> {
    269  // *********************************************************
    270 
    271  public: typedef IntrusiveMapConst<Name, Net> Inherit;
    272 
    273  public: NetMap();
    274 
    275  public: virtual const Name& _getKey(Net* net) const;
    276  public: virtual unsigned _getHashValue(const Name& name) const;
    277  public: virtual Net* _getNextElement(Net* net) const;
    278  public: virtual void _setNextElement(Net* net, Net* nextNet) const;
    279 
    280  };
    281 
    282  class PinMap : public IntrusiveMap<Name, Pin> {
    283  // *******************************************
    284 
    285  public: typedef IntrusiveMap<Name, Pin> Inherit;
    286 
    287  public: PinMap();
    288 
    289  public: virtual Name _getKey(Pin* pin) const;
    290  public: virtual unsigned _getHashValue(Name name) const;
    291  public: virtual Pin* _getNextElement(Pin* pin) const;
    292  public: virtual void _setNextElement(Pin* pin, Pin* nextPin) const;
    293 
    294  };
    295 
    296  public: class SliceMap : public IntrusiveMap<const Layer*, Slice> {
    297  // **************************************************************
    298 
    299  public: typedef IntrusiveMap<const Layer*, Slice> Inherit;
    300 
    301  public: SliceMap();
    302 
    303  public: virtual const Layer* _getKey(Slice* slice) const;
    304  public: virtual unsigned _getHashValue(const Layer* layer) const;
    305  public: virtual Slice* _getNextElement(Slice* slice) const;
    306  public: virtual void _setNextElement(Slice* slice, Slice* nextSlice) const;
    307 
    308  };
    309 
    310  public: class MarkerSet : public IntrusiveSet<Marker> {
    311  // **************************************************
    312 
    313  public: typedef IntrusiveSet<Marker> Inherit;
    314 
    315  public: MarkerSet();
    316 
    317  public: virtual unsigned _getHashValue(Marker* marker) const;
    318  public: virtual Marker* _getNextElement(Marker* marker) const;
    319  public: virtual void _setNextElement(Marker* marker, Marker* nextMarker) const;
    320 
    321  };
    322 
    323 // Attributes
    324 // **********
    325 
    326  private: Library* _library;
    327  private: Name _name;
    328  private: Path _shuntedPath;
    329  private: InstanceMap _instanceMap;
    330  private: QuadTree* _quadTree;
    331  private: SlaveInstanceSet _slaveInstanceSet;
    332  private: NetMap _netMap;
    333  private: PinMap _pinMap;
    334  private: SliceMap* _sliceMap;
    335  private: ExtensionSliceMap _extensionSlices;
    336  private: MarkerSet _markerSet;
    337  private: Box _abutmentBox;
    338  private: Box _boundingBox;
    339  private: Cell* _nextOfLibraryCellMap;
    340  private: Cell* _nextOfSymbolCellSet;
    341  private: SlaveEntityMap _slaveEntityMap;
    342  private: AliasNameSet _netAliasSet;
    343  private: Observable _observers;
    344  private: Flags _flags;
    345 
    346 // Constructors
    347 // ************
    348 
    349  protected: Cell(Library* library, const Name& name);
    350 
    351 // Others
    352 // ******
    353 
    354  protected: virtual void _postCreate();
    355 
    356  protected: virtual void _preDestroy();
    357 
    358  public: virtual string _getTypeName() const {return _TName("Cell");};
    359  public: virtual string _getString() const;
    360  public: virtual Record* _getRecord() const;
    361  public: static string getFlagString( uint64_t );
    362  public: static Record* getFlagRecord( uint64_t );
    363  public: static Slot* getFlagSlot( uint64_t );
    364 
    365  public: InstanceMap& _getInstanceMap() {return _instanceMap;};
    366  public: QuadTree* _getQuadTree() {return _quadTree;};
    367  public: SlaveInstanceSet& _getSlaveInstanceSet() {return _slaveInstanceSet;};
    368  public: NetMap& _getNetMap() {return _netMap;};
    369  public: PinMap& _getPinMap() {return _pinMap;};
    370  public: SliceMap* _getSliceMap() {return _sliceMap;};
    371  public: ExtensionSliceMap& _getExtensionSliceMap() {return _extensionSlices;};
    372  public: MarkerSet& _getMarkerSet() {return _markerSet;};
    373  public: Cell* _getNextOfLibraryCellMap() const {return _nextOfLibraryCellMap;};
    374  public: Cell* _getNextOfSymbolCellSet() const {return _nextOfSymbolCellSet;};
    375  public: AliasNameSet& _getNetAliasSet() { return _netAliasSet; }
    376 
    377  public: void _setNextOfLibraryCellMap(Cell* cell) {_nextOfLibraryCellMap = cell;};
    378  public: void _setNextOfSymbolCellSet(Cell* cell) {_nextOfSymbolCellSet = cell;};
    379 
    380  public: void _addNetAlias(NetAliasName* alias) { _netAliasSet.insert(alias); }
    381  public: void _removeNetAlias(NetAliasName* alias) { _netAliasSet.erase(alias); }
    382 
    383  public: void _fit(const Box& box);
    384  public: void _unfit(const Box& box);
    385 
    386  public: void _addSlaveEntity(Entity* entity, Entity* slaveEntity);
    387  public: void _removeSlaveEntity(Entity* entity, Entity* slaveEntity);
    388  public: void _getSlaveEntities(SlaveEntityMap::iterator& begin, SlaveEntityMap::iterator& end);
    389  public: void _getSlaveEntities(Entity* entity, SlaveEntityMap::iterator& begin, SlaveEntityMap::iterator& end);
    390  public: void _insertSlice(ExtensionSlice*);
    391  public: void _removeSlice(ExtensionSlice*);
    392  public: void _slaveAbutmentBox(Cell*);
    393  public: void _changeQuadTree(Cell*);
    394  public: void _setShuntedPath(Path path) { _shuntedPath=path; }
    395  protected: void _setAbutmentBox(const Box& abutmentBox);
    396 
    397  public: virtual void _toJson(JsonWriter*) const;
    398  public: virtual void _toJsonCollections(JsonWriter*) const;
    399 
    400 // Constructors
    401 // ************
    402 
    403  public: static Cell* create(Library* library, const Name& name);
    404  public: static Cell* fromJson(const string& filename);
    405 
    406 // Accessors
    407 // *********
    408 
    409  public: virtual Cell* getCell() const {return (Cell*)this;};
    410  public: virtual Box getBoundingBox() const;
    411  public: Library* getLibrary() const {return _library;};
    412  public: string getHierarchicalName() const;
    413  public: const Name& getName() const {return _name;};
    414  public: const Flags& getFlags() const { return _flags; }
    415  public: Path getShuntedPath() const { return _shuntedPath; }
    416  public: Entity* getEntity(const Signature&) const;
    417  public: Instance* getInstance(const Name& name) const {return _instanceMap.getElement(name);};
    418  public: Instances getInstances() const {return _instanceMap.getElements();};
    419  public: Instances getPlacedInstances() const;
    420  public: Instances getFixedInstances() const;
    421  public: Instances getUnplacedInstances() const;
    422  public: Instances getNotUnplacedInstances() const;
    423  public: Instances getInstancesUnder(const Box& area) const;
    424  public: Instances getPlacedInstancesUnder(const Box& area) const;
    425  public: Instances getFixedInstancesUnder(const Box& area) const;
    426  public: Instances getUnplacedInstancesUnder(const Box& area) const;
    427  public: Instances getNotUnplacedInstancesUnder(const Box& area) const;
    428  public: Instances getSlaveInstances() const; // {return _slaveInstanceSet.getElements();}; NOON!!
    429  public: Instances getTerminalInstances() const;
    430  public: Instances getTerminalInstancesUnder(const Box& area) const;
    431  public: Instances getNonTerminalInstances() const;
    432  public: Instances getNonTerminalInstancesUnder(const Box& area) const;
    433  public: Instances getLeafInstances() const;
    434  public: Instances getLeafInstancesUnder(const Box& area) const;
    435  public: Instances getNonLeafInstances() const;
    436  public: Instances getNonLeafInstancesUnder(const Box& area) const;
    437  public: Net* getNet(const Name& name) const;
    438  public: DeepNet* getDeepNet( Path, const Net* ) const;
    439  public: Nets getNets() const {return _netMap.getElements();};
    440  public: Nets getGlobalNets() const;
    441  public: Nets getExternalNets() const;
    442  public: Nets getInternalNets() const;
    443  public: Nets getClockNets() const;
    444  public: Nets getSupplyNets() const;
    445  public: Nets getPowerNets() const;
    446  public: Nets getGroundNets() const;
    447  public: Pin* getPin(const Name& name) const {return _pinMap.getElement(name);};
    448  public: Pins getPins() const {return _pinMap.getElements();};
    449  public: Slice* getSlice(const Layer* layer) const {return _sliceMap->getElement(layer);};
    450  public: Slices getSlices(const Layer::Mask& mask = ~0) const;
    451  public: const ExtensionSliceMap& getExtensionSliceMap() const { return _extensionSlices; };
    452  public: ExtensionSlice* getExtensionSlice(const Name& name) const;
    453  public: ExtensionSlices getExtensionSlices(ExtensionSlice::Mask mask=~0) const;
    454  public: Rubbers getRubbers() const;
    455  public: Rubbers getRubbersUnder(const Box& area) const;
    456  public: Markers getMarkers() const {return _markerSet.getElements();};
    457  public: Markers getMarkersUnder(const Box& area) const;
    458  public: References getReferences() const;
    459  public: Components getComponents(const Layer::Mask& mask = ~0) const;
    460  public: Components getComponentsUnder(const Box& area, const Layer::Mask& mask = ~0) const;
    461  public: Occurrences getOccurrences(unsigned searchDepth = std::numeric_limits<unsigned int>::max()) const;
    462  public: Occurrences getOccurrencesUnder(const Box& area, unsigned searchDepth = std::numeric_limits<unsigned int>::max()) const;
    463  public: Occurrences getTerminalInstanceOccurrences() const;
    464  public: Occurrences getTerminalInstanceOccurrencesUnder(const Box& area) const;
    465  public: Occurrences getLeafInstanceOccurrences( const Instance* topInstance=NULL ) const;
    466  public: Occurrences getLeafInstanceOccurrencesUnder(const Box& area) const;
    467  public: Occurrences getNonLeafInstanceOccurrences( const Instance* topInstance=NULL ) const;
    468  public: Occurrences getComponentOccurrences(const Layer::Mask& mask = ~0) const;
    469  public: Occurrences getComponentOccurrencesUnder(const Box& area, const Layer::Mask& mask = ~0) const;
    470  public: Occurrences getHyperNetRootNetOccurrences() const;
    471  public: ExtensionSlice::Mask getExtensionSliceMask ( const Name& name ) const;
    472  public: Gos getExtensionGos ( const Name& name ) const;
    473  public: Gos getExtensionGos ( ExtensionSlice::Mask mask = ~0 ) const;
    474  public: Gos getExtensionGosUnder ( const Box& area, const Name& name ) const;
    475  public: Gos getExtensionGosUnder ( const Box& area, ExtensionSlice::Mask mask = ~0 ) const;
    476  public: Cells getSubCells() const;
    477  public: Cells getClonedCells() const;
    478  public: Cell* getCloneMaster() const;
    479  public: Pathes getRecursiveSlavePathes() const;
    480  public: const Box& getAbutmentBox() const {return _abutmentBox;};
    481 
    482 // Predicates
    483 // **********
    484 
    485  public: bool isCalledBy(Cell* cell) const;
    486  public: bool isTerminal() const {return _flags.isset(Flags::Terminal);};
    487  public: bool isFlattenLeaf() const {return _flags.isset(Flags::FlattenLeaf);};
    488  public: bool isLeaf() const;
    489  public: bool isUnique() const;
    490  public: bool isUniquified() const;
    491  public: bool isUniquifyMaster() const;
    492  public: bool isPad() const {return _flags.isset(Flags::Pad);};
    493  public: bool isFeed() const {return _flags.isset(Flags::Feed);};
    494  public: bool isFlattenedNets() const {return _flags.isset(Flags::FlattenedNets);};
    495  public: bool isPlaced() const {return _flags.isset(Flags::Placed);};
    496  public: bool isRouted() const {return _flags.isset(Flags::Routed);};
    497  public: bool isNetAlias(const Name& name) const;
    498 
    499 // Updators
    500 // ********
    501 
    502  public: void setName(const Name& name);
    503  public: void setAbutmentBox(const Box& abutmentBox);
    504  public: void slaveAbutmentBox(Cell*);
    505  public: void unslaveAbutmentBox(Cell*);
    506  public: void setTerminal(bool isTerminal) {_flags.set(Flags::Terminal,isTerminal);};
    507  public: void setFlattenLeaf(bool isFlattenLeaf) {_flags.set(Flags::FlattenLeaf,isFlattenLeaf);};
    508  public: void setPad(bool isPad) {_flags.set(Flags::Pad,isPad);};
    509  public: void setFeed(bool isFeed) {_flags.set(Flags::Feed,isFeed);};
    510  public: void setRouted(bool isRouted) {_flags.set(Flags::Routed,isRouted);};
    511  public: void flattenNets(uint64_t flags=Flags::BuildRings);
    512  public: void flattenNets(const Instance* instance, uint64_t flags=Flags::BuildRings);
    513  public: void createRoutingPadRings(uint64_t flags=Flags::BuildRings);
    514  public: void setFlags(uint64_t flags) { _flags |= flags; }
    515  public: void resetFlags(uint64_t flags) { _flags &= ~flags; }
    516  public: bool updatePlacedFlag();
    517  public: void materialize();
    518  public: void unmaterialize();
    519  public: Cell* getClone();
    520  public: void uniquify(unsigned int depth=std::numeric_limits<unsigned int>::max());
    521  public: void addObserver(BaseObserver*);
    522  public: void removeObserver(BaseObserver*);
    523  public: void notify(unsigned flags);
    524 
    525 };
    526 
    527 
    528 inline Cell::ClonedSet::Locator::Locator ( const Locator& other )
    529  : Hurricane::Locator<Cell*>()
    530  , _dboLocator(other._dboLocator)
    531 { }
    532 
    533 inline Cell::ClonedSet::ClonedSet ( const Cell* cell )
    534  : Hurricane::Collection<Cell*>()
    535  , _cell(cell)
    536 { }
    537 
    538 inline Cell::ClonedSet::ClonedSet ( const ClonedSet& other )
    539  : Hurricane::Collection<Cell*>()
    540  , _cell(other._cell)
    541 { }
    542 
    543 
    544 inline void Cell::UniquifyRelation::_setOwner ( Cell* owner ) { _setMasterOwner(owner); }
    545 inline void Cell::UniquifyRelation::_setDuplicates ( unsigned int duplicates ) { _duplicates=duplicates; }
    546 
    547 
    548 inline Cell::SlavedsSet::Locator::Locator ( const Locator& other )
    549  : Hurricane::Locator<Cell*>()
    550  , _dboLocator(other._dboLocator)
    551 { }
    552 
    553 inline Cell::SlavedsSet::SlavedsSet ( const Cell* cell )
    554  : Hurricane::Collection<Cell*>()
    555  , _cell(cell)
    556 { }
    557 
    558 inline Cell::SlavedsSet::SlavedsSet ( const SlavedsSet& other )
    559  : Hurricane::Collection<Cell*>()
    560  , _cell(other._cell)
    561 { }
    562 
    563 
    564 inline void Cell::SlavedsRelation::_setOwner ( Cell* owner ) { _setMasterOwner(owner); }
    565 
    566 
    567 class JsonCell : public JsonEntity {
    568 // *********************************
    569 
    570  public: static void initialize();
    571  public: JsonCell(unsigned long flags);
    572  public: virtual ~JsonCell();
    573  public: virtual string getTypeName() const;
    574  public: virtual JsonCell* clone(unsigned long) const;
    575  public: virtual void toData(JsonStack&);
    576  private: Cell* _cell;
    577  private: bool _materializationState;
    578 };
    579 
    580 } // End of Hurricane namespace.
    581 
    582 
    583 INSPECTOR_P_SUPPORT(Hurricane::Cell);
    584 INSPECTOR_P_SUPPORT(Hurricane::Cell::Flags);
    585 INSPECTOR_P_SUPPORT(Hurricane::Cell::InstanceMap);
    586 INSPECTOR_P_SUPPORT(Hurricane::Cell::SlaveInstanceSet);
    587 INSPECTOR_P_SUPPORT(Hurricane::Cell::NetMap);
    588 INSPECTOR_P_SUPPORT(Hurricane::Cell::PinMap);
    589 INSPECTOR_P_SUPPORT(Hurricane::Cell::SliceMap);
    590 INSPECTOR_P_SUPPORT(Hurricane::Cell::MarkerSet);
    591 
    592 
    593 #endif // HURRICANE_CELL_H
    594 
    595 
    596 // ****************************************************************************************************
    597 // Copyright (c) BULL S.A. 2000-2018, All Rights Reserved
    598 // ****************************************************************************************************
    Occurrences getLeafInstanceOccurrences(const Instance *topInstance=NULL) const
    +
    Path description (API)
    Definition: Path.h:37
    Collection description (API)
    Definition: Collection.h:39
    Pad description (API)
    Definition: Pad.h:36
    Library description (API)
    Definition: Library.h:38
    @@ -97,6 +98,7 @@ $(function() {
    GenericCollection< Path > Pathes
    Definition: Pathes.h:34
    void setName(const Name &name)
    Instance * getInstance(const Name &name) const
    Definition: Cell.h:417
    +
    Occurrences getNonLeafInstanceOccurrences(const Instance *topInstance=NULL) const
    The namespace dedicated to Hurricane.
    Definition: Generalities.dox:5
    QuadTree description (API)
    Definition: QuadTree.h:35
    GenericCollection< Component * > Components
    Definition: Components.h:27
    @@ -112,7 +114,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Cells_8h_source.html b/hurricane/doc/hurricane/html/Cells_8h_source.html index 1c817db5..b15dc88b 100644 --- a/hurricane/doc/hurricane/html/Cells_8h_source.html +++ b/hurricane/doc/hurricane/html/Cells_8h_source.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Collection_8h_source.html b/hurricane/doc/hurricane/html/Collection_8h_source.html index 6ceaacd2..b9971d87 100644 --- a/hurricane/doc/hurricane/html/Collection_8h_source.html +++ b/hurricane/doc/hurricane/html/Collection_8h_source.html @@ -76,7 +76,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Commons_8h_source.html b/hurricane/doc/hurricane/html/Commons_8h_source.html index 7db56f32..e4c12e6a 100644 --- a/hurricane/doc/hurricane/html/Commons_8h_source.html +++ b/hurricane/doc/hurricane/html/Commons_8h_source.html @@ -63,7 +63,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Component_8h_source.html b/hurricane/doc/hurricane/html/Component_8h_source.html index 74ff4473..c74f14f9 100644 --- a/hurricane/doc/hurricane/html/Component_8h_source.html +++ b/hurricane/doc/hurricane/html/Component_8h_source.html @@ -76,7 +76,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Components_8h_source.html b/hurricane/doc/hurricane/html/Components_8h_source.html index cab03c9d..e95a1891 100644 --- a/hurricane/doc/hurricane/html/Components_8h_source.html +++ b/hurricane/doc/hurricane/html/Components_8h_source.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/ContactLayer_8h_source.html b/hurricane/doc/hurricane/html/ContactLayer_8h_source.html index 5fb7e559..e03a9487 100644 --- a/hurricane/doc/hurricane/html/ContactLayer_8h_source.html +++ b/hurricane/doc/hurricane/html/ContactLayer_8h_source.html @@ -59,7 +59,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Contact_8h_source.html b/hurricane/doc/hurricane/html/Contact_8h_source.html index 29af1af7..3677951c 100644 --- a/hurricane/doc/hurricane/html/Contact_8h_source.html +++ b/hurricane/doc/hurricane/html/Contact_8h_source.html @@ -81,7 +81,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Contacts_8h_source.html b/hurricane/doc/hurricane/html/Contacts_8h_source.html index dc75c463..ad0b9302 100644 --- a/hurricane/doc/hurricane/html/Contacts_8h_source.html +++ b/hurricane/doc/hurricane/html/Contacts_8h_source.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/DBo_8h_source.html b/hurricane/doc/hurricane/html/DBo_8h_source.html index aa6131bf..8b00ff62 100644 --- a/hurricane/doc/hurricane/html/DBo_8h_source.html +++ b/hurricane/doc/hurricane/html/DBo_8h_source.html @@ -61,7 +61,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/DBos_8h_source.html b/hurricane/doc/hurricane/html/DBos_8h_source.html index 045e2398..24a70651 100644 --- a/hurricane/doc/hurricane/html/DBos_8h_source.html +++ b/hurricane/doc/hurricane/html/DBos_8h_source.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/DataBase_8h_source.html b/hurricane/doc/hurricane/html/DataBase_8h_source.html index 6083619c..b6b42361 100644 --- a/hurricane/doc/hurricane/html/DataBase_8h_source.html +++ b/hurricane/doc/hurricane/html/DataBase_8h_source.html @@ -59,7 +59,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/DbU_8h_source.html b/hurricane/doc/hurricane/html/DbU_8h_source.html index 24de6f41..df727ea6 100644 --- a/hurricane/doc/hurricane/html/DbU_8h_source.html +++ b/hurricane/doc/hurricane/html/DbU_8h_source.html @@ -98,7 +98,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/DebugSession_8h_source.html b/hurricane/doc/hurricane/html/DebugSession_8h_source.html index 554efac9..4bb7f636 100644 --- a/hurricane/doc/hurricane/html/DebugSession_8h_source.html +++ b/hurricane/doc/hurricane/html/DebugSession_8h_source.html @@ -62,7 +62,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Diagonal_8h_source.html b/hurricane/doc/hurricane/html/Diagonal_8h_source.html index 84c68ca7..8a313b36 100644 --- a/hurricane/doc/hurricane/html/Diagonal_8h_source.html +++ b/hurricane/doc/hurricane/html/Diagonal_8h_source.html @@ -62,7 +62,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/DiffusionLayer_8h_source.html b/hurricane/doc/hurricane/html/DiffusionLayer_8h_source.html index b1ec678e..8364e474 100644 --- a/hurricane/doc/hurricane/html/DiffusionLayer_8h_source.html +++ b/hurricane/doc/hurricane/html/DiffusionLayer_8h_source.html @@ -59,7 +59,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Entities_8h_source.html b/hurricane/doc/hurricane/html/Entities_8h_source.html index cda4af08..cd1e0251 100644 --- a/hurricane/doc/hurricane/html/Entities_8h_source.html +++ b/hurricane/doc/hurricane/html/Entities_8h_source.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Entity_8h_source.html b/hurricane/doc/hurricane/html/Entity_8h_source.html index 1aa30286..47090495 100644 --- a/hurricane/doc/hurricane/html/Entity_8h_source.html +++ b/hurricane/doc/hurricane/html/Entity_8h_source.html @@ -59,7 +59,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Error_8h_source.html b/hurricane/doc/hurricane/html/Error_8h_source.html index 8bf06491..41fe8ace 100644 --- a/hurricane/doc/hurricane/html/Error_8h_source.html +++ b/hurricane/doc/hurricane/html/Error_8h_source.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Exception_8h_source.html b/hurricane/doc/hurricane/html/Exception_8h_source.html index bc7dcab9..5c8268aa 100644 --- a/hurricane/doc/hurricane/html/Exception_8h_source.html +++ b/hurricane/doc/hurricane/html/Exception_8h_source.html @@ -56,7 +56,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Filter_8h_source.html b/hurricane/doc/hurricane/html/Filter_8h_source.html index a4778c45..c1e7f9b9 100644 --- a/hurricane/doc/hurricane/html/Filter_8h_source.html +++ b/hurricane/doc/hurricane/html/Filter_8h_source.html @@ -61,7 +61,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Go_8h_source.html b/hurricane/doc/hurricane/html/Go_8h_source.html index b7812075..209aaa74 100644 --- a/hurricane/doc/hurricane/html/Go_8h_source.html +++ b/hurricane/doc/hurricane/html/Go_8h_source.html @@ -63,7 +63,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Gos_8h_source.html b/hurricane/doc/hurricane/html/Gos_8h_source.html index b1430960..fc95724d 100644 --- a/hurricane/doc/hurricane/html/Gos_8h_source.html +++ b/hurricane/doc/hurricane/html/Gos_8h_source.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Hook_8h_source.html b/hurricane/doc/hurricane/html/Hook_8h_source.html index c0b64373..8d49e366 100644 --- a/hurricane/doc/hurricane/html/Hook_8h_source.html +++ b/hurricane/doc/hurricane/html/Hook_8h_source.html @@ -67,7 +67,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Hooks_8h_source.html b/hurricane/doc/hurricane/html/Hooks_8h_source.html index ed9a0472..3a1309aa 100644 --- a/hurricane/doc/hurricane/html/Hooks_8h_source.html +++ b/hurricane/doc/hurricane/html/Hooks_8h_source.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Horizontal_8h_source.html b/hurricane/doc/hurricane/html/Horizontal_8h_source.html index 42d7b985..925bf6b9 100644 --- a/hurricane/doc/hurricane/html/Horizontal_8h_source.html +++ b/hurricane/doc/hurricane/html/Horizontal_8h_source.html @@ -65,7 +65,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Horizontals_8h_source.html b/hurricane/doc/hurricane/html/Horizontals_8h_source.html index 6fb48f8b..c51e94ed 100644 --- a/hurricane/doc/hurricane/html/Horizontals_8h_source.html +++ b/hurricane/doc/hurricane/html/Horizontals_8h_source.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/HyperNet_8h_source.html b/hurricane/doc/hurricane/html/HyperNet_8h_source.html index c1337d25..d4cddd28 100644 --- a/hurricane/doc/hurricane/html/HyperNet_8h_source.html +++ b/hurricane/doc/hurricane/html/HyperNet_8h_source.html @@ -63,7 +63,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Initializer_8h_source.html b/hurricane/doc/hurricane/html/Initializer_8h_source.html index 1904e888..452d5283 100644 --- a/hurricane/doc/hurricane/html/Initializer_8h_source.html +++ b/hurricane/doc/hurricane/html/Initializer_8h_source.html @@ -52,7 +52,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Instance_8h_source.html b/hurricane/doc/hurricane/html/Instance_8h_source.html index 430f4594..359e70ca 100644 --- a/hurricane/doc/hurricane/html/Instance_8h_source.html +++ b/hurricane/doc/hurricane/html/Instance_8h_source.html @@ -86,7 +86,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Instances_8h_source.html b/hurricane/doc/hurricane/html/Instances_8h_source.html index 55b3ecd8..3630d0ed 100644 --- a/hurricane/doc/hurricane/html/Instances_8h_source.html +++ b/hurricane/doc/hurricane/html/Instances_8h_source.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Interruption_8h_source.html b/hurricane/doc/hurricane/html/Interruption_8h_source.html index 845ef036..8849983e 100644 --- a/hurricane/doc/hurricane/html/Interruption_8h_source.html +++ b/hurricane/doc/hurricane/html/Interruption_8h_source.html @@ -55,7 +55,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Interval_8h_source.html b/hurricane/doc/hurricane/html/Interval_8h_source.html index 2b73585d..74eea0d4 100644 --- a/hurricane/doc/hurricane/html/Interval_8h_source.html +++ b/hurricane/doc/hurricane/html/Interval_8h_source.html @@ -72,7 +72,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Intervals_8h_source.html b/hurricane/doc/hurricane/html/Intervals_8h_source.html index 2e24d84e..e8552502 100644 --- a/hurricane/doc/hurricane/html/Intervals_8h_source.html +++ b/hurricane/doc/hurricane/html/Intervals_8h_source.html @@ -50,7 +50,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/JsonObject_8h_source.html b/hurricane/doc/hurricane/html/JsonObject_8h_source.html index 53eb3794..4a62db5c 100644 --- a/hurricane/doc/hurricane/html/JsonObject_8h_source.html +++ b/hurricane/doc/hurricane/html/JsonObject_8h_source.html @@ -92,7 +92,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/JsonReader_8h_source.html b/hurricane/doc/hurricane/html/JsonReader_8h_source.html index e2b8deaa..5b3fac3e 100644 --- a/hurricane/doc/hurricane/html/JsonReader_8h_source.html +++ b/hurricane/doc/hurricane/html/JsonReader_8h_source.html @@ -50,7 +50,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Layer_8h_source.html b/hurricane/doc/hurricane/html/Layer_8h_source.html index ee4ae742..9b691d4b 100644 --- a/hurricane/doc/hurricane/html/Layer_8h_source.html +++ b/hurricane/doc/hurricane/html/Layer_8h_source.html @@ -44,11 +44,11 @@ $(function() {
    Layer.h
    -
    1 
    2 // -*- C++ -*-
    3 //
    4 // Copyright (c) BULL S.A. 2000-2018, All Rights Reserved
    5 //
    6 // This file is part of Hurricane.
    7 //
    8 // Hurricane is free software: you can redistribute it and/or modify
    9 // it under the terms of the GNU Lesser General Public License as
    10 // published by the Free Software Foundation, either version 3 of the
    11 // License, or (at your option) any later version.
    12 //
    13 // Hurricane is distributed in the hope that it will be useful, but
    14 // WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN-
    15 // TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU
    16 // General Public License for more details.
    17 //
    18 // You should have received a copy of the Lesser GNU General Public
    19 // License along with Hurricane. If not, see
    20 // <http://www.gnu.org/licenses/>.
    21 //
    22 // +-----------------------------------------------------------------+
    23 // | H U R R I C A N E |
    24 // | V L S I B a c k e n d D a t a - B a s e |
    25 // | |
    26 // | Author : Remy Escassut |
    27 // | E-mail : Jean-Paul.Chaput@lip6.fr |
    28 // | =============================================================== |
    29 // | C++ Header : "./hurricane/Layer.h" |
    30 // +-----------------------------------------------------------------+
    31 
    32 
    33 #ifndef HURRICANE_LAYER_H
    34 #define HURRICANE_LAYER_H
    35 
    36 #include "hurricane/Mask.h"
    37 #include "hurricane/DBo.h"
    38 #include "hurricane/Layers.h"
    39 #include "hurricane/DbU.h"
    40 #include "hurricane/BasicLayers.h"
    41 
    42 
    43 namespace Hurricane {
    44 
    45 
    46  class Technology;
    47 
    48 
    49 // -------------------------------------------------------------------
    50 // Class : "Hurricane::Layer".
    51 
    52  class Layer : public DBo {
    53  public:
    54  typedef DBo Super;
    55  public:
    56  static const uint32_t NoFlags = 0;
    57  static const uint32_t EnclosureH = (1 << 0);
    58  static const uint32_t EnclosureV = (1 << 1);
    59  static const uint32_t EnclosureMax = (1 << 2);
    60  static const uint32_t ExtensionCap = (1 << 3);
    61  static const uint32_t ExtensionWidth = (1 << 4);
    62 
    63  public:
    64  // Types.
    65  typedef Hurricane::Mask<unsigned long long> Mask;
    66  // Accessors.
    67  inline Technology* getTechnology () const;
    68  inline const Name& getName () const;
    69  inline const Mask& getMask () const;
    70  inline const Mask& getExtractMask () const;
    71  inline const DbU::Unit& getMinimalSize () const;
    72  inline const DbU::Unit& getMinimalSpacing () const;
    73  virtual BasicLayers getBasicLayers () const = 0;
    74  virtual const Layer* getBlockageLayer () const;
    75  virtual const Layer* getTop () const;
    76  virtual const Layer* getBottom () const;
    77  virtual const Layer* getOpposite ( const Layer* ) const;
    78  Layer* getMetalAbove ( bool useSymbolic=true ) const;
    79  Layer* getMetalBelow ( bool useSymbolic=true ) const;
    80  Layer* getCutAbove ( bool useSymbolic=true ) const;
    81  Layer* getCutBelow ( bool useSymbolic=true ) const;
    82  virtual DbU::Unit getEnclosure ( uint32_t flags ) const;
    83  virtual DbU::Unit getExtentionCap () const;
    84  virtual DbU::Unit getExtentionWidth () const;
    85  virtual DbU::Unit getEnclosure ( const BasicLayer* layer, uint32_t flags ) const;
    86  virtual DbU::Unit getExtentionCap ( const BasicLayer* layer ) const;
    87  virtual DbU::Unit getExtentionWidth ( const BasicLayer* layer ) const;
    88  virtual DbU::Unit getTopEnclosure ( uint32_t flags ) const;
    89  virtual DbU::Unit getBottomEnclosure ( uint32_t flags ) const;
    90  // Predicates
    91  inline bool above ( const Layer* layer ) const;
    92  inline bool below ( const Layer* layer ) const;
    93  bool contains ( const Layer* layer ) const;
    94  bool intersect ( const Layer* layer ) const;
    95  inline bool isSymbolic () const;
    96  inline bool isBlockage () const;
    97  // Updators
    98  void setName ( const Name& name );
    99  inline void setSymbolic ( bool );
    100  inline void setBlockage ( bool );
    101  void setMinimalSize ( const DbU::Unit& minimalSize );
    102  void setMinimalSpacing ( const DbU::Unit& minimalSpacing );
    103  virtual void setEnclosure ( const BasicLayer* layer, DbU::Unit, uint32_t flags );
    104  virtual void setExtentionCap ( const BasicLayer* layer, DbU::Unit );
    105  virtual void setExtentionWidth ( const BasicLayer* layer, DbU::Unit );
    106  // Hurricane Managment.
    107  virtual void _toJson ( JsonWriter* ) const;
    108  virtual string _getString () const;
    109  virtual Record* _getRecord () const;
    110  inline Layer* _getNextOfTechnologyLayerMap () const;
    111  inline void _setMask ( const Mask& mask );
    112  inline void _setExtractMask ( const Mask& extractMask );
    113  inline void _setNextOfTechnologyLayerMap ( Layer* layer );
    114  virtual void _onDbuChange ( float scale );
    115  static const Name& _sgetName ( const Layer* );
    116 
    117  private:
    118  // Internal: Attributes
    119  Technology* _technology;
    120  Name _name;
    121  Mask _mask;
    122  Mask _extractMask;
    123  DbU::Unit _minimalSize;
    124  DbU::Unit _minimalSpacing;
    125  Layer* _nextOfTechnologyLayerMap;
    126  bool _symbolic;
    127  bool _blockage;
    128 
    129  protected:
    130  // Internal: Constructors & Destructors.
    131  Layer ( Technology* technology
    132  , const Name& name
    133  , const DbU::Unit& minimalSize = 0
    134  , const DbU::Unit& minimalSpacing = 0
    135  , const DbU::Unit& pitch = 0
    136  );
    137  virtual void _postCreate ();
    138  virtual void _preDestroy ();
    139 
    140  public:
    141  struct CompareByMask : public binary_function<const Layer*,const Layer*,bool> {
    142  inline bool operator() ( const Layer* lhs, const Layer* rhs ) const;
    143  };
    144  };
    145 
    146 
    147 // Inline Functions.
    148  inline bool Layer::isSymbolic () const { return _symbolic; }
    149  inline bool Layer::isBlockage () const { return _blockage; }
    150  inline bool Layer::above ( const Layer* layer ) const { return _mask > layer->getMask(); }
    151  inline bool Layer::below ( const Layer* layer ) const { return _mask < layer->getMask(); }
    152  inline Technology* Layer::getTechnology () const { return _technology; }
    153  inline const Name& Layer::getName () const { return _name; }
    154  inline const Layer::Mask& Layer::getMask () const { return _mask; }
    155  inline const Layer::Mask& Layer::getExtractMask () const { return _extractMask; }
    156  inline const DbU::Unit& Layer::getMinimalSize () const { return _minimalSize; }
    157  inline const DbU::Unit& Layer::getMinimalSpacing () const { return _minimalSpacing; }
    158  inline void Layer::setSymbolic ( bool state ) { _symbolic = state; }
    159  inline void Layer::setBlockage ( bool state ) { _blockage = state; }
    160  inline Layer* Layer::_getNextOfTechnologyLayerMap () const { return _nextOfTechnologyLayerMap; }
    161  inline void Layer::_setMask ( const Mask& mask ) { _mask = mask; }
    162  inline void Layer::_setExtractMask ( const Mask& extractMask ) { _extractMask = extractMask; }
    163  inline void Layer::_setNextOfTechnologyLayerMap ( Layer* layer ) { _nextOfTechnologyLayerMap = layer; }
    164 
    165  inline bool Layer::CompareByMask::operator() ( const Layer* lhs, const Layer* rhs ) const
    166  { return (lhs?lhs->getMask():Layer::Mask()) < (rhs?rhs->getMask():Layer::Mask()); }
    167 
    168 
    169 // -------------------------------------------------------------------
    170 // Class : "Hurricane::JsonLayer".
    171 
    172  class JsonLayer : public JsonDBo {
    173  public:
    174  JsonLayer ( unsigned long flags );
    175  Technology* lookupTechnology ( JsonStack&, const string& fname ) const;
    176  };
    177 
    178 
    179 } // Hurricane namespace.
    180 
    181 
    182 INSPECTOR_P_SUPPORT(Hurricane::Layer);
    183 INSPECTOR_PV_SUPPORT(Hurricane::Layer::Mask);
    184 
    185 
    186 #endif // HURRICANE_LAYER_H
    void setName(const Name &name)
    +
    1 
    2 // -*- C++ -*-
    3 //
    4 // Copyright (c) BULL S.A. 2000-2018, All Rights Reserved
    5 //
    6 // This file is part of Hurricane.
    7 //
    8 // Hurricane is free software: you can redistribute it and/or modify
    9 // it under the terms of the GNU Lesser General Public License as
    10 // published by the Free Software Foundation, either version 3 of the
    11 // License, or (at your option) any later version.
    12 //
    13 // Hurricane is distributed in the hope that it will be useful, but
    14 // WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN-
    15 // TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU
    16 // General Public License for more details.
    17 //
    18 // You should have received a copy of the Lesser GNU General Public
    19 // License along with Hurricane. If not, see
    20 // <http://www.gnu.org/licenses/>.
    21 //
    22 // +-----------------------------------------------------------------+
    23 // | H U R R I C A N E |
    24 // | V L S I B a c k e n d D a t a - B a s e |
    25 // | |
    26 // | Author : Remy Escassut |
    27 // | E-mail : Jean-Paul.Chaput@lip6.fr |
    28 // | =============================================================== |
    29 // | C++ Header : "./hurricane/Layer.h" |
    30 // +-----------------------------------------------------------------+
    31 
    32 
    33 #ifndef HURRICANE_LAYER_H
    34 #define HURRICANE_LAYER_H
    35 
    36 #include "hurricane/Mask.h"
    37 #include "hurricane/DBo.h"
    38 #include "hurricane/Layers.h"
    39 #include "hurricane/DbU.h"
    40 #include "hurricane/BasicLayers.h"
    41 
    42 
    43 namespace Hurricane {
    44 
    45 
    46  class Technology;
    47 
    48 
    49 // -------------------------------------------------------------------
    50 // Class : "Hurricane::Layer".
    51 
    52  class Layer : public DBo {
    53  public:
    54  typedef DBo Super;
    55  public:
    56  static const uint32_t NoFlags = 0;
    57  static const uint32_t EnclosureH = (1 << 0);
    58  static const uint32_t EnclosureV = (1 << 1);
    59  static const uint32_t EnclosureMax = (1 << 2);
    60  static const uint32_t ExtensionCap = (1 << 3);
    61  static const uint32_t ExtensionWidth = (1 << 4);
    62 
    63  public:
    64  // Types.
    65  typedef Hurricane::Mask<unsigned long long> Mask;
    66  // Accessors.
    67  inline Technology* getTechnology () const;
    68  inline const Name& getName () const;
    69  inline const Mask& getMask () const;
    70  inline const Mask& getExtractMask () const;
    71  inline const DbU::Unit& getMinimalSize () const;
    72  inline const DbU::Unit& getMinimalSpacing () const;
    73  virtual BasicLayers getBasicLayers () const = 0;
    74  virtual const Layer* getBlockageLayer () const;
    75  virtual const Layer* getCut () const;
    76  virtual const Layer* getTop () const;
    77  virtual const Layer* getBottom () const;
    78  virtual const Layer* getOpposite ( const Layer* ) const;
    79  Layer* getMetalAbove ( bool useSymbolic=true ) const;
    80  Layer* getMetalBelow ( bool useSymbolic=true ) const;
    81  Layer* getCutAbove ( bool useSymbolic=true ) const;
    82  Layer* getCutBelow ( bool useSymbolic=true ) const;
    83  virtual DbU::Unit getEnclosure ( uint32_t flags ) const;
    84  virtual DbU::Unit getExtentionCap () const;
    85  virtual DbU::Unit getExtentionWidth () const;
    86  virtual DbU::Unit getEnclosure ( const BasicLayer* layer, uint32_t flags ) const;
    87  virtual DbU::Unit getExtentionCap ( const BasicLayer* layer ) const;
    88  virtual DbU::Unit getExtentionWidth ( const BasicLayer* layer ) const;
    89  virtual DbU::Unit getTopEnclosure ( uint32_t flags ) const;
    90  virtual DbU::Unit getBottomEnclosure ( uint32_t flags ) const;
    91  // Predicates
    92  inline bool above ( const Layer* layer ) const;
    93  inline bool below ( const Layer* layer ) const;
    94  bool contains ( const Layer* layer ) const;
    95  bool intersect ( const Layer* layer ) const;
    96  inline bool isSymbolic () const;
    97  inline bool isBlockage () const;
    98  // Updators
    99  void setName ( const Name& name );
    100  inline void setSymbolic ( bool );
    101  inline void setBlockage ( bool );
    102  void setMinimalSize ( const DbU::Unit& minimalSize );
    103  void setMinimalSpacing ( const DbU::Unit& minimalSpacing );
    104  virtual void setEnclosure ( const BasicLayer* layer, DbU::Unit, uint32_t flags );
    105  virtual void setExtentionCap ( const BasicLayer* layer, DbU::Unit );
    106  virtual void setExtentionWidth ( const BasicLayer* layer, DbU::Unit );
    107  // Hurricane Managment.
    108  virtual void _toJson ( JsonWriter* ) const;
    109  virtual string _getString () const;
    110  virtual Record* _getRecord () const;
    111  inline Layer* _getNextOfTechnologyLayerMap () const;
    112  inline void _setMask ( const Mask& mask );
    113  inline void _setExtractMask ( const Mask& extractMask );
    114  inline void _setNextOfTechnologyLayerMap ( Layer* layer );
    115  virtual void _onDbuChange ( float scale );
    116  static const Name& _sgetName ( const Layer* );
    117 
    118  private:
    119  // Internal: Attributes
    120  Technology* _technology;
    121  Name _name;
    122  Mask _mask;
    123  Mask _extractMask;
    124  DbU::Unit _minimalSize;
    125  DbU::Unit _minimalSpacing;
    126  Layer* _nextOfTechnologyLayerMap;
    127  bool _symbolic;
    128  bool _blockage;
    129 
    130  protected:
    131  // Internal: Constructors & Destructors.
    132  Layer ( Technology* technology
    133  , const Name& name
    134  , const DbU::Unit& minimalSize = 0
    135  , const DbU::Unit& minimalSpacing = 0
    136  , const DbU::Unit& pitch = 0
    137  );
    138  virtual void _postCreate ();
    139  virtual void _preDestroy ();
    140 
    141  public:
    142  struct CompareByMask : public binary_function<const Layer*,const Layer*,bool> {
    143  inline bool operator() ( const Layer* lhs, const Layer* rhs ) const;
    144  };
    145  };
    146 
    147 
    148 // Inline Functions.
    149  inline bool Layer::isSymbolic () const { return _symbolic; }
    150  inline bool Layer::isBlockage () const { return _blockage; }
    151  inline bool Layer::above ( const Layer* layer ) const { return _mask > layer->getMask(); }
    152  inline bool Layer::below ( const Layer* layer ) const { return _mask < layer->getMask(); }
    153  inline Technology* Layer::getTechnology () const { return _technology; }
    154  inline const Name& Layer::getName () const { return _name; }
    155  inline const Layer::Mask& Layer::getMask () const { return _mask; }
    156  inline const Layer::Mask& Layer::getExtractMask () const { return _extractMask; }
    157  inline const DbU::Unit& Layer::getMinimalSize () const { return _minimalSize; }
    158  inline const DbU::Unit& Layer::getMinimalSpacing () const { return _minimalSpacing; }
    159  inline void Layer::setSymbolic ( bool state ) { _symbolic = state; }
    160  inline void Layer::setBlockage ( bool state ) { _blockage = state; }
    161  inline Layer* Layer::_getNextOfTechnologyLayerMap () const { return _nextOfTechnologyLayerMap; }
    162  inline void Layer::_setMask ( const Mask& mask ) { _mask = mask; }
    163  inline void Layer::_setExtractMask ( const Mask& extractMask ) { _extractMask = extractMask; }
    164  inline void Layer::_setNextOfTechnologyLayerMap ( Layer* layer ) { _nextOfTechnologyLayerMap = layer; }
    165 
    166  inline bool Layer::CompareByMask::operator() ( const Layer* lhs, const Layer* rhs ) const
    167  { return (lhs?lhs->getMask():Layer::Mask()) < (rhs?rhs->getMask():Layer::Mask()); }
    168 
    169 
    170 // -------------------------------------------------------------------
    171 // Class : "Hurricane::JsonLayer".
    172 
    173  class JsonLayer : public JsonDBo {
    174  public:
    175  JsonLayer ( unsigned long flags );
    176  Technology* lookupTechnology ( JsonStack&, const string& fname ) const;
    177  };
    178 
    179 
    180 } // Hurricane namespace.
    181 
    182 
    183 INSPECTOR_P_SUPPORT(Hurricane::Layer);
    184 INSPECTOR_PV_SUPPORT(Hurricane::Layer::Mask);
    185 
    186 
    187 #endif // HURRICANE_LAYER_H
    void setName(const Name &name)
    bool intersect(const Layer *layer) const
    BasicLayer description (API)
    Definition: BasicLayer.h:44
    -
    Technology * getTechnology() const
    Definition: Layer.h:152
    -
    const DbU::Unit & getMinimalSpacing() const
    Definition: Layer.h:157
    +
    Technology * getTechnology() const
    Definition: Layer.h:153
    +
    const DbU::Unit & getMinimalSpacing() const
    Definition: Layer.h:158
    bool contains(const Layer *layer) const
    Name description (API)
    Definition: Name.h:36
    Layer * getCutBelow(bool useSymbolic=true) const
    @@ -63,25 +63,25 @@ $(function() {
    void setMinimalSize(const DbU::Unit &minimalSize)
    virtual const Layer * getTop() const
    Layer description (API)
    Definition: Layer.h:52
    -
    const Mask & getMask() const
    Definition: Layer.h:154
    -
    bool above(const Layer *layer) const
    Definition: Layer.h:150
    -
    const Mask & getExtractMask() const
    Definition: Layer.h:155
    +
    const Mask & getMask() const
    Definition: Layer.h:155
    +
    bool above(const Layer *layer) const
    Definition: Layer.h:151
    +
    const Mask & getExtractMask() const
    Definition: Layer.h:156
    Layer * getCutAbove(bool useSymbolic=true) const
    void setMinimalSpacing(const DbU::Unit &minimalSpacing)
    -
    const Name & getName() const
    Definition: Layer.h:153
    +
    const Name & getName() const
    Definition: Layer.h:154
    The namespace dedicated to Hurricane.
    Definition: Generalities.dox:5
    virtual const Layer * getBottom() const
    -
    const DbU::Unit & getMinimalSize() const
    Definition: Layer.h:156
    +
    const DbU::Unit & getMinimalSize() const
    Definition: Layer.h:157
    Layer * getMetalBelow(bool useSymbolic=true) const
    virtual void setExtentionCap(const BasicLayer *layer, DbU::Unit)
    Technological rules description (API).
    Definition: Technology.h:66
    -
    bool below(const Layer *layer) const
    Definition: Layer.h:151
    +
    bool below(const Layer *layer) const
    Definition: Layer.h:152


    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Layers_8h_source.html b/hurricane/doc/hurricane/html/Layers_8h_source.html index 129cc848..df2cfb88 100644 --- a/hurricane/doc/hurricane/html/Layers_8h_source.html +++ b/hurricane/doc/hurricane/html/Layers_8h_source.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Libraries_8h_source.html b/hurricane/doc/hurricane/html/Libraries_8h_source.html index d792f1df..da3fda93 100644 --- a/hurricane/doc/hurricane/html/Libraries_8h_source.html +++ b/hurricane/doc/hurricane/html/Libraries_8h_source.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Library_8h_source.html b/hurricane/doc/hurricane/html/Library_8h_source.html index 327fe42a..1ef7dddc 100644 --- a/hurricane/doc/hurricane/html/Library_8h_source.html +++ b/hurricane/doc/hurricane/html/Library_8h_source.html @@ -66,7 +66,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/ListCollection_8h_source.html b/hurricane/doc/hurricane/html/ListCollection_8h_source.html index 7b252c51..2562e6b0 100644 --- a/hurricane/doc/hurricane/html/ListCollection_8h_source.html +++ b/hurricane/doc/hurricane/html/ListCollection_8h_source.html @@ -54,7 +54,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Locator_8h_source.html b/hurricane/doc/hurricane/html/Locator_8h_source.html index c14d2880..5e7ca429 100644 --- a/hurricane/doc/hurricane/html/Locator_8h_source.html +++ b/hurricane/doc/hurricane/html/Locator_8h_source.html @@ -59,7 +59,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/MapCollection_8h_source.html b/hurricane/doc/hurricane/html/MapCollection_8h_source.html index 26502798..2ac6ec49 100644 --- a/hurricane/doc/hurricane/html/MapCollection_8h_source.html +++ b/hurricane/doc/hurricane/html/MapCollection_8h_source.html @@ -54,7 +54,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Name_8h_source.html b/hurricane/doc/hurricane/html/Name_8h_source.html index 7397700a..7400a327 100644 --- a/hurricane/doc/hurricane/html/Name_8h_source.html +++ b/hurricane/doc/hurricane/html/Name_8h_source.html @@ -62,7 +62,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Names_8h_source.html b/hurricane/doc/hurricane/html/Names_8h_source.html index ba7aff89..042e0665 100644 --- a/hurricane/doc/hurricane/html/Names_8h_source.html +++ b/hurricane/doc/hurricane/html/Names_8h_source.html @@ -50,7 +50,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Net_8h_source.html b/hurricane/doc/hurricane/html/Net_8h_source.html index b96e2712..82028837 100644 --- a/hurricane/doc/hurricane/html/Net_8h_source.html +++ b/hurricane/doc/hurricane/html/Net_8h_source.html @@ -123,7 +123,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Nets_8h_source.html b/hurricane/doc/hurricane/html/Nets_8h_source.html index ddf4e839..76582615 100644 --- a/hurricane/doc/hurricane/html/Nets_8h_source.html +++ b/hurricane/doc/hurricane/html/Nets_8h_source.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Occurrence_8h_source.html b/hurricane/doc/hurricane/html/Occurrence_8h_source.html index 36c09df1..4994140d 100644 --- a/hurricane/doc/hurricane/html/Occurrence_8h_source.html +++ b/hurricane/doc/hurricane/html/Occurrence_8h_source.html @@ -76,7 +76,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Occurrences_8h_source.html b/hurricane/doc/hurricane/html/Occurrences_8h_source.html index 9915e2b8..6940ebd6 100644 --- a/hurricane/doc/hurricane/html/Occurrences_8h_source.html +++ b/hurricane/doc/hurricane/html/Occurrences_8h_source.html @@ -58,7 +58,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Pad_8h_source.html b/hurricane/doc/hurricane/html/Pad_8h_source.html index de9e1a73..8733fa21 100644 --- a/hurricane/doc/hurricane/html/Pad_8h_source.html +++ b/hurricane/doc/hurricane/html/Pad_8h_source.html @@ -60,7 +60,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Pads_8h_source.html b/hurricane/doc/hurricane/html/Pads_8h_source.html index f115f173..7593b48b 100644 --- a/hurricane/doc/hurricane/html/Pads_8h_source.html +++ b/hurricane/doc/hurricane/html/Pads_8h_source.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Path_8h_source.html b/hurricane/doc/hurricane/html/Path_8h_source.html index 258b2f09..0eea7854 100644 --- a/hurricane/doc/hurricane/html/Path_8h_source.html +++ b/hurricane/doc/hurricane/html/Path_8h_source.html @@ -73,7 +73,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Pathes_8h_source.html b/hurricane/doc/hurricane/html/Pathes_8h_source.html index 4a2177b0..d9aed9ba 100644 --- a/hurricane/doc/hurricane/html/Pathes_8h_source.html +++ b/hurricane/doc/hurricane/html/Pathes_8h_source.html @@ -56,7 +56,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Pin_8h_source.html b/hurricane/doc/hurricane/html/Pin_8h_source.html index 1586f24e..8eb23028 100644 --- a/hurricane/doc/hurricane/html/Pin_8h_source.html +++ b/hurricane/doc/hurricane/html/Pin_8h_source.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Pins_8h_source.html b/hurricane/doc/hurricane/html/Pins_8h_source.html index 58553725..0f9a1d52 100644 --- a/hurricane/doc/hurricane/html/Pins_8h_source.html +++ b/hurricane/doc/hurricane/html/Pins_8h_source.html @@ -50,7 +50,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Plug_8h_source.html b/hurricane/doc/hurricane/html/Plug_8h_source.html index f94575e2..4b180c4e 100644 --- a/hurricane/doc/hurricane/html/Plug_8h_source.html +++ b/hurricane/doc/hurricane/html/Plug_8h_source.html @@ -69,7 +69,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Plugs_8h_source.html b/hurricane/doc/hurricane/html/Plugs_8h_source.html index 173fe642..aa4dc6a0 100644 --- a/hurricane/doc/hurricane/html/Plugs_8h_source.html +++ b/hurricane/doc/hurricane/html/Plugs_8h_source.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Point_8h_source.html b/hurricane/doc/hurricane/html/Point_8h_source.html index 2603776c..6f3cfaf7 100644 --- a/hurricane/doc/hurricane/html/Point_8h_source.html +++ b/hurricane/doc/hurricane/html/Point_8h_source.html @@ -59,7 +59,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Points_8h_source.html b/hurricane/doc/hurricane/html/Points_8h_source.html index 839134c3..d67a77dc 100644 --- a/hurricane/doc/hurricane/html/Points_8h_source.html +++ b/hurricane/doc/hurricane/html/Points_8h_source.html @@ -50,7 +50,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Polygon_8h_source.html b/hurricane/doc/hurricane/html/Polygon_8h_source.html index 252d8274..c73d1ad5 100644 --- a/hurricane/doc/hurricane/html/Polygon_8h_source.html +++ b/hurricane/doc/hurricane/html/Polygon_8h_source.html @@ -60,7 +60,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Properties_8h_source.html b/hurricane/doc/hurricane/html/Properties_8h_source.html index 14dd7b2c..b5d44a9d 100644 --- a/hurricane/doc/hurricane/html/Properties_8h_source.html +++ b/hurricane/doc/hurricane/html/Properties_8h_source.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Property_8h_source.html b/hurricane/doc/hurricane/html/Property_8h_source.html index 741d1b31..59d90316 100644 --- a/hurricane/doc/hurricane/html/Property_8h_source.html +++ b/hurricane/doc/hurricane/html/Property_8h_source.html @@ -66,7 +66,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/QuadTree_8h_source.html b/hurricane/doc/hurricane/html/QuadTree_8h_source.html index 5ac6597e..2275aac0 100644 --- a/hurricane/doc/hurricane/html/QuadTree_8h_source.html +++ b/hurricane/doc/hurricane/html/QuadTree_8h_source.html @@ -62,7 +62,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Quark_8h_source.html b/hurricane/doc/hurricane/html/Quark_8h_source.html index 5ec84991..4434a8f3 100644 --- a/hurricane/doc/hurricane/html/Quark_8h_source.html +++ b/hurricane/doc/hurricane/html/Quark_8h_source.html @@ -54,7 +54,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Quarks_8h_source.html b/hurricane/doc/hurricane/html/Quarks_8h_source.html index a4b560bf..cdbc9d01 100644 --- a/hurricane/doc/hurricane/html/Quarks_8h_source.html +++ b/hurricane/doc/hurricane/html/Quarks_8h_source.html @@ -50,7 +50,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Query_8h_source.html b/hurricane/doc/hurricane/html/Query_8h_source.html index 3b4b4847..6c8937ff 100644 --- a/hurricane/doc/hurricane/html/Query_8h_source.html +++ b/hurricane/doc/hurricane/html/Query_8h_source.html @@ -98,7 +98,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/RegularLayer_8h_source.html b/hurricane/doc/hurricane/html/RegularLayer_8h_source.html index 7f9a55a8..e4e24cba 100644 --- a/hurricane/doc/hurricane/html/RegularLayer_8h_source.html +++ b/hurricane/doc/hurricane/html/RegularLayer_8h_source.html @@ -44,14 +44,14 @@ $(function() {
    RegularLayer.h
    -
    1 
    2 // -*- C++ -*-
    3 //
    4 // Copyright (c) BULL S.A. 2000-2018, All Rights Reserved
    5 //
    6 // This file is part of Hurricane.
    7 //
    8 // Hurricane is free software: you can redistribute it and/or modify
    9 // it under the terms of the GNU Lesser General Public License as
    10 // published by the Free Software Foundation, either version 3 of the
    11 // License, or (at your option) any later version.
    12 //
    13 // Hurricane is distributed in the hope that it will be useful, but
    14 // WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN-
    15 // TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU
    16 // General Public License for more details.
    17 //
    18 // You should have received a copy of the Lesser GNU General Public
    19 // License along with Hurricane. If not, see
    20 // <http://www.gnu.org/licenses/>.
    21 //
    22 // +-----------------------------------------------------------------+
    23 // | H U R R I C A N E |
    24 // | V L S I B a c k e n d D a t a - B a s e |
    25 // | |
    26 // | Author : Jean-Paul Chaput |
    27 // | E-mail : Jean-Paul.Chaput@lip6.fr |
    28 // | =============================================================== |
    29 // | C++ Header : "./hurricane/RegularLayer.h" |
    30 // +-----------------------------------------------------------------+
    31 
    32 
    33 #ifndef HURRICANE_REGULAR_LAYER_H
    34 #define HURRICANE_REGULAR_LAYER_H
    35 
    36 #include "hurricane/Layer.h"
    37 #include "hurricane/RegularLayers.h"
    38 
    39 
    40 namespace Hurricane {
    41 
    42 // -------------------------------------------------------------------
    43 // Class : "Hurricane::RegularLayer".
    44 
    45  class RegularLayer : public Layer {
    46  public:
    47  typedef Layer Super;
    48 
    49  public:
    50  // Constructor.
    51  static RegularLayer* create ( Technology* technology
    52  , const Name& name
    53  );
    54  // Accessors.
    55  virtual BasicLayers getBasicLayers () const;
    56  inline BasicLayer* getBasicLayer () const;
    57  virtual const Layer* getBlockageLayer () const;
    58  virtual const Layer* getTop () const;
    59  virtual const Layer* getBottom () const;
    60  virtual const Layer* getOpposite ( const Layer* ) const;
    61  virtual DbU::Unit getEnclosure () const;
    62  virtual DbU::Unit getExtentionCap () const;
    63  virtual DbU::Unit getExtentionWidth () const;
    64  virtual DbU::Unit getEnclosure ( const BasicLayer* layer ) const;
    65  virtual DbU::Unit getExtentionCap ( const BasicLayer* layer ) const;
    66  virtual DbU::Unit getExtentionWidth ( const BasicLayer* layer ) const;
    67  // Updators
    68  void setBasicLayer ( BasicLayer* layer );
    69  virtual void setEnclosure ( const BasicLayer* layer, DbU::Unit enclosure );
    70  virtual void setExtentionCap ( const BasicLayer* layer, DbU::Unit cap );
    71  virtual void setExtentionWidth ( const BasicLayer* layer, DbU::Unit width );
    72  // Hurricane Managment.
    73  virtual void _toJson ( JsonWriter* ) const;
    74  virtual void _onDbuChange ( float scale );
    75  virtual string _getTypeName () const;
    76  virtual string _getString () const;
    77  virtual Record* _getRecord () const;
    78 
    79  private:
    80  // Internal: Attributes
    81  BasicLayer* _basicLayer;
    82  DbU::Unit _enclosure;
    83  DbU::Unit _extentionCap;
    84  DbU::Unit _extentionWidth;
    85 
    86  protected:
    87  // Internal: Constructors & Destructors.
    88  RegularLayer ( Technology* technology
    89  , const Name& name
    90  );
    91  };
    92 
    93 
    94 // Inline Functions.
    95  inline BasicLayer* RegularLayer::getBasicLayer () const { return _basicLayer; }
    96 
    97 
    98 // -------------------------------------------------------------------
    99 // Class : "Hurricane::JsonRegularLayer".
    100 
    101  class JsonRegularLayer : public JsonLayer {
    102  public:
    103  static void initialize ();
    104  JsonRegularLayer ( unsigned long flags );
    105  ~JsonRegularLayer ();
    106  virtual string getTypeName () const;
    107  virtual JsonRegularLayer* clone ( unsigned long ) const;
    108  virtual void toData ( JsonStack& );
    109  };
    110 
    111 
    112 } // Hurricane namespace.
    113 
    114 INSPECTOR_P_SUPPORT(Hurricane::RegularLayer);
    115 
    116 #endif // HURRICANE_REGULAR_LAYER_H
    RegularLayer description (API)
    Definition: RegularLayer.h:45
    +
    1 
    2 // -*- C++ -*-
    3 //
    4 // Copyright (c) BULL S.A. 2000-2018, All Rights Reserved
    5 //
    6 // This file is part of Hurricane.
    7 //
    8 // Hurricane is free software: you can redistribute it and/or modify
    9 // it under the terms of the GNU Lesser General Public License as
    10 // published by the Free Software Foundation, either version 3 of the
    11 // License, or (at your option) any later version.
    12 //
    13 // Hurricane is distributed in the hope that it will be useful, but
    14 // WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN-
    15 // TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU
    16 // General Public License for more details.
    17 //
    18 // You should have received a copy of the Lesser GNU General Public
    19 // License along with Hurricane. If not, see
    20 // <http://www.gnu.org/licenses/>.
    21 //
    22 // +-----------------------------------------------------------------+
    23 // | H U R R I C A N E |
    24 // | V L S I B a c k e n d D a t a - B a s e |
    25 // | |
    26 // | Author : Jean-Paul Chaput |
    27 // | E-mail : Jean-Paul.Chaput@lip6.fr |
    28 // | =============================================================== |
    29 // | C++ Header : "./hurricane/RegularLayer.h" |
    30 // +-----------------------------------------------------------------+
    31 
    32 
    33 #ifndef HURRICANE_REGULAR_LAYER_H
    34 #define HURRICANE_REGULAR_LAYER_H
    35 
    36 #include "hurricane/Layer.h"
    37 #include "hurricane/RegularLayers.h"
    38 
    39 
    40 namespace Hurricane {
    41 
    42 // -------------------------------------------------------------------
    43 // Class : "Hurricane::RegularLayer".
    44 
    45  class RegularLayer : public Layer {
    46  public:
    47  typedef Layer Super;
    48 
    49  public:
    50  // Constructor.
    51  static RegularLayer* create ( Technology* technology
    52  , const Name& name
    53  , BasicLayer* layer
    54  );
    55  // Accessors.
    56  virtual BasicLayers getBasicLayers () const;
    57  inline BasicLayer* getBasicLayer () const;
    58  virtual const Layer* getBlockageLayer () const;
    59  virtual const Layer* getTop () const;
    60  virtual const Layer* getBottom () const;
    61  virtual const Layer* getOpposite ( const Layer* ) const;
    62  virtual DbU::Unit getEnclosure () const;
    63  virtual DbU::Unit getExtentionCap () const;
    64  virtual DbU::Unit getExtentionWidth () const;
    65  virtual DbU::Unit getEnclosure ( const BasicLayer* layer ) const;
    66  virtual DbU::Unit getExtentionCap ( const BasicLayer* layer ) const;
    67  virtual DbU::Unit getExtentionWidth ( const BasicLayer* layer ) const;
    68  // Updators
    69  void setBasicLayer ( BasicLayer* layer );
    70  virtual void setEnclosure ( const BasicLayer* layer, DbU::Unit enclosure );
    71  virtual void setExtentionCap ( const BasicLayer* layer, DbU::Unit cap );
    72  virtual void setExtentionWidth ( const BasicLayer* layer, DbU::Unit width );
    73  // Hurricane Managment.
    74  virtual void _toJson ( JsonWriter* ) const;
    75  virtual void _onDbuChange ( float scale );
    76  virtual string _getTypeName () const;
    77  virtual string _getString () const;
    78  virtual Record* _getRecord () const;
    79 
    80  private:
    81  // Internal: Attributes
    82  BasicLayer* _basicLayer;
    83  DbU::Unit _enclosure;
    84  DbU::Unit _extentionCap;
    85  DbU::Unit _extentionWidth;
    86 
    87  protected:
    88  // Internal: Constructors & Destructors.
    89  RegularLayer ( Technology* technology
    90  , const Name& name
    91  );
    92  };
    93 
    94 
    95 // Inline Functions.
    96  inline BasicLayer* RegularLayer::getBasicLayer () const { return _basicLayer; }
    97 
    98 
    99 // -------------------------------------------------------------------
    100 // Class : "Hurricane::JsonRegularLayer".
    101 
    102  class JsonRegularLayer : public JsonLayer {
    103  public:
    104  static void initialize ();
    105  JsonRegularLayer ( unsigned long flags );
    106  ~JsonRegularLayer ();
    107  virtual string getTypeName () const;
    108  virtual JsonRegularLayer* clone ( unsigned long ) const;
    109  virtual void toData ( JsonStack& );
    110  };
    111 
    112 
    113 } // Hurricane namespace.
    114 
    115 INSPECTOR_P_SUPPORT(Hurricane::RegularLayer);
    116 
    117 #endif // HURRICANE_REGULAR_LAYER_H
    RegularLayer description (API)
    Definition: RegularLayer.h:45
    BasicLayer description (API)
    Definition: BasicLayer.h:44
    Name description (API)
    Definition: Name.h:36
    std::int64_t Unit
    Definition: DbU.h:70
    DataBase object root class (API).
    Definition: DBo.h:46
    -
    BasicLayer * getBasicLayer() const
    Definition: RegularLayer.h:95
    +
    BasicLayer * getBasicLayer() const
    Definition: RegularLayer.h:96
    +
    static RegularLayer * create(Technology *technology, const Name &name, BasicLayer *layer)
    JSON Parser Stack.
    Definition: JsonObject.h:249
    -
    static RegularLayer * create(Technology *technology, const Name &name)
    Layer description (API)
    Definition: Layer.h:52
    The namespace dedicated to Hurricane.
    Definition: Generalities.dox:5
    Technological rules description (API).
    Definition: Technology.h:66
    @@ -60,7 +60,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Relation_8h_source.html b/hurricane/doc/hurricane/html/Relation_8h_source.html index 6b0ebaad..43e20f02 100644 --- a/hurricane/doc/hurricane/html/Relation_8h_source.html +++ b/hurricane/doc/hurricane/html/Relation_8h_source.html @@ -56,7 +56,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/RoutingPad_8h_source.html b/hurricane/doc/hurricane/html/RoutingPad_8h_source.html index 0aeef0bf..11de2e4d 100644 --- a/hurricane/doc/hurricane/html/RoutingPad_8h_source.html +++ b/hurricane/doc/hurricane/html/RoutingPad_8h_source.html @@ -90,7 +90,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Rubber_8h_source.html b/hurricane/doc/hurricane/html/Rubber_8h_source.html index 9854247b..cc63d795 100644 --- a/hurricane/doc/hurricane/html/Rubber_8h_source.html +++ b/hurricane/doc/hurricane/html/Rubber_8h_source.html @@ -65,7 +65,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Rubbers_8h_source.html b/hurricane/doc/hurricane/html/Rubbers_8h_source.html index 4c8ec061..aa5e5b83 100644 --- a/hurricane/doc/hurricane/html/Rubbers_8h_source.html +++ b/hurricane/doc/hurricane/html/Rubbers_8h_source.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Segment_8h_source.html b/hurricane/doc/hurricane/html/Segment_8h_source.html index 953db325..9451cd6a 100644 --- a/hurricane/doc/hurricane/html/Segment_8h_source.html +++ b/hurricane/doc/hurricane/html/Segment_8h_source.html @@ -80,7 +80,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Segments_8h_source.html b/hurricane/doc/hurricane/html/Segments_8h_source.html index 950a7d39..1063dc4b 100644 --- a/hurricane/doc/hurricane/html/Segments_8h_source.html +++ b/hurricane/doc/hurricane/html/Segments_8h_source.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/SetCollection_8h_source.html b/hurricane/doc/hurricane/html/SetCollection_8h_source.html index 448f9a7d..c22e15ca 100644 --- a/hurricane/doc/hurricane/html/SetCollection_8h_source.html +++ b/hurricane/doc/hurricane/html/SetCollection_8h_source.html @@ -54,7 +54,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Slice_8h_source.html b/hurricane/doc/hurricane/html/Slice_8h_source.html index 3aab9a3e..dd0c3a3d 100644 --- a/hurricane/doc/hurricane/html/Slice_8h_source.html +++ b/hurricane/doc/hurricane/html/Slice_8h_source.html @@ -67,7 +67,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Slices_8h_source.html b/hurricane/doc/hurricane/html/Slices_8h_source.html index 54b86f8a..92c26ba5 100644 --- a/hurricane/doc/hurricane/html/Slices_8h_source.html +++ b/hurricane/doc/hurricane/html/Slices_8h_source.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Tabulation_8h_source.html b/hurricane/doc/hurricane/html/Tabulation_8h_source.html index cd752ccb..990513a7 100644 --- a/hurricane/doc/hurricane/html/Tabulation_8h_source.html +++ b/hurricane/doc/hurricane/html/Tabulation_8h_source.html @@ -56,7 +56,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Technology_8h_source.html b/hurricane/doc/hurricane/html/Technology_8h_source.html index 74c0e4b4..5bf38211 100644 --- a/hurricane/doc/hurricane/html/Technology_8h_source.html +++ b/hurricane/doc/hurricane/html/Technology_8h_source.html @@ -64,7 +64,7 @@ $(function() {
    The whole DataBase (API).
    Definition: DataBase.h:40
    Layer * getCutBelow(const Layer *, bool useSymbolic=true) const
    Layer description (API)
    Definition: Layer.h:52
    -
    const Mask & getMask() const
    Definition: Layer.h:154
    +
    const Mask & getMask() const
    Definition: Layer.h:155
    DataBase * getDataBase() const
    Definition: Technology.h:211
    Layer * getNthMetal(int) const
    The namespace dedicated to Hurricane.
    Definition: Generalities.dox:5
    @@ -80,7 +80,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Transformation_8h_source.html b/hurricane/doc/hurricane/html/Transformation_8h_source.html index 6fecef10..35ef4efc 100644 --- a/hurricane/doc/hurricane/html/Transformation_8h_source.html +++ b/hurricane/doc/hurricane/html/Transformation_8h_source.html @@ -73,7 +73,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/TransistorLayer_8h_source.html b/hurricane/doc/hurricane/html/TransistorLayer_8h_source.html index 7a1e617b..180715c6 100644 --- a/hurricane/doc/hurricane/html/TransistorLayer_8h_source.html +++ b/hurricane/doc/hurricane/html/TransistorLayer_8h_source.html @@ -59,7 +59,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/UpdateSession_8h_source.html b/hurricane/doc/hurricane/html/UpdateSession_8h_source.html index 31a6c83d..1b3c2745 100644 --- a/hurricane/doc/hurricane/html/UpdateSession_8h_source.html +++ b/hurricane/doc/hurricane/html/UpdateSession_8h_source.html @@ -54,7 +54,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/VectorCollection_8h_source.html b/hurricane/doc/hurricane/html/VectorCollection_8h_source.html index 1de91f46..3126da76 100644 --- a/hurricane/doc/hurricane/html/VectorCollection_8h_source.html +++ b/hurricane/doc/hurricane/html/VectorCollection_8h_source.html @@ -54,7 +54,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Vertical_8h_source.html b/hurricane/doc/hurricane/html/Vertical_8h_source.html index 23c1a5d0..17f8f741 100644 --- a/hurricane/doc/hurricane/html/Vertical_8h_source.html +++ b/hurricane/doc/hurricane/html/Vertical_8h_source.html @@ -65,7 +65,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Verticals_8h_source.html b/hurricane/doc/hurricane/html/Verticals_8h_source.html index 70842ded..f36e736c 100644 --- a/hurricane/doc/hurricane/html/Verticals_8h_source.html +++ b/hurricane/doc/hurricane/html/Verticals_8h_source.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/ViaLayer_8h_source.html b/hurricane/doc/hurricane/html/ViaLayer_8h_source.html index 59e1cddb..db442975 100644 --- a/hurricane/doc/hurricane/html/ViaLayer_8h_source.html +++ b/hurricane/doc/hurricane/html/ViaLayer_8h_source.html @@ -44,7 +44,7 @@ $(function() {
    ViaLayer.h
    -
    1 // -*- C++ -*-
    2 //
    3 // Copyright (c) BULL S.A. 2000-2018, All Rights Reserved
    4 //
    5 // This file is part of Hurricane.
    6 //
    7 // Hurricane is free software: you can redistribute it and/or modify
    8 // it under the terms of the GNU Lesser General Public License as
    9 // published by the Free Software Foundation, either version 3 of the
    10 // License, or (at your option) any later version.
    11 //
    12 // Hurricane is distributed in the hope that it will be useful, but
    13 // WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN-
    14 // TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU
    15 // General Public License for more details.
    16 //
    17 // You should have received a copy of the Lesser GNU General Public
    18 // License along with Hurricane. If not, see
    19 // <http://www.gnu.org/licenses/>.
    20 //
    21 // +-----------------------------------------------------------------+
    22 // | H U R R I C A N E |
    23 // | V L S I B a c k e n d D a t a - B a s e |
    24 // | |
    25 // | Author : Jean-Paul Chaput |
    26 // | E-mail : Jean-Paul.Chaput@lip6.fr |
    27 // | =============================================================== |
    28 // | C++ Header : "./hurricane/ViaLayer.h" |
    29 // +-----------------------------------------------------------------+
    30 
    31 
    32 #ifndef HURRICANE_VIA_LAYER_H
    33 #define HURRICANE_VIA_LAYER_H
    34 
    35 #include <vector>
    36 
    37 #include "hurricane/Layer.h"
    38 #include "hurricane/ViaLayers.h"
    39 
    40 
    41 namespace Hurricane {
    42 
    43 // -------------------------------------------------------------------
    44 // Class : "Hurricane::ViaLayer".
    45 
    46  class ViaLayer : public Layer {
    47  public:
    48  typedef Layer Super;
    49 
    50  public:
    51  // Constructor.
    52  static ViaLayer* create ( Technology* technology
    53  , const Name& name
    54  , BasicLayer* bottomLayer
    55  , BasicLayer* cutLayer
    56  , BasicLayer* topLayer
    57  );
    58  // Accessors.
    59  virtual BasicLayers getBasicLayers () const;
    60  virtual const Layer* getTop () const;
    61  virtual const Layer* getBottom () const;
    62  virtual const Layer* getOpposite ( const Layer* ) const;
    63  virtual DbU::Unit getEnclosure ( uint32_t flags ) const;
    64  virtual DbU::Unit getEnclosure ( const BasicLayer* layer, uint32_t flags ) const;
    65  virtual DbU::Unit getTopEnclosure ( uint32_t flags ) const;
    66  virtual DbU::Unit getBottomEnclosure ( uint32_t flags ) const;
    67  // Updators.
    68  virtual void setEnclosure ( const BasicLayer* layer, DbU::Unit enclosure, uint32_t flags );
    69  // Hurricane Managment.
    70  virtual void _toJson ( JsonWriter* ) const;
    71  virtual void _onDbuChange ( float scale );
    72  virtual string _getTypeName () const;
    73  virtual string _getString () const;
    74  virtual Record* _getRecord () const;
    75 
    76  private:
    77  // Internal: Attributes
    78  vector<BasicLayer*> _basicLayers;
    79  vector< pair<DbU::Unit,DbU::Unit> > _enclosures;
    80  DbU::Unit _maximalEnclosure;
    81 
    82  protected:
    83  // Internal: Constructors & Destructors.
    84  ViaLayer ( Technology* technology
    85  , const Name& name
    86  , BasicLayer* bottomLayer
    87  , BasicLayer* cutLayer
    88  , BasicLayer* topLayer
    89  );
    90  };
    91 
    92 
    93 // -------------------------------------------------------------------
    94 // Class : "Hurricane::JsonViaLayer".
    95 
    96  class JsonViaLayer : public JsonLayer {
    97  public:
    98  static void initialize ();
    99  JsonViaLayer ( unsigned long flags );
    100  ~JsonViaLayer ();
    101  virtual string getTypeName () const;
    102  virtual JsonViaLayer* clone ( unsigned long ) const;
    103  virtual void toData ( JsonStack& );
    104  };
    105 
    106 
    107 } // End of Hurricane namespace.
    108 
    109 
    110 INSPECTOR_P_SUPPORT(Hurricane::ViaLayer);
    111 
    112 
    113 # endif
    BasicLayer description (API)
    Definition: BasicLayer.h:44
    +
    1 // -*- C++ -*-
    2 //
    3 // Copyright (c) BULL S.A. 2000-2018, All Rights Reserved
    4 //
    5 // This file is part of Hurricane.
    6 //
    7 // Hurricane is free software: you can redistribute it and/or modify
    8 // it under the terms of the GNU Lesser General Public License as
    9 // published by the Free Software Foundation, either version 3 of the
    10 // License, or (at your option) any later version.
    11 //
    12 // Hurricane is distributed in the hope that it will be useful, but
    13 // WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN-
    14 // TABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Lesser GNU
    15 // General Public License for more details.
    16 //
    17 // You should have received a copy of the Lesser GNU General Public
    18 // License along with Hurricane. If not, see
    19 // <http://www.gnu.org/licenses/>.
    20 //
    21 // +-----------------------------------------------------------------+
    22 // | H U R R I C A N E |
    23 // | V L S I B a c k e n d D a t a - B a s e |
    24 // | |
    25 // | Author : Jean-Paul Chaput |
    26 // | E-mail : Jean-Paul.Chaput@lip6.fr |
    27 // | =============================================================== |
    28 // | C++ Header : "./hurricane/ViaLayer.h" |
    29 // +-----------------------------------------------------------------+
    30 
    31 
    32 #ifndef HURRICANE_VIA_LAYER_H
    33 #define HURRICANE_VIA_LAYER_H
    34 
    35 #include <vector>
    36 
    37 #include "hurricane/Layer.h"
    38 #include "hurricane/ViaLayers.h"
    39 
    40 
    41 namespace Hurricane {
    42 
    43 // -------------------------------------------------------------------
    44 // Class : "Hurricane::ViaLayer".
    45 
    46  class ViaLayer : public Layer {
    47  public:
    48  typedef Layer Super;
    49 
    50  public:
    51  // Constructor.
    52  static ViaLayer* create ( Technology* technology
    53  , const Name& name
    54  , BasicLayer* bottomLayer
    55  , BasicLayer* cutLayer
    56  , BasicLayer* topLayer
    57  );
    58  // Accessors.
    59  virtual BasicLayers getBasicLayers () const;
    60  virtual const Layer* getCut () const;
    61  virtual const Layer* getTop () const;
    62  virtual const Layer* getBottom () const;
    63  virtual const Layer* getOpposite ( const Layer* ) const;
    64  virtual DbU::Unit getEnclosure ( uint32_t flags ) const;
    65  virtual DbU::Unit getEnclosure ( const BasicLayer* layer, uint32_t flags ) const;
    66  virtual DbU::Unit getTopEnclosure ( uint32_t flags ) const;
    67  virtual DbU::Unit getBottomEnclosure ( uint32_t flags ) const;
    68  // Updators.
    69  virtual void setEnclosure ( const BasicLayer* layer, DbU::Unit enclosure, uint32_t flags );
    70  // Hurricane Managment.
    71  virtual void _toJson ( JsonWriter* ) const;
    72  virtual void _onDbuChange ( float scale );
    73  virtual string _getTypeName () const;
    74  virtual string _getString () const;
    75  virtual Record* _getRecord () const;
    76 
    77  private:
    78  // Internal: Attributes
    79  vector<BasicLayer*> _basicLayers;
    80  vector< pair<DbU::Unit,DbU::Unit> > _enclosures;
    81  DbU::Unit _maximalEnclosure;
    82 
    83  protected:
    84  // Internal: Constructors & Destructors.
    85  ViaLayer ( Technology* technology
    86  , const Name& name
    87  , BasicLayer* bottomLayer
    88  , BasicLayer* cutLayer
    89  , BasicLayer* topLayer
    90  );
    91  };
    92 
    93 
    94 // -------------------------------------------------------------------
    95 // Class : "Hurricane::JsonViaLayer".
    96 
    97  class JsonViaLayer : public JsonLayer {
    98  public:
    99  static void initialize ();
    100  JsonViaLayer ( unsigned long flags );
    101  ~JsonViaLayer ();
    102  virtual string getTypeName () const;
    103  virtual JsonViaLayer* clone ( unsigned long ) const;
    104  virtual void toData ( JsonStack& );
    105  };
    106 
    107 
    108 } // End of Hurricane namespace.
    109 
    110 
    111 INSPECTOR_P_SUPPORT(Hurricane::ViaLayer);
    112 
    113 
    114 # endif
    BasicLayer description (API)
    Definition: BasicLayer.h:44
    Name description (API)
    Definition: Name.h:36
    std::int64_t Unit
    Definition: DbU.h:70
    DataBase object root class (API).
    Definition: DBo.h:46
    @@ -59,7 +59,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/Warning_8h_source.html b/hurricane/doc/hurricane/html/Warning_8h_source.html index 103d5f37..08e15782 100644 --- a/hurricane/doc/hurricane/html/Warning_8h_source.html +++ b/hurricane/doc/hurricane/html/Warning_8h_source.html @@ -56,7 +56,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/annotated.html b/hurricane/doc/hurricane/html/annotated.html index 8d1c382b..5a8415ff 100644 --- a/hurricane/doc/hurricane/html/annotated.html +++ b/hurricane/doc/hurricane/html/annotated.html @@ -134,7 +134,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classEntity_1_1CompareById.html b/hurricane/doc/hurricane/html/classEntity_1_1CompareById.html index 80b7cb1f..715b8704 100644 --- a/hurricane/doc/hurricane/html/classEntity_1_1CompareById.html +++ b/hurricane/doc/hurricane/html/classEntity_1_1CompareById.html @@ -58,7 +58,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1BasicLayer-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1BasicLayer-members.html index 6ef83a92..6d7157d1 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1BasicLayer-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1BasicLayer-members.html @@ -89,7 +89,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1BasicLayer.html b/hurricane/doc/hurricane/html/classHurricane_1_1BasicLayer.html index 27c0a40e..036e1522 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1BasicLayer.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1BasicLayer.html @@ -342,7 +342,7 @@ Additional Inherited Members
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1BasicLayer_1_1Material-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1BasicLayer_1_1Material-members.html index 9f1e7360..5bbb70d2 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1BasicLayer_1_1Material-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1BasicLayer_1_1Material-members.html @@ -63,7 +63,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1BasicLayer_1_1Material.html b/hurricane/doc/hurricane/html/classHurricane_1_1BasicLayer_1_1Material.html index a817a8da..85e1c8ea 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1BasicLayer_1_1Material.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1BasicLayer_1_1Material.html @@ -123,7 +123,7 @@ Public Types
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Box-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Box-members.html index a70166bc..dfc41320 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Box-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Box-members.html @@ -91,7 +91,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Box.html b/hurricane/doc/hurricane/html/classHurricane_1_1Box.html index 03ed86af..7ad0e659 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Box.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Box.html @@ -1104,7 +1104,7 @@ Remark on Modifiers
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Cell-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Cell-members.html index 8bf4b070..08361258 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Cell-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Cell-members.html @@ -61,10 +61,12 @@ $(function() { getInstances() constHurricane::Cellinline getInstancesUnder(const Box &area) constHurricane::Cell getInternalNets() constHurricane::Cell - getLibrary() constHurricane::Cellinline - getName() constHurricane::Cellinline - getNet(const Name &name) constHurricane::Cell - getNets() constHurricane::Cellinline + getLeafInstanceOccurrences(const Instance *topInstance=NULL) constHurricane::Cell + getLibrary() constHurricane::Cellinline + getName() constHurricane::Cellinline + getNet(const Name &name) constHurricane::Cell + getNets() constHurricane::Cellinline + getNonLeafInstanceOccurrences(const Instance *topInstance=NULL) constHurricane::Cell getOccurrences(unsigned searchDepth=std::numeric_limits< unsigned int >::max()) constHurricane::Cell getOccurrencesUnder(const Box &area, unsigned searchDepth=std::numeric_limits< unsigned int >::max()) constHurricane::Cell getProperties() constHurricane::DBo @@ -95,7 +97,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Cell.html b/hurricane/doc/hurricane/html/classHurricane_1_1Cell.html index fcb37d2f..616e81fd 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Cell.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Cell.html @@ -105,6 +105,10 @@ Public Member Functions   Occurrences getOccurrencesUnder (const Box &area, unsigned searchDepth=std::numeric_limits< unsigned int >::max()) const   +Occurrences getLeafInstanceOccurrences (const Instance *topInstance=NULL) const +  +Occurrences getNonLeafInstanceOccurrences (const Instance *topInstance=NULL) const +  const BoxgetAbutmentBox () const   bool isCalledBy (Cell *cell) const @@ -654,6 +658,44 @@ Static Public Member Functions
    Remark: The search depth is decremented each time a hirearchical
    level is crossed. The search ends when depth becomes null (the value INFINITE is equal to (unsigned)-1) .
    Caution: Only occurences corresponding to currently materialized
    entities are taken into account in this Collection.
    +
    +
    + +

    ◆ getLeafInstanceOccurrences()

    + +
    +
    + + + + + + + + +
    Occurrences Hurricane::Cell::getLeafInstanceOccurrences (const InstancetopInstance = NULL) const
    +
    +

    Returns the trans-hierarchical Collection of all instance Occurrences that are leaf cells. With the topInstance argument we can restrict the collection to leafs of that instance (of the current Cell) only.

    + +
    +
    + +

    ◆ getNonLeafInstanceOccurrences()

    + +
    +
    + + + + + + + + +
    Occurrences Hurricane::Cell::getNonLeafInstanceOccurrences (const InstancetopInstance = NULL) const
    +
    +

    Returns the trans-hierarchical Collection of all instance Occurrences that are not leaf cells. With the topInstance argument we can restrict the collection to non-leafs of that instance (of the current Cell) only.

    +
    @@ -943,7 +985,7 @@ Static Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Collection-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Collection-members.html index 39481d45..a0728463 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Collection-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Collection-members.html @@ -60,7 +60,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Collection.html b/hurricane/doc/hurricane/html/classHurricane_1_1Collection.html index 8ef6580f..4023e9d5 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Collection.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Collection.html @@ -376,7 +376,7 @@ template<class SubType >

    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Component-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Component-members.html index f72cbf05..4ff26fb2 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Component-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Component-members.html @@ -78,7 +78,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Component.html b/hurricane/doc/hurricane/html/classHurricane_1_1Component.html index d3b2b917..f5f2ab33 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Component.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Component.html @@ -504,7 +504,7 @@ Predefined filters
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Component_1_1BodyHook-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Component_1_1BodyHook-members.html index 385a8758..b84e584c 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Component_1_1BodyHook-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Component_1_1BodyHook-members.html @@ -63,7 +63,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Component_1_1BodyHook.html b/hurricane/doc/hurricane/html/classHurricane_1_1Component_1_1BodyHook.html index 1930c38d..b6bc381b 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Component_1_1BodyHook.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Component_1_1BodyHook.html @@ -91,7 +91,7 @@ Additional Inherited Members
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Contact-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Contact-members.html index b5cf3a4a..fb32a3b1 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Contact-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Contact-members.html @@ -92,7 +92,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Contact.html b/hurricane/doc/hurricane/html/classHurricane_1_1Contact.html index ad83c8f6..658e8978 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Contact.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Contact.html @@ -768,7 +768,7 @@ Introduction
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1ContactLayer-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1ContactLayer-members.html index 345eb0d0..8bf0681b 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1ContactLayer-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1ContactLayer-members.html @@ -84,7 +84,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1ContactLayer.html b/hurricane/doc/hurricane/html/classHurricane_1_1ContactLayer.html index 878ae80a..67b62908 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1ContactLayer.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1ContactLayer.html @@ -225,7 +225,7 @@ Additional Inherited Members
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Contact_1_1AnchorHook-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Contact_1_1AnchorHook-members.html index 415238fb..ba28d11a 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Contact_1_1AnchorHook-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Contact_1_1AnchorHook-members.html @@ -63,7 +63,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Contact_1_1AnchorHook.html b/hurricane/doc/hurricane/html/classHurricane_1_1Contact_1_1AnchorHook.html index 29b00624..1e3e269c 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Contact_1_1AnchorHook.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Contact_1_1AnchorHook.html @@ -92,7 +92,7 @@ Additional Inherited Members
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1DBo-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1DBo-members.html index cc5e88f2..c60aa1d9 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1DBo-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1DBo-members.html @@ -60,7 +60,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1DBo.html b/hurricane/doc/hurricane/html/classHurricane_1_1DBo.html index 47676d13..2b9133b2 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1DBo.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1DBo.html @@ -317,7 +317,7 @@ Remark
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1DataBase-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1DataBase-members.html index fa890c61..43ca85e3 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1DataBase-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1DataBase-members.html @@ -64,7 +64,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1DataBase.html b/hurricane/doc/hurricane/html/classHurricane_1_1DataBase.html index caed41b8..b0b559ef 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1DataBase.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1DataBase.html @@ -213,7 +213,7 @@ Static Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1DbU-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1DbU-members.html index f482ae6f..3735d142 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1DbU-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1DbU-members.html @@ -98,7 +98,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1DbU.html b/hurricane/doc/hurricane/html/classHurricane_1_1DbU.html index 0efe46b3..c9a3a335 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1DbU.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1DbU.html @@ -168,7 +168,7 @@ Static Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1DebugSession-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1DebugSession-members.html index a9082b68..2049d223 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1DebugSession-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1DebugSession-members.html @@ -58,7 +58,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1DebugSession.html b/hurricane/doc/hurricane/html/classHurricane_1_1DebugSession.html index eb8add0a..257b800f 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1DebugSession.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1DebugSession.html @@ -378,7 +378,7 @@ Trace Levels
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Diagonal-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Diagonal-members.html index ad920590..64d00839 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Diagonal-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Diagonal-members.html @@ -75,7 +75,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Diagonal.html b/hurricane/doc/hurricane/html/classHurricane_1_1Diagonal.html index 4c420cad..6b8136a1 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Diagonal.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Diagonal.html @@ -211,7 +211,7 @@ Introduction
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1DiffusionLayer-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1DiffusionLayer-members.html index e21c00bf..eb395fa8 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1DiffusionLayer-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1DiffusionLayer-members.html @@ -83,7 +83,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1DiffusionLayer.html b/hurricane/doc/hurricane/html/classHurricane_1_1DiffusionLayer.html index 7660f9ce..4f26a5a8 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1DiffusionLayer.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1DiffusionLayer.html @@ -211,7 +211,7 @@ Additional Inherited Members
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Entity-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Entity-members.html index 348acadd..d86a4d06 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Entity-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Entity-members.html @@ -62,7 +62,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Entity.html b/hurricane/doc/hurricane/html/classHurricane_1_1Entity.html index e1872e37..be1e901f 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Entity.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Entity.html @@ -174,7 +174,7 @@ Unique Identifier
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Error-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Error-members.html index ea0455b4..b3ec6908 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Error-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Error-members.html @@ -66,7 +66,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Error.html b/hurricane/doc/hurricane/html/classHurricane_1_1Error.html index 293c6b74..6aaa74af 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Error.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Error.html @@ -345,7 +345,7 @@ Printing format
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Exception-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Exception-members.html index 7038a0c6..a7ac790d 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Exception-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Exception-members.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Exception.html b/hurricane/doc/hurricane/html/classHurricane_1_1Exception.html index 738ff1a8..9e5d5e26 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Exception.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Exception.html @@ -234,7 +234,7 @@ Example
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Filter-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Filter-members.html index 0136ef08..df3e4d28 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Filter-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Filter-members.html @@ -55,7 +55,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Filter.html b/hurricane/doc/hurricane/html/classHurricane_1_1Filter.html index 1bf18c27..9d9c9d34 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Filter.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Filter.html @@ -185,7 +185,7 @@ template<class Type>

    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1GenericCollection-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1GenericCollection-members.html index 0bf0cfe1..19ca55f3 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1GenericCollection-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1GenericCollection-members.html @@ -60,7 +60,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1GenericCollection.html b/hurricane/doc/hurricane/html/classHurricane_1_1GenericCollection.html index bc2e83dc..b2952748 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1GenericCollection.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1GenericCollection.html @@ -188,7 +188,7 @@ template<class Type>

    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1GenericFilter-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1GenericFilter-members.html index f4510e66..d345af6f 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1GenericFilter-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1GenericFilter-members.html @@ -56,7 +56,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1GenericFilter.html b/hurricane/doc/hurricane/html/classHurricane_1_1GenericFilter.html index 7036bcbc..9d163a85 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1GenericFilter.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1GenericFilter.html @@ -178,7 +178,7 @@ template<class Type >

    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1GenericLocator-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1GenericLocator-members.html index 6de107eb..187b7dac 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1GenericLocator-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1GenericLocator-members.html @@ -55,7 +55,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1GenericLocator.html b/hurricane/doc/hurricane/html/classHurricane_1_1GenericLocator.html index a2d5f0a3..bfc3d71f 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1GenericLocator.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1GenericLocator.html @@ -175,7 +175,7 @@ template<class Type>

    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Go-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Go-members.html index d0fa2f5c..37b48882 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Go-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Go-members.html @@ -70,7 +70,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Go.html b/hurricane/doc/hurricane/html/classHurricane_1_1Go.html index 66bcbdbe..5aa02b56 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Go.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Go.html @@ -386,7 +386,7 @@ Construction and destruction
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Hook-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Hook-members.html index e39d9942..c4b2c0ba 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Hook-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Hook-members.html @@ -65,7 +65,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Hook.html b/hurricane/doc/hurricane/html/classHurricane_1_1Hook.html index a6c82099..bfd3b3c0 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Hook.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Hook.html @@ -420,7 +420,7 @@ Constructor and Destructor
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Horizontal-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Horizontal-members.html index 8afe4ded..2f10734e 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Horizontal-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Horizontal-members.html @@ -92,7 +92,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Horizontal.html b/hurricane/doc/hurricane/html/classHurricane_1_1Horizontal.html index 2d061005..6daadf7d 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Horizontal.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Horizontal.html @@ -419,7 +419,7 @@ Introduction
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1HyperNet-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1HyperNet-members.html index 0c11d250..3a861037 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1HyperNet-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1HyperNet-members.html @@ -58,7 +58,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1HyperNet.html b/hurricane/doc/hurricane/html/classHurricane_1_1HyperNet.html index d45e5388..fe04c1ae 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1HyperNet.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1HyperNet.html @@ -272,7 +272,7 @@ Introduction
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Initializer-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Initializer-members.html index ec371ea0..09d15c82 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Initializer-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Initializer-members.html @@ -53,7 +53,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Initializer.html b/hurricane/doc/hurricane/html/classHurricane_1_1Initializer.html index 956fdd75..e6119fec 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Initializer.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Initializer.html @@ -105,7 +105,7 @@ template<typename T >

    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Instance-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Instance-members.html index 6d092828..63bf4524 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Instance-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Instance-members.html @@ -82,7 +82,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Instance.html b/hurricane/doc/hurricane/html/classHurricane_1_1Instance.html index 45cc3465..a9f29eef 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Instance.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Instance.html @@ -646,7 +646,7 @@ Instance Destruction
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Instance_1_1PlacementStatus-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Instance_1_1PlacementStatus-members.html index 6313bb73..f0723229 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Instance_1_1PlacementStatus-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Instance_1_1PlacementStatus-members.html @@ -60,7 +60,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Instance_1_1PlacementStatus.html b/hurricane/doc/hurricane/html/classHurricane_1_1Instance_1_1PlacementStatus.html index acfb5ac5..e2ae8694 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Instance_1_1PlacementStatus.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Instance_1_1PlacementStatus.html @@ -209,7 +209,7 @@ Instance Placement Status
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Interruption-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Interruption-members.html index e1cddc74..4be9d44f 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Interruption-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Interruption-members.html @@ -61,7 +61,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Interruption.html b/hurricane/doc/hurricane/html/classHurricane_1_1Interruption.html index d746a624..19921480 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Interruption.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Interruption.html @@ -188,7 +188,7 @@ Introduction
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Interval-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Interval-members.html index 11ac5bc5..1abebe95 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Interval-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Interval-members.html @@ -79,7 +79,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Interval.html b/hurricane/doc/hurricane/html/classHurricane_1_1Interval.html index dec1e3fe..0db5f863 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Interval.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Interval.html @@ -737,7 +737,7 @@ Remark
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1JsonObject-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1JsonObject-members.html index b48ea94f..014b334e 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1JsonObject-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1JsonObject-members.html @@ -76,7 +76,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1JsonObject.html b/hurricane/doc/hurricane/html/classHurricane_1_1JsonObject.html index 054eb925..da31034e 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1JsonObject.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1JsonObject.html @@ -917,7 +917,7 @@ template<typename T >

    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1JsonStack-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1JsonStack-members.html index 1e5837e9..4f56c9aa 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1JsonStack-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1JsonStack-members.html @@ -65,7 +65,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1JsonStack.html b/hurricane/doc/hurricane/html/classHurricane_1_1JsonStack.html index 7927baac..13c7a865 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1JsonStack.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1JsonStack.html @@ -528,7 +528,7 @@ template<typename T >

    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Layer-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Layer-members.html index e84615e2..1f4d94fc 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Layer-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Layer-members.html @@ -85,7 +85,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Layer.html b/hurricane/doc/hurricane/html/classHurricane_1_1Layer.html index 8fb78f49..a53fe23a 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Layer.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Layer.html @@ -834,7 +834,7 @@ Looking Up a Layer from a Mask
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Library-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Library-members.html index 72f5e759..df837f81 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Library-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Library-members.html @@ -71,7 +71,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Library.html b/hurricane/doc/hurricane/html/classHurricane_1_1Library.html index 46700219..951da19e 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Library.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Library.html @@ -421,7 +421,7 @@ Introduction
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1ListCollection-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1ListCollection-members.html index a3a78ed6..7e08fd1a 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1ListCollection-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1ListCollection-members.html @@ -58,7 +58,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1ListCollection.html b/hurricane/doc/hurricane/html/classHurricane_1_1ListCollection.html index 6cf59aeb..35800b33 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1ListCollection.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1ListCollection.html @@ -120,7 +120,7 @@ template<class Element >

    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Locator-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Locator-members.html index 3b2b581e..06169a61 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Locator-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Locator-members.html @@ -56,7 +56,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Locator.html b/hurricane/doc/hurricane/html/classHurricane_1_1Locator.html index b8ce4f73..476657fb 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Locator.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Locator.html @@ -211,7 +211,7 @@ template<class Type>
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1MapCollection-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1MapCollection-members.html index aadb17a9..ce238b9d 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1MapCollection-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1MapCollection-members.html @@ -58,7 +58,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1MapCollection.html b/hurricane/doc/hurricane/html/classHurricane_1_1MapCollection.html index 618c5227..48ed0361 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1MapCollection.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1MapCollection.html @@ -120,7 +120,7 @@ template<class Key , class Element , class Compare = less<Key>> - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Name-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Name-members.html index cc35a910..5ce6d92a 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Name-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Name-members.html @@ -66,7 +66,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Name.html b/hurricane/doc/hurricane/html/classHurricane_1_1Name.html index a362f2dd..3569dc59 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Name.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Name.html @@ -363,7 +363,7 @@ Introduction
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Net-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Net-members.html index 8227a266..e3c12cf6 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Net-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Net-members.html @@ -103,7 +103,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Net.html b/hurricane/doc/hurricane/html/classHurricane_1_1Net.html index 3916b988..82edf844 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Net.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Net.html @@ -1167,7 +1167,7 @@ Predefined filters
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Net_1_1Direction-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Net_1_1Direction-members.html index cbd9c0c4..188a34a6 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Net_1_1Direction-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Net_1_1Direction-members.html @@ -66,7 +66,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Net_1_1Direction.html b/hurricane/doc/hurricane/html/classHurricane_1_1Net_1_1Direction.html index 64b98c6b..ddcd7aee 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Net_1_1Direction.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Net_1_1Direction.html @@ -135,7 +135,7 @@ Public Types
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Net_1_1Type-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Net_1_1Type-members.html index 89c2ebc3..713a9505 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Net_1_1Type-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Net_1_1Type-members.html @@ -58,7 +58,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Net_1_1Type.html b/hurricane/doc/hurricane/html/classHurricane_1_1Net_1_1Type.html index 8539e072..75d58e6a 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Net_1_1Type.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Net_1_1Type.html @@ -103,7 +103,7 @@ Public Types
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1NotFilter-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1NotFilter-members.html index 116d6436..bfb97d1f 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1NotFilter-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1NotFilter-members.html @@ -55,7 +55,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1NotFilter.html b/hurricane/doc/hurricane/html/classHurricane_1_1NotFilter.html index 356fb13c..fd2d9288 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1NotFilter.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1NotFilter.html @@ -146,7 +146,7 @@ template<class Type>
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Occurrence-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Occurrence-members.html index 7e9278b4..c42bb1ab 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Occurrence-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Occurrence-members.html @@ -72,7 +72,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Occurrence.html b/hurricane/doc/hurricane/html/classHurricane_1_1Occurrence.html index a39c6682..38306d45 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Occurrence.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Occurrence.html @@ -538,7 +538,7 @@ Remarks
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Pad-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Pad-members.html index 8b7836d1..6c2dd17e 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Pad-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Pad-members.html @@ -74,7 +74,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Pad.html b/hurricane/doc/hurricane/html/classHurricane_1_1Pad.html index 8410a567..cb0f7835 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Pad.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Pad.html @@ -198,7 +198,7 @@ Introduction
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Path-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Path-members.html index 30a2a893..1a70f99c 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Path-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Path-members.html @@ -75,7 +75,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Path.html b/hurricane/doc/hurricane/html/classHurricane_1_1Path.html index af23c421..9e79ed45 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Path.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Path.html @@ -605,7 +605,7 @@ Remarks
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Pin-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Pin-members.html index f226d4fc..22c0a6d8 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Pin-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Pin-members.html @@ -91,7 +91,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Pin.html b/hurricane/doc/hurricane/html/classHurricane_1_1Pin.html index a9cd588c..f09b560c 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Pin.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Pin.html @@ -166,7 +166,7 @@ Additional Inherited Members
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Plug-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Plug-members.html index 91629fee..093a3c00 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Plug-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Plug-members.html @@ -77,7 +77,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Plug.html b/hurricane/doc/hurricane/html/classHurricane_1_1Plug.html index 0f28849f..c05fc12f 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Plug.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Plug.html @@ -327,7 +327,7 @@ Predefined filters
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Point-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Point-members.html index f0896b83..09ae2aed 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Point-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Point-members.html @@ -61,7 +61,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Point.html b/hurricane/doc/hurricane/html/classHurricane_1_1Point.html index 6c7c1ca0..ccd5f4e3 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Point.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Point.html @@ -291,7 +291,7 @@ Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Polygon-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Polygon-members.html index 01b61048..fe7da6bb 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Polygon-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Polygon-members.html @@ -75,7 +75,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Polygon.html b/hurricane/doc/hurricane/html/classHurricane_1_1Polygon.html index 71ff9083..e2cdf0b5 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Polygon.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Polygon.html @@ -199,7 +199,7 @@ Introduction
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1PrivateProperty-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1PrivateProperty-members.html index 69c58e78..fa6ee582 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1PrivateProperty-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1PrivateProperty-members.html @@ -55,7 +55,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1PrivateProperty.html b/hurricane/doc/hurricane/html/classHurricane_1_1PrivateProperty.html index 3248895c..27b38ec9 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1PrivateProperty.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1PrivateProperty.html @@ -121,7 +121,7 @@ Destruction
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Property-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Property-members.html index 91aee7aa..deaf16de 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Property-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Property-members.html @@ -56,7 +56,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Property.html b/hurricane/doc/hurricane/html/classHurricane_1_1Property.html index 4c57e37d..ca78e334 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Property.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Property.html @@ -258,7 +258,7 @@ Remarks
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1QuadTree-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1QuadTree-members.html index efae8213..e85a42a2 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1QuadTree-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1QuadTree-members.html @@ -60,7 +60,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1QuadTree.html b/hurricane/doc/hurricane/html/classHurricane_1_1QuadTree.html index a10296ec..449990a7 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1QuadTree.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1QuadTree.html @@ -250,7 +250,7 @@ Introduction
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Quark-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Quark-members.html index 65aea7fc..6ff9d38a 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Quark-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Quark-members.html @@ -61,7 +61,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Quark.html b/hurricane/doc/hurricane/html/classHurricane_1_1Quark.html index 3c51e04f..c4f59d6e 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Quark.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Quark.html @@ -136,7 +136,7 @@ Example
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Query-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Query-members.html index a6776c07..8e704e68 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Query-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Query-members.html @@ -91,7 +91,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Query.html b/hurricane/doc/hurricane/html/classHurricane_1_1Query.html index 5310e77b..0e033e25 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Query.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Query.html @@ -1050,7 +1050,7 @@ secQueryParameters
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1RegularLayer-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1RegularLayer-members.html index ef6bec6a..2e3cab6d 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1RegularLayer-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1RegularLayer-members.html @@ -51,7 +51,7 @@ $(function() { below(const Layer *layer) constHurricane::Layerinline clearProperties()Hurricane::DBo contains(const Layer *layer) constHurricane::Layer - create(Technology *technology, const Name &name)Hurricane::RegularLayerstatic + create(Technology *technology, const Name &name, BasicLayer *layer)Hurricane::RegularLayerstatic destroy()Hurricane::DBovirtual getBasicLayer() constHurricane::RegularLayerinline getCutAbove(bool useSymbolic=true) constHurricane::Layer @@ -81,7 +81,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1RegularLayer.html b/hurricane/doc/hurricane/html/classHurricane_1_1RegularLayer.html index 47fd3e41..b1a72ff9 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1RegularLayer.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1RegularLayer.html @@ -122,8 +122,8 @@ Public Member Functions - - + +

    Static Public Member Functions

    static RegularLayercreate (Technology *technology, const Name &name)
     
    static RegularLayercreate (Technology *technology, const Name &name, BasicLayer *layer)
     
    @@ -145,8 +145,8 @@ RegularLayer::getOpposite()

    All returns that BasicLayer.

    It have one enclose, extention cap & extension width.

    Member Function Documentation

    - -

    ◆ create()

    + +

    ◆ create()

    @@ -164,7 +164,13 @@ RegularLayer::getOpposite()
    - + + + + + + + @@ -218,7 +224,7 @@ RegularLayer::getOpposite()

    Additional Inherited Members

    const Namename name,
    BasicLayerlayer 
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Relation-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Relation-members.html index ac6a7c32..daa69b0c 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Relation-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Relation-members.html @@ -54,7 +54,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Relation.html b/hurricane/doc/hurricane/html/classHurricane_1_1Relation.html index 098850b1..1f825749 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Relation.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Relation.html @@ -78,7 +78,7 @@ Additional Inherited Members
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1RoutingPad-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1RoutingPad-members.html index 49178b4a..ca24fe75 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1RoutingPad-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1RoutingPad-members.html @@ -98,7 +98,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1RoutingPad.html b/hurricane/doc/hurricane/html/classHurricane_1_1RoutingPad.html index a83be79f..9d43a199 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1RoutingPad.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1RoutingPad.html @@ -721,7 +721,7 @@ Introduction
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Rubber-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Rubber-members.html index e6395bab..b45e49e0 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Rubber-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Rubber-members.html @@ -69,7 +69,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Rubber.html b/hurricane/doc/hurricane/html/classHurricane_1_1Rubber.html index 604a7270..20fad496 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Rubber.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Rubber.html @@ -257,7 +257,7 @@ Constructors & Destructors
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Segment-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Segment-members.html index 19972945..339854a1 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Segment-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Segment-members.html @@ -93,7 +93,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Segment.html b/hurricane/doc/hurricane/html/classHurricane_1_1Segment.html index 275a446c..272f1cf2 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Segment.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Segment.html @@ -644,7 +644,7 @@ Introduction
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Segment_1_1SourceHook-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Segment_1_1SourceHook-members.html index e9df78f9..63f5bdca 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Segment_1_1SourceHook-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Segment_1_1SourceHook-members.html @@ -63,7 +63,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Segment_1_1SourceHook.html b/hurricane/doc/hurricane/html/classHurricane_1_1Segment_1_1SourceHook.html index 73d6fc36..790dff57 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Segment_1_1SourceHook.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Segment_1_1SourceHook.html @@ -91,7 +91,7 @@ Additional Inherited Members
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Segment_1_1TargetHook-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Segment_1_1TargetHook-members.html index 5fbaa453..d3302f3e 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Segment_1_1TargetHook-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Segment_1_1TargetHook-members.html @@ -63,7 +63,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Segment_1_1TargetHook.html b/hurricane/doc/hurricane/html/classHurricane_1_1Segment_1_1TargetHook.html index 5cb13538..9b083a3c 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Segment_1_1TargetHook.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Segment_1_1TargetHook.html @@ -91,7 +91,7 @@ Additional Inherited Members
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1SetCollection-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1SetCollection-members.html index ebde58f5..767bd525 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1SetCollection-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1SetCollection-members.html @@ -58,7 +58,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1SetCollection.html b/hurricane/doc/hurricane/html/classHurricane_1_1SetCollection.html index 47e4f84f..3ffe1e9b 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1SetCollection.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1SetCollection.html @@ -120,7 +120,7 @@ template<class Element , class Compare = less<Element>>
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1SharedProperty-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1SharedProperty-members.html index 239bbf35..6e605dc6 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1SharedProperty-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1SharedProperty-members.html @@ -54,7 +54,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1SharedProperty.html b/hurricane/doc/hurricane/html/classHurricane_1_1SharedProperty.html index 7c7f3b84..4d32a235 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1SharedProperty.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1SharedProperty.html @@ -89,7 +89,7 @@ Introduction
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Slice-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Slice-members.html index 81892c11..ac94b49f 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Slice-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Slice-members.html @@ -58,7 +58,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Slice.html b/hurricane/doc/hurricane/html/classHurricane_1_1Slice.html index 1b25d03f..732abccb 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Slice.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Slice.html @@ -233,7 +233,7 @@ Example
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1StandardPrivateProperty-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1StandardPrivateProperty-members.html index 82f8a3cd..5f1d34fe 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1StandardPrivateProperty-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1StandardPrivateProperty-members.html @@ -54,7 +54,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1StandardPrivateProperty.html b/hurricane/doc/hurricane/html/classHurricane_1_1StandardPrivateProperty.html index 46845313..f91f39b9 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1StandardPrivateProperty.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1StandardPrivateProperty.html @@ -84,7 +84,7 @@ Introduction
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1StandardRelation-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1StandardRelation-members.html index 3df93a5a..1ea84930 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1StandardRelation-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1StandardRelation-members.html @@ -53,7 +53,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1StandardRelation.html b/hurricane/doc/hurricane/html/classHurricane_1_1StandardRelation.html index 96aa39ab..3867224c 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1StandardRelation.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1StandardRelation.html @@ -76,7 +76,7 @@ Additional Inherited Members
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1StandardSharedProperty-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1StandardSharedProperty-members.html index cbcc9693..9a6b971d 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1StandardSharedProperty-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1StandardSharedProperty-members.html @@ -53,7 +53,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1StandardSharedProperty.html b/hurricane/doc/hurricane/html/classHurricane_1_1StandardSharedProperty.html index 9b210185..ea9bb671 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1StandardSharedProperty.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1StandardSharedProperty.html @@ -81,7 +81,7 @@ Introduction
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1SubSetCollection-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1SubSetCollection-members.html index ab2ca9aa..167f1cd4 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1SubSetCollection-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1SubSetCollection-members.html @@ -60,7 +60,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1SubSetCollection.html b/hurricane/doc/hurricane/html/classHurricane_1_1SubSetCollection.html index 0b5a107a..2e99f630 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1SubSetCollection.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1SubSetCollection.html @@ -165,7 +165,7 @@ template<class Type >
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1SubTypeCollection-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1SubTypeCollection-members.html index cda0f6da..e928c263 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1SubTypeCollection-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1SubTypeCollection-members.html @@ -61,7 +61,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1SubTypeCollection.html b/hurricane/doc/hurricane/html/classHurricane_1_1SubTypeCollection.html index 1b55e06b..a04558b8 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1SubTypeCollection.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1SubTypeCollection.html @@ -184,7 +184,7 @@ template<class Type , class SubType >
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Tabulation-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Tabulation-members.html index 202920b8..154c0186 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Tabulation-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Tabulation-members.html @@ -60,7 +60,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Tabulation.html b/hurricane/doc/hurricane/html/classHurricane_1_1Tabulation.html index 2e5a7f43..cbb80664 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Tabulation.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Tabulation.html @@ -243,7 +243,7 @@ Remark
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Technology-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Technology-members.html index 23787c1d..da4ef66c 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Technology-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Technology-members.html @@ -81,7 +81,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Technology.html b/hurricane/doc/hurricane/html/classHurricane_1_1Technology.html index 37b4bd5c..c0c4a132 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Technology.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Technology.html @@ -662,7 +662,7 @@ Introduction
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Transformation-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Transformation-members.html index e88412ba..cb884224 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Transformation-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Transformation-members.html @@ -81,7 +81,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Transformation.html b/hurricane/doc/hurricane/html/classHurricane_1_1Transformation.html index f5771178..d926c046 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Transformation.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Transformation.html @@ -840,7 +840,7 @@ Transformers
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Transformation_1_1Orientation-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Transformation_1_1Orientation-members.html index dc3e97cf..82542b64 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Transformation_1_1Orientation-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Transformation_1_1Orientation-members.html @@ -52,7 +52,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Transformation_1_1Orientation.html b/hurricane/doc/hurricane/html/classHurricane_1_1Transformation_1_1Orientation.html index b2d71be8..98dd505a 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Transformation_1_1Orientation.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Transformation_1_1Orientation.html @@ -106,7 +106,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1TransistorLayer-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1TransistorLayer-members.html index fbb557a2..eccb5f94 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1TransistorLayer-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1TransistorLayer-members.html @@ -83,7 +83,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1TransistorLayer.html b/hurricane/doc/hurricane/html/classHurricane_1_1TransistorLayer.html index 77213338..ef0acc1a 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1TransistorLayer.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1TransistorLayer.html @@ -217,7 +217,7 @@ Additional Inherited Members
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1UpdateSession-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1UpdateSession-members.html index 6f5b50d8..5b901589 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1UpdateSession-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1UpdateSession-members.html @@ -52,7 +52,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1UpdateSession.html b/hurricane/doc/hurricane/html/classHurricane_1_1UpdateSession.html index f47f47fa..c018eb64 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1UpdateSession.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1UpdateSession.html @@ -87,7 +87,7 @@ Update Session Mechanism
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1VectorCollection-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1VectorCollection-members.html index 105bf2af..fd3c4fce 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1VectorCollection-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1VectorCollection-members.html @@ -58,7 +58,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1VectorCollection.html b/hurricane/doc/hurricane/html/classHurricane_1_1VectorCollection.html index 287b84d8..7ea36433 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1VectorCollection.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1VectorCollection.html @@ -120,7 +120,7 @@ template<class Element >
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Vertical-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Vertical-members.html index 43e2f327..a7f31d78 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Vertical-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Vertical-members.html @@ -92,7 +92,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Vertical.html b/hurricane/doc/hurricane/html/classHurricane_1_1Vertical.html index 5cc17254..321fc577 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Vertical.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Vertical.html @@ -420,7 +420,7 @@ Introduction
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1ViaLayer-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1ViaLayer-members.html index c18f8269..140b6425 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1ViaLayer-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1ViaLayer-members.html @@ -81,7 +81,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1ViaLayer.html b/hurricane/doc/hurricane/html/classHurricane_1_1ViaLayer.html index 826335f6..99795be6 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1ViaLayer.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1ViaLayer.html @@ -207,7 +207,7 @@ ViaLayer::getOpposite()
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Warning-members.html b/hurricane/doc/hurricane/html/classHurricane_1_1Warning-members.html index 742393dc..78e96181 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Warning-members.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Warning-members.html @@ -65,7 +65,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classHurricane_1_1Warning.html b/hurricane/doc/hurricane/html/classHurricane_1_1Warning.html index 1c444b27..005a5354 100644 --- a/hurricane/doc/hurricane/html/classHurricane_1_1Warning.html +++ b/hurricane/doc/hurricane/html/classHurricane_1_1Warning.html @@ -317,7 +317,7 @@ Remark
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/classes.html b/hurricane/doc/hurricane/html/classes.html index 137ffe66..6ffb1eef 100644 --- a/hurricane/doc/hurricane/html/classes.html +++ b/hurricane/doc/hurricane/html/classes.html @@ -136,7 +136,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/clasststream-members.html b/hurricane/doc/hurricane/html/clasststream-members.html index eba649ff..14efe027 100644 --- a/hurricane/doc/hurricane/html/clasststream-members.html +++ b/hurricane/doc/hurricane/html/clasststream-members.html @@ -58,7 +58,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/clasststream.html b/hurricane/doc/hurricane/html/clasststream.html index 76bca28d..fa1c50f9 100644 --- a/hurricane/doc/hurricane/html/clasststream.html +++ b/hurricane/doc/hurricane/html/clasststream.html @@ -404,7 +404,7 @@ Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/dir_2450e9a649c497a3424377400b95054f.html b/hurricane/doc/hurricane/html/dir_2450e9a649c497a3424377400b95054f.html index ba1f444f..0c5e074b 100644 --- a/hurricane/doc/hurricane/html/dir_2450e9a649c497a3424377400b95054f.html +++ b/hurricane/doc/hurricane/html/dir_2450e9a649c497a3424377400b95054f.html @@ -49,7 +49,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/hurricane/doc/hurricane/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html index 3ffb0058..44333929 100644 --- a/hurricane/doc/hurricane/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html +++ b/hurricane/doc/hurricane/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -49,7 +49,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/dir_84a91669594ac5e20f6d730a15331f7a.html b/hurricane/doc/hurricane/html/dir_84a91669594ac5e20f6d730a15331f7a.html index c177291c..5b4ef952 100644 --- a/hurricane/doc/hurricane/html/dir_84a91669594ac5e20f6d730a15331f7a.html +++ b/hurricane/doc/hurricane/html/dir_84a91669594ac5e20f6d730a15331f7a.html @@ -53,7 +53,7 @@ Directories
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/files.html b/hurricane/doc/hurricane/html/files.html index d726197e..831fc8cc 100644 --- a/hurricane/doc/hurricane/html/files.html +++ b/hurricane/doc/hurricane/html/files.html @@ -138,7 +138,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions.html b/hurricane/doc/hurricane/html/functions.html index d0b9a3b1..35e5adc9 100644 --- a/hurricane/doc/hurricane/html/functions.html +++ b/hurricane/doc/hurricane/html/functions.html @@ -78,7 +78,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_0x7e.html b/hurricane/doc/hurricane/html/functions_0x7e.html index 33f14e6d..f37b5866 100644 --- a/hurricane/doc/hurricane/html/functions_0x7e.html +++ b/hurricane/doc/hurricane/html/functions_0x7e.html @@ -63,7 +63,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_b.html b/hurricane/doc/hurricane/html/functions_b.html index 3332361e..5f56aee6 100644 --- a/hurricane/doc/hurricane/html/functions_b.html +++ b/hurricane/doc/hurricane/html/functions_b.html @@ -60,7 +60,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_c.html b/hurricane/doc/hurricane/html/functions_c.html index 4c4312a2..9823701b 100644 --- a/hurricane/doc/hurricane/html/functions_c.html +++ b/hurricane/doc/hurricane/html/functions_c.html @@ -95,7 +95,7 @@ $(function() { , Hurricane::Net , Hurricane::Pad , Hurricane::Polygon -, Hurricane::RegularLayer +, Hurricane::RegularLayer , Hurricane::RoutingPad , Hurricane::Technology , Hurricane::TransistorLayer @@ -111,7 +111,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_d.html b/hurricane/doc/hurricane/html/functions_d.html index a96ddb9d..89f274df 100644 --- a/hurricane/doc/hurricane/html/functions_d.html +++ b/hurricane/doc/hurricane/html/functions_d.html @@ -94,7 +94,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_e.html b/hurricane/doc/hurricane/html/functions_e.html index e983c038..1d68c001 100644 --- a/hurricane/doc/hurricane/html/functions_e.html +++ b/hurricane/doc/hurricane/html/functions_e.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_enum.html b/hurricane/doc/hurricane/html/functions_enum.html index 68740a1e..e8378685 100644 --- a/hurricane/doc/hurricane/html/functions_enum.html +++ b/hurricane/doc/hurricane/html/functions_enum.html @@ -64,7 +64,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_eval.html b/hurricane/doc/hurricane/html/functions_eval.html index 946b05b5..489e860b 100644 --- a/hurricane/doc/hurricane/html/functions_eval.html +++ b/hurricane/doc/hurricane/html/functions_eval.html @@ -276,7 +276,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_f.html b/hurricane/doc/hurricane/html/functions_f.html index db5e550f..491fb2d0 100644 --- a/hurricane/doc/hurricane/html/functions_f.html +++ b/hurricane/doc/hurricane/html/functions_f.html @@ -63,7 +63,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_func.html b/hurricane/doc/hurricane/html/functions_func.html index f0848d00..c12f578d 100644 --- a/hurricane/doc/hurricane/html/functions_func.html +++ b/hurricane/doc/hurricane/html/functions_func.html @@ -72,7 +72,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_func_0x7e.html b/hurricane/doc/hurricane/html/functions_func_0x7e.html index f673431d..52a957ce 100644 --- a/hurricane/doc/hurricane/html/functions_func_0x7e.html +++ b/hurricane/doc/hurricane/html/functions_func_0x7e.html @@ -63,7 +63,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_func_b.html b/hurricane/doc/hurricane/html/functions_func_b.html index fe9db6e4..1ea71c8d 100644 --- a/hurricane/doc/hurricane/html/functions_func_b.html +++ b/hurricane/doc/hurricane/html/functions_func_b.html @@ -54,7 +54,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_func_c.html b/hurricane/doc/hurricane/html/functions_func_c.html index 2ec4860e..90a51e4e 100644 --- a/hurricane/doc/hurricane/html/functions_func_c.html +++ b/hurricane/doc/hurricane/html/functions_func_c.html @@ -77,7 +77,7 @@ $(function() { , Hurricane::Net , Hurricane::Pad , Hurricane::Polygon -, Hurricane::RegularLayer +, Hurricane::RegularLayer , Hurricane::RoutingPad , Hurricane::Technology , Hurricane::TransistorLayer @@ -90,7 +90,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_func_d.html b/hurricane/doc/hurricane/html/functions_func_d.html index 0f5a7dd6..f7b87ce3 100644 --- a/hurricane/doc/hurricane/html/functions_func_d.html +++ b/hurricane/doc/hurricane/html/functions_func_d.html @@ -61,7 +61,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_func_e.html b/hurricane/doc/hurricane/html/functions_func_e.html index 5eb573fc..f531b901 100644 --- a/hurricane/doc/hurricane/html/functions_func_e.html +++ b/hurricane/doc/hurricane/html/functions_func_e.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_func_f.html b/hurricane/doc/hurricane/html/functions_func_f.html index fd841b95..58338c4e 100644 --- a/hurricane/doc/hurricane/html/functions_func_f.html +++ b/hurricane/doc/hurricane/html/functions_func_f.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_func_g.html b/hurricane/doc/hurricane/html/functions_func_g.html index 8a3bc7e8..a40031f1 100644 --- a/hurricane/doc/hurricane/html/functions_func_g.html +++ b/hurricane/doc/hurricane/html/functions_func_g.html @@ -322,6 +322,9 @@ $(function() {
  • getLayers() : Hurricane::Technology
  • +
  • getLeafInstanceOccurrences() +: Hurricane::Cell +
  • getLeafPlugOccurrences() : Hurricane::HyperNet
  • @@ -419,6 +422,9 @@ $(function() {
  • getNextMasterHook() : Hurricane::Hook
  • +
  • getNonLeafInstanceOccurrences() +: Hurricane::Cell +
  • getNthMetal() : Hurricane::Technology
  • @@ -485,7 +491,7 @@ $(function() { , Hurricane::Net
  • getPoint() -: Hurricane::Transformation +: Hurricane::Transformation
  • getPosition() : Hurricane::Component @@ -596,7 +602,7 @@ $(function() { : Hurricane::Query
  • getSubSet() -: Hurricane::Collection< Type > +: Hurricane::Collection< Type >
  • getSupplyNets() : Hurricane::Cell @@ -696,7 +702,7 @@ $(function() { : Hurricane::Component , Hurricane::Net , Hurricane::RoutingPad -, Hurricane::Transformation +, Hurricane::Transformation
  • getXCenter() : Hurricane::Box @@ -734,7 +740,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_func_h.html b/hurricane/doc/hurricane/html/functions_func_h.html index d5b972cc..fc648bd0 100644 --- a/hurricane/doc/hurricane/html/functions_func_h.html +++ b/hurricane/doc/hurricane/html/functions_func_h.html @@ -76,7 +76,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_func_i.html b/hurricane/doc/hurricane/html/functions_func_i.html index c66f567f..cdf318de 100644 --- a/hurricane/doc/hurricane/html/functions_func_i.html +++ b/hurricane/doc/hurricane/html/functions_func_i.html @@ -157,7 +157,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_func_j.html b/hurricane/doc/hurricane/html/functions_func_j.html index f607fabe..b6fecb99 100644 --- a/hurricane/doc/hurricane/html/functions_func_j.html +++ b/hurricane/doc/hurricane/html/functions_func_j.html @@ -54,7 +54,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_func_l.html b/hurricane/doc/hurricane/html/functions_func_l.html index a5512b03..46a9f429 100644 --- a/hurricane/doc/hurricane/html/functions_func_l.html +++ b/hurricane/doc/hurricane/html/functions_func_l.html @@ -54,7 +54,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_func_m.html b/hurricane/doc/hurricane/html/functions_func_m.html index 9988b937..29c0963a 100644 --- a/hurricane/doc/hurricane/html/functions_func_m.html +++ b/hurricane/doc/hurricane/html/functions_func_m.html @@ -69,7 +69,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_func_n.html b/hurricane/doc/hurricane/html/functions_func_n.html index 7d5c6312..cda5f6bd 100644 --- a/hurricane/doc/hurricane/html/functions_func_n.html +++ b/hurricane/doc/hurricane/html/functions_func_n.html @@ -51,7 +51,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_func_o.html b/hurricane/doc/hurricane/html/functions_func_o.html index e8e65c86..1382abd1 100644 --- a/hurricane/doc/hurricane/html/functions_func_o.html +++ b/hurricane/doc/hurricane/html/functions_func_o.html @@ -116,7 +116,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_func_p.html b/hurricane/doc/hurricane/html/functions_func_p.html index 9fc39cfa..115e1a34 100644 --- a/hurricane/doc/hurricane/html/functions_func_p.html +++ b/hurricane/doc/hurricane/html/functions_func_p.html @@ -79,7 +79,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_func_q.html b/hurricane/doc/hurricane/html/functions_func_q.html index ddb6c8c4..47cdab72 100644 --- a/hurricane/doc/hurricane/html/functions_func_q.html +++ b/hurricane/doc/hurricane/html/functions_func_q.html @@ -51,7 +51,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_func_r.html b/hurricane/doc/hurricane/html/functions_func_r.html index b02da8d7..ab4c2e15 100644 --- a/hurricane/doc/hurricane/html/functions_func_r.html +++ b/hurricane/doc/hurricane/html/functions_func_r.html @@ -67,7 +67,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_func_s.html b/hurricane/doc/hurricane/html/functions_func_s.html index 28d8afab..cb13f99e 100644 --- a/hurricane/doc/hurricane/html/functions_func_s.html +++ b/hurricane/doc/hurricane/html/functions_func_s.html @@ -224,7 +224,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_func_t.html b/hurricane/doc/hurricane/html/functions_func_t.html index 105b5b2d..5e0f1637 100644 --- a/hurricane/doc/hurricane/html/functions_func_t.html +++ b/hurricane/doc/hurricane/html/functions_func_t.html @@ -84,7 +84,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_func_u.html b/hurricane/doc/hurricane/html/functions_func_u.html index 0e250145..bc130e78 100644 --- a/hurricane/doc/hurricane/html/functions_func_u.html +++ b/hurricane/doc/hurricane/html/functions_func_u.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_func_v.html b/hurricane/doc/hurricane/html/functions_func_v.html index 8bf12997..a00773ae 100644 --- a/hurricane/doc/hurricane/html/functions_func_v.html +++ b/hurricane/doc/hurricane/html/functions_func_v.html @@ -48,7 +48,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_func_w.html b/hurricane/doc/hurricane/html/functions_func_w.html index e35c5487..2192053d 100644 --- a/hurricane/doc/hurricane/html/functions_func_w.html +++ b/hurricane/doc/hurricane/html/functions_func_w.html @@ -51,7 +51,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_g.html b/hurricane/doc/hurricane/html/functions_g.html index 3b4e6228..e9e152f3 100644 --- a/hurricane/doc/hurricane/html/functions_g.html +++ b/hurricane/doc/hurricane/html/functions_g.html @@ -322,6 +322,9 @@ $(function() {
  • getLayers() : Hurricane::Technology
  • +
  • getLeafInstanceOccurrences() +: Hurricane::Cell +
  • getLeafPlugOccurrences() : Hurricane::HyperNet
  • @@ -419,6 +422,9 @@ $(function() {
  • getNextMasterHook() : Hurricane::Hook
  • +
  • getNonLeafInstanceOccurrences() +: Hurricane::Cell +
  • getNthMetal() : Hurricane::Technology
  • @@ -485,7 +491,7 @@ $(function() { , Hurricane::Net
  • getPoint() -: Hurricane::Transformation +: Hurricane::Transformation
  • getPosition() : Hurricane::Component @@ -711,7 +717,7 @@ $(function() { : Hurricane::Component , Hurricane::Net , Hurricane::RoutingPad -, Hurricane::Transformation +, Hurricane::Transformation
  • getYCenter() : Hurricane::Box @@ -740,7 +746,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_h.html b/hurricane/doc/hurricane/html/functions_h.html index 577e8475..b955b841 100644 --- a/hurricane/doc/hurricane/html/functions_h.html +++ b/hurricane/doc/hurricane/html/functions_h.html @@ -79,7 +79,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_i.html b/hurricane/doc/hurricane/html/functions_i.html index 3db960ce..8041c66e 100644 --- a/hurricane/doc/hurricane/html/functions_i.html +++ b/hurricane/doc/hurricane/html/functions_i.html @@ -181,7 +181,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_j.html b/hurricane/doc/hurricane/html/functions_j.html index bb3e23a3..f6c258c5 100644 --- a/hurricane/doc/hurricane/html/functions_j.html +++ b/hurricane/doc/hurricane/html/functions_j.html @@ -54,7 +54,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_k.html b/hurricane/doc/hurricane/html/functions_k.html index bba081b2..5397aba9 100644 --- a/hurricane/doc/hurricane/html/functions_k.html +++ b/hurricane/doc/hurricane/html/functions_k.html @@ -48,7 +48,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_l.html b/hurricane/doc/hurricane/html/functions_l.html index 1963d149..ecc5b9d8 100644 --- a/hurricane/doc/hurricane/html/functions_l.html +++ b/hurricane/doc/hurricane/html/functions_l.html @@ -60,7 +60,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_m.html b/hurricane/doc/hurricane/html/functions_m.html index e432c46e..672425e9 100644 --- a/hurricane/doc/hurricane/html/functions_m.html +++ b/hurricane/doc/hurricane/html/functions_m.html @@ -81,7 +81,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_n.html b/hurricane/doc/hurricane/html/functions_n.html index 64eefa99..ae2043b1 100644 --- a/hurricane/doc/hurricane/html/functions_n.html +++ b/hurricane/doc/hurricane/html/functions_n.html @@ -63,7 +63,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_o.html b/hurricane/doc/hurricane/html/functions_o.html index e63d6d1e..f4e06dc9 100644 --- a/hurricane/doc/hurricane/html/functions_o.html +++ b/hurricane/doc/hurricane/html/functions_o.html @@ -122,7 +122,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_p.html b/hurricane/doc/hurricane/html/functions_p.html index 0a3cf7ab..722f0bb7 100644 --- a/hurricane/doc/hurricane/html/functions_p.html +++ b/hurricane/doc/hurricane/html/functions_p.html @@ -97,7 +97,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_q.html b/hurricane/doc/hurricane/html/functions_q.html index 9cd3f414..4c3f58b3 100644 --- a/hurricane/doc/hurricane/html/functions_q.html +++ b/hurricane/doc/hurricane/html/functions_q.html @@ -54,7 +54,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_r.html b/hurricane/doc/hurricane/html/functions_r.html index f0b80106..c9e59b05 100644 --- a/hurricane/doc/hurricane/html/functions_r.html +++ b/hurricane/doc/hurricane/html/functions_r.html @@ -67,7 +67,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_s.html b/hurricane/doc/hurricane/html/functions_s.html index 68bb0cd2..37bda943 100644 --- a/hurricane/doc/hurricane/html/functions_s.html +++ b/hurricane/doc/hurricane/html/functions_s.html @@ -243,7 +243,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_t.html b/hurricane/doc/hurricane/html/functions_t.html index f5a3f6c1..27e3c6cf 100644 --- a/hurricane/doc/hurricane/html/functions_t.html +++ b/hurricane/doc/hurricane/html/functions_t.html @@ -90,7 +90,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_type.html b/hurricane/doc/hurricane/html/functions_type.html index a6e1c883..ecd0abc0 100644 --- a/hurricane/doc/hurricane/html/functions_type.html +++ b/hurricane/doc/hurricane/html/functions_type.html @@ -71,7 +71,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_u.html b/hurricane/doc/hurricane/html/functions_u.html index 3eb066fe..4958f43d 100644 --- a/hurricane/doc/hurricane/html/functions_u.html +++ b/hurricane/doc/hurricane/html/functions_u.html @@ -73,7 +73,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_v.html b/hurricane/doc/hurricane/html/functions_v.html index c0cb977d..77723d8e 100644 --- a/hurricane/doc/hurricane/html/functions_v.html +++ b/hurricane/doc/hurricane/html/functions_v.html @@ -48,7 +48,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/functions_w.html b/hurricane/doc/hurricane/html/functions_w.html index 80d33341..09c7cf5e 100644 --- a/hurricane/doc/hurricane/html/functions_w.html +++ b/hurricane/doc/hurricane/html/functions_w.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/graph_legend.html b/hurricane/doc/hurricane/html/graph_legend.html index 52cd60c5..28f2777b 100644 --- a/hurricane/doc/hurricane/html/graph_legend.html +++ b/hurricane/doc/hurricane/html/graph_legend.html @@ -74,7 +74,7 @@ A yellow dashed arrow denotes a relation between a template instance and the tem
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/group__DbUGroup.html b/hurricane/doc/hurricane/html/group__DbUGroup.html index c0f0d819..ab0f15eb 100644 --- a/hurricane/doc/hurricane/html/group__DbUGroup.html +++ b/hurricane/doc/hurricane/html/group__DbUGroup.html @@ -1293,7 +1293,7 @@ Translators
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/group__Generalities.html b/hurricane/doc/hurricane/html/group__Generalities.html index ca9ffc10..9c9da442 100644 --- a/hurricane/doc/hurricane/html/group__Generalities.html +++ b/hurricane/doc/hurricane/html/group__Generalities.html @@ -155,7 +155,7 @@ Remarks
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/group__JsonSupport.html b/hurricane/doc/hurricane/html/group__JsonSupport.html index 9bb45292..d12f22a8 100644 --- a/hurricane/doc/hurricane/html/group__JsonSupport.html +++ b/hurricane/doc/hurricane/html/group__JsonSupport.html @@ -117,7 +117,7 @@ JsonObject Life Cycle
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/group__grpSynthHierarchy.html b/hurricane/doc/hurricane/html/group__grpSynthHierarchy.html index cdc5dc64..f0fb839e 100644 --- a/hurricane/doc/hurricane/html/group__grpSynthHierarchy.html +++ b/hurricane/doc/hurricane/html/group__grpSynthHierarchy.html @@ -236,7 +236,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/hierarchy.html b/hurricane/doc/hurricane/html/hierarchy.html index af92d155..a23ec0d1 100644 --- a/hurricane/doc/hurricane/html/hierarchy.html +++ b/hurricane/doc/hurricane/html/hierarchy.html @@ -143,7 +143,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/hurricane.tag b/hurricane/doc/hurricane/html/hurricane.tag index 8b0a2171..35e71793 100644 --- a/hurricane/doc/hurricane/html/hurricane.tag +++ b/hurricane/doc/hurricane/html/hurricane.tag @@ -481,6 +481,20 @@ a7fb09c8e350923c47ce4c4407bdb00ce (const Box &area, unsigned searchDepth=std::numeric_limits< unsigned int >::max()) const + + Occurrences + getLeafInstanceOccurrences + classHurricane_1_1Cell.html + a7d5a16e085ef5375862560e3c3eb4ea8 + (const Instance *topInstance=NULL) const + + + Occurrences + getNonLeafInstanceOccurrences + classHurricane_1_1Cell.html + ac32e4f232a8fc030aa809fe6565d8d95 + (const Instance *topInstance=NULL) const + const Box & getAbutmentBox @@ -5191,8 +5205,8 @@ static RegularLayer * create classHurricane_1_1RegularLayer.html - a88c2d5516f42b033ae2fdc0797e3dae1 - (Technology *technology, const Name &name) + a6b40a35fec1c4fc168d608b8b96c8477 + (Technology *technology, const Name &name, BasicLayer *layer) diff --git a/hurricane/doc/hurricane/html/index.html b/hurricane/doc/hurricane/html/index.html index e7fd41c8..6da8099f 100644 --- a/hurricane/doc/hurricane/html/index.html +++ b/hurricane/doc/hurricane/html/index.html @@ -48,7 +48,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/modules.html b/hurricane/doc/hurricane/html/modules.html index 88454554..847c7e91 100644 --- a/hurricane/doc/hurricane/html/modules.html +++ b/hurricane/doc/hurricane/html/modules.html @@ -53,7 +53,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/namespaceHurricane.html b/hurricane/doc/hurricane/html/namespaceHurricane.html index a0a81753..6999bd7a 100644 --- a/hurricane/doc/hurricane/html/namespaceHurricane.html +++ b/hurricane/doc/hurricane/html/namespaceHurricane.html @@ -1378,7 +1378,7 @@ Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/namespacemembers.html b/hurricane/doc/hurricane/html/namespacemembers.html index 88356643..a51309b7 100644 --- a/hurricane/doc/hurricane/html/namespacemembers.html +++ b/hurricane/doc/hurricane/html/namespacemembers.html @@ -285,7 +285,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/namespacemembers_func.html b/hurricane/doc/hurricane/html/namespacemembers_func.html index a01649d4..fe238186 100644 --- a/hurricane/doc/hurricane/html/namespacemembers_func.html +++ b/hurricane/doc/hurricane/html/namespacemembers_func.html @@ -46,7 +46,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/namespacemembers_type.html b/hurricane/doc/hurricane/html/namespacemembers_type.html index 589b24db..3230d624 100644 --- a/hurricane/doc/hurricane/html/namespacemembers_type.html +++ b/hurricane/doc/hurricane/html/namespacemembers_type.html @@ -282,7 +282,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/html/namespaces.html b/hurricane/doc/hurricane/html/namespaces.html index b2c70380..3b2c86e1 100644 --- a/hurricane/doc/hurricane/html/namespaces.html +++ b/hurricane/doc/hurricane/html/namespaces.html @@ -50,7 +50,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/hurricane/latex/classHurricane_1_1Cell.tex b/hurricane/doc/hurricane/latex/classHurricane_1_1Cell.tex index 72241172..c30a5405 100644 --- a/hurricane/doc/hurricane/latex/classHurricane_1_1Cell.tex +++ b/hurricane/doc/hurricane/latex/classHurricane_1_1Cell.tex @@ -59,6 +59,10 @@ const \mbox{\hyperlink{classHurricane_1_1Name}{Name}} \& \mbox{\hyperlink{classH \item \mbox{\hyperlink{namespaceHurricane_a1912927c128eee859af62dbe4cbe0a6b}{Occurrences}} \mbox{\hyperlink{classHurricane_1_1Cell_a7fb09c8e350923c47ce4c4407bdb00ce}{get\+Occurrences\+Under}} (const \mbox{\hyperlink{classHurricane_1_1Box}{Box}} \&area, unsigned search\+Depth=std\+::numeric\+\_\+limits$<$ unsigned int $>$\+::max()) const \item +\mbox{\hyperlink{namespaceHurricane_a1912927c128eee859af62dbe4cbe0a6b}{Occurrences}} \mbox{\hyperlink{classHurricane_1_1Cell_a7d5a16e085ef5375862560e3c3eb4ea8}{get\+Leaf\+Instance\+Occurrences}} (const \mbox{\hyperlink{classHurricane_1_1Instance}{Instance}} $\ast$top\+Instance=N\+U\+LL) const +\item +\mbox{\hyperlink{namespaceHurricane_a1912927c128eee859af62dbe4cbe0a6b}{Occurrences}} \mbox{\hyperlink{classHurricane_1_1Cell_ac32e4f232a8fc030aa809fe6565d8d95}{get\+Non\+Leaf\+Instance\+Occurrences}} (const \mbox{\hyperlink{classHurricane_1_1Instance}{Instance}} $\ast$top\+Instance=N\+U\+LL) const +\item const \mbox{\hyperlink{classHurricane_1_1Box}{Box}} \& \mbox{\hyperlink{classHurricane_1_1Cell_a142360ca7b3c1c637894f5b9a2cac069}{get\+Abutment\+Box}} () const \item bool \mbox{\hyperlink{classHurricane_1_1Cell_a239354e1b4ad9b751abf5a064e43b0e6}{is\+Called\+By}} (\mbox{\hyperlink{classHurricane_1_1Cell}{Cell}} $\ast$cell) const @@ -256,7 +260,19 @@ level is crossed. The search ends when depth becomes null (the value {\ttfamily \begin{DoxyParagraph}{Caution\+: Only occurences corresponding to currently materialized} entities are taken into account in this \mbox{\hyperlink{classHurricane_1_1Collection}{Collection}}. \end{DoxyParagraph} -\mbox{\Hypertarget{classHurricane_1_1Cell_a142360ca7b3c1c637894f5b9a2cac069}\label{classHurricane_1_1Cell_a142360ca7b3c1c637894f5b9a2cac069}} +\mbox{\Hypertarget{classHurricane_1_1Cell_a7d5a16e085ef5375862560e3c3eb4ea8}\label{classHurricane_1_1Cell_a7d5a16e085ef5375862560e3c3eb4ea8}} +\index{Hurricane\+::\+Cell@{Hurricane\+::\+Cell}!get\+Leaf\+Instance\+Occurrences@{get\+Leaf\+Instance\+Occurrences}} +\index{get\+Leaf\+Instance\+Occurrences@{get\+Leaf\+Instance\+Occurrences}!Hurricane\+::\+Cell@{Hurricane\+::\+Cell}} +\subsubsection{\texorpdfstring{get\+Leaf\+Instance\+Occurrences()}{getLeafInstanceOccurrences()}} +{\footnotesize\ttfamily \mbox{\hyperlink{namespaceHurricane_a1912927c128eee859af62dbe4cbe0a6b}{Occurrences}} Hurricane\+::\+Cell\+::get\+Leaf\+Instance\+Occurrences (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classHurricane_1_1Instance}{Instance}} $\ast$}]{top\+Instance = {\ttfamily NULL} }\end{DoxyParamCaption}) const} + +Returns the trans-\/hierarchical \mbox{\hyperlink{classHurricane_1_1Collection}{Collection}} of all instance Occurrences that are leaf cells. With the {\ttfamily top\+Instance} argument we can restrict the collection to leafs of that instance (of the current \mbox{\hyperlink{classHurricane_1_1Cell}{Cell}}) only. \mbox{\Hypertarget{classHurricane_1_1Cell_ac32e4f232a8fc030aa809fe6565d8d95}\label{classHurricane_1_1Cell_ac32e4f232a8fc030aa809fe6565d8d95}} +\index{Hurricane\+::\+Cell@{Hurricane\+::\+Cell}!get\+Non\+Leaf\+Instance\+Occurrences@{get\+Non\+Leaf\+Instance\+Occurrences}} +\index{get\+Non\+Leaf\+Instance\+Occurrences@{get\+Non\+Leaf\+Instance\+Occurrences}!Hurricane\+::\+Cell@{Hurricane\+::\+Cell}} +\subsubsection{\texorpdfstring{get\+Non\+Leaf\+Instance\+Occurrences()}{getNonLeafInstanceOccurrences()}} +{\footnotesize\ttfamily \mbox{\hyperlink{namespaceHurricane_a1912927c128eee859af62dbe4cbe0a6b}{Occurrences}} Hurricane\+::\+Cell\+::get\+Non\+Leaf\+Instance\+Occurrences (\begin{DoxyParamCaption}\item[{const \mbox{\hyperlink{classHurricane_1_1Instance}{Instance}} $\ast$}]{top\+Instance = {\ttfamily NULL} }\end{DoxyParamCaption}) const} + +Returns the trans-\/hierarchical \mbox{\hyperlink{classHurricane_1_1Collection}{Collection}} of all instance Occurrences that are {\bfseries not} leaf cells. With the {\ttfamily top\+Instance} argument we can restrict the collection to non-\/leafs of that instance (of the current \mbox{\hyperlink{classHurricane_1_1Cell}{Cell}}) only. \mbox{\Hypertarget{classHurricane_1_1Cell_a142360ca7b3c1c637894f5b9a2cac069}\label{classHurricane_1_1Cell_a142360ca7b3c1c637894f5b9a2cac069}} \index{Hurricane\+::\+Cell@{Hurricane\+::\+Cell}!get\+Abutment\+Box@{get\+Abutment\+Box}} \index{get\+Abutment\+Box@{get\+Abutment\+Box}!Hurricane\+::\+Cell@{Hurricane\+::\+Cell}} \subsubsection{\texorpdfstring{get\+Abutment\+Box()}{getAbutmentBox()}} diff --git a/hurricane/doc/hurricane/latex/classHurricane_1_1RegularLayer.tex b/hurricane/doc/hurricane/latex/classHurricane_1_1RegularLayer.tex index 45a0a875..2ef09579 100644 --- a/hurricane/doc/hurricane/latex/classHurricane_1_1RegularLayer.tex +++ b/hurricane/doc/hurricane/latex/classHurricane_1_1RegularLayer.tex @@ -22,7 +22,7 @@ Inheritance diagram for Hurricane\+:\+:Regular\+Layer\+:\nopagebreak \subsection*{Static Public Member Functions} \begin{DoxyCompactItemize} \item -static \mbox{\hyperlink{classHurricane_1_1RegularLayer}{Regular\+Layer}} $\ast$ \mbox{\hyperlink{classHurricane_1_1RegularLayer_a88c2d5516f42b033ae2fdc0797e3dae1}{create}} (\mbox{\hyperlink{classHurricane_1_1Technology}{Technology}} $\ast$technology, const \mbox{\hyperlink{classHurricane_1_1Name}{Name}} \&name) +static \mbox{\hyperlink{classHurricane_1_1RegularLayer}{Regular\+Layer}} $\ast$ \mbox{\hyperlink{classHurricane_1_1RegularLayer_a6b40a35fec1c4fc168d608b8b96c8477}{create}} (\mbox{\hyperlink{classHurricane_1_1Technology}{Technology}} $\ast$technology, const \mbox{\hyperlink{classHurricane_1_1Name}{Name}} \&name, \mbox{\hyperlink{classHurricane_1_1BasicLayer}{Basic\+Layer}} $\ast$layer) \end{DoxyCompactItemize} \subsection*{Additional Inherited Members} @@ -42,11 +42,11 @@ For a more complete description of the Layers objects, please refer to \mbox{\hy It have one enclose, extention cap \& extension width. \subsection{Member Function Documentation} -\mbox{\Hypertarget{classHurricane_1_1RegularLayer_a88c2d5516f42b033ae2fdc0797e3dae1}\label{classHurricane_1_1RegularLayer_a88c2d5516f42b033ae2fdc0797e3dae1}} +\mbox{\Hypertarget{classHurricane_1_1RegularLayer_a6b40a35fec1c4fc168d608b8b96c8477}\label{classHurricane_1_1RegularLayer_a6b40a35fec1c4fc168d608b8b96c8477}} \index{Hurricane\+::\+Regular\+Layer@{Hurricane\+::\+Regular\+Layer}!create@{create}} \index{create@{create}!Hurricane\+::\+Regular\+Layer@{Hurricane\+::\+Regular\+Layer}} \subsubsection{\texorpdfstring{create()}{create()}} -{\footnotesize\ttfamily \mbox{\hyperlink{classHurricane_1_1RegularLayer}{Regular\+Layer}} $\ast$ Hurricane\+::\+Regular\+Layer\+::create (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classHurricane_1_1Technology}{Technology}} $\ast$}]{technology, }\item[{const \mbox{\hyperlink{classHurricane_1_1Name}{Name}} \&}]{name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} +{\footnotesize\ttfamily \mbox{\hyperlink{classHurricane_1_1RegularLayer}{Regular\+Layer}} $\ast$ Hurricane\+::\+Regular\+Layer\+::create (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{classHurricane_1_1Technology}{Technology}} $\ast$}]{technology, }\item[{const \mbox{\hyperlink{classHurricane_1_1Name}{Name}} \&}]{name, }\item[{\mbox{\hyperlink{classHurricane_1_1BasicLayer}{Basic\+Layer}} $\ast$}]{layer }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}} creates and returns a new regular layer named {\ttfamily $<$name$>$}. diff --git a/hurricane/doc/hurricane/latex/refman.tex b/hurricane/doc/hurricane/latex/refman.tex index 7eb04317..0d479534 100644 --- a/hurricane/doc/hurricane/latex/refman.tex +++ b/hurricane/doc/hurricane/latex/refman.tex @@ -34,7 +34,7 @@ \vspace*{1cm} {\large Generated by Doxygen 1.8.14}\\ \vspace*{0.5cm} - {\small Sun May 26 2019 17:26:51}\\ + {\small Mon Oct 28 2019 18:06:31}\\ \end{center} \end{titlepage} diff --git a/hurricane/doc/viewer/html/CellImage_8h_source.html b/hurricane/doc/viewer/html/CellImage_8h_source.html index 9330c6cb..c2db607d 100644 --- a/hurricane/doc/viewer/html/CellImage_8h_source.html +++ b/hurricane/doc/viewer/html/CellImage_8h_source.html @@ -54,7 +54,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/CellPrinter_8h_source.html b/hurricane/doc/viewer/html/CellPrinter_8h_source.html index 7669f4aa..6a5e7aed 100644 --- a/hurricane/doc/viewer/html/CellPrinter_8h_source.html +++ b/hurricane/doc/viewer/html/CellPrinter_8h_source.html @@ -54,7 +54,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/CellViewer_8h_source.html b/hurricane/doc/viewer/html/CellViewer_8h_source.html index ade78a64..7edcf809 100644 --- a/hurricane/doc/viewer/html/CellViewer_8h_source.html +++ b/hurricane/doc/viewer/html/CellViewer_8h_source.html @@ -71,7 +71,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/CellWidget_8h_source.html b/hurricane/doc/viewer/html/CellWidget_8h_source.html index 441c8a9d..69497dfa 100644 --- a/hurricane/doc/viewer/html/CellWidget_8h_source.html +++ b/hurricane/doc/viewer/html/CellWidget_8h_source.html @@ -86,7 +86,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/DisplayStyle_8h_source.html b/hurricane/doc/viewer/html/DisplayStyle_8h_source.html index 9a66655c..4e85f009 100644 --- a/hurricane/doc/viewer/html/DisplayStyle_8h_source.html +++ b/hurricane/doc/viewer/html/DisplayStyle_8h_source.html @@ -74,7 +74,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/Graphics_8h_source.html b/hurricane/doc/viewer/html/Graphics_8h_source.html index 11d17649..31edd154 100644 --- a/hurricane/doc/viewer/html/Graphics_8h_source.html +++ b/hurricane/doc/viewer/html/Graphics_8h_source.html @@ -78,7 +78,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/InspectorWidget_8h_source.html b/hurricane/doc/viewer/html/InspectorWidget_8h_source.html index 65661979..2f8b3a53 100644 --- a/hurricane/doc/viewer/html/InspectorWidget_8h_source.html +++ b/hurricane/doc/viewer/html/InspectorWidget_8h_source.html @@ -55,7 +55,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/annotated.html b/hurricane/doc/viewer/html/annotated.html index b9ac246d..774d5a5a 100644 --- a/hurricane/doc/viewer/html/annotated.html +++ b/hurricane/doc/viewer/html/annotated.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/classHurricane_1_1CellImage-members.html b/hurricane/doc/viewer/html/classHurricane_1_1CellImage-members.html index 794337f5..240956fb 100644 --- a/hurricane/doc/viewer/html/classHurricane_1_1CellImage-members.html +++ b/hurricane/doc/viewer/html/classHurricane_1_1CellImage-members.html @@ -59,7 +59,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/classHurricane_1_1CellImage.html b/hurricane/doc/viewer/html/classHurricane_1_1CellImage.html index 5477b56e..951967b1 100644 --- a/hurricane/doc/viewer/html/classHurricane_1_1CellImage.html +++ b/hurricane/doc/viewer/html/classHurricane_1_1CellImage.html @@ -261,7 +261,7 @@ ShowScale: display a false color scale at the bottom of the image. Useful if you
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/classHurricane_1_1CellPrinter-members.html b/hurricane/doc/viewer/html/classHurricane_1_1CellPrinter-members.html index 31a65e58..712609a2 100644 --- a/hurricane/doc/viewer/html/classHurricane_1_1CellPrinter-members.html +++ b/hurricane/doc/viewer/html/classHurricane_1_1CellPrinter-members.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/classHurricane_1_1CellPrinter.html b/hurricane/doc/viewer/html/classHurricane_1_1CellPrinter.html index 9ab57538..29fad74b 100644 --- a/hurricane/doc/viewer/html/classHurricane_1_1CellPrinter.html +++ b/hurricane/doc/viewer/html/classHurricane_1_1CellPrinter.html @@ -239,7 +239,7 @@ Implementation details
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/classHurricane_1_1CellViewer-members.html b/hurricane/doc/viewer/html/classHurricane_1_1CellViewer-members.html index 5c1275f5..00537fe5 100644 --- a/hurricane/doc/viewer/html/classHurricane_1_1CellViewer-members.html +++ b/hurricane/doc/viewer/html/classHurricane_1_1CellViewer-members.html @@ -69,7 +69,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/classHurricane_1_1CellViewer.html b/hurricane/doc/viewer/html/classHurricane_1_1CellViewer.html index a671404c..691c95f7 100644 --- a/hurricane/doc/viewer/html/classHurricane_1_1CellViewer.html +++ b/hurricane/doc/viewer/html/classHurricane_1_1CellViewer.html @@ -511,7 +511,7 @@ Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/classHurricane_1_1CellWidget-members.html b/hurricane/doc/viewer/html/classHurricane_1_1CellWidget-members.html index f7e27ce1..a27306b3 100644 --- a/hurricane/doc/viewer/html/classHurricane_1_1CellWidget-members.html +++ b/hurricane/doc/viewer/html/classHurricane_1_1CellWidget-members.html @@ -55,7 +55,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/classHurricane_1_1CellWidget.html b/hurricane/doc/viewer/html/classHurricane_1_1CellWidget.html index 8130934f..5dc17cd8 100644 --- a/hurricane/doc/viewer/html/classHurricane_1_1CellWidget.html +++ b/hurricane/doc/viewer/html/classHurricane_1_1CellWidget.html @@ -97,7 +97,7 @@ Public Types
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/classHurricane_1_1DisplayStyle-members.html b/hurricane/doc/viewer/html/classHurricane_1_1DisplayStyle-members.html index 6d45a984..47f5c747 100644 --- a/hurricane/doc/viewer/html/classHurricane_1_1DisplayStyle-members.html +++ b/hurricane/doc/viewer/html/classHurricane_1_1DisplayStyle-members.html @@ -71,7 +71,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/classHurricane_1_1DisplayStyle.html b/hurricane/doc/viewer/html/classHurricane_1_1DisplayStyle.html index 3e17b1c5..76ec16e6 100644 --- a/hurricane/doc/viewer/html/classHurricane_1_1DisplayStyle.html +++ b/hurricane/doc/viewer/html/classHurricane_1_1DisplayStyle.html @@ -620,7 +620,7 @@ Static Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/classHurricane_1_1Graphics-members.html b/hurricane/doc/viewer/html/classHurricane_1_1Graphics-members.html index d810504b..b0760df9 100644 --- a/hurricane/doc/viewer/html/classHurricane_1_1Graphics-members.html +++ b/hurricane/doc/viewer/html/classHurricane_1_1Graphics-members.html @@ -71,7 +71,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/classHurricane_1_1Graphics.html b/hurricane/doc/viewer/html/classHurricane_1_1Graphics.html index 3bb8ed22..305e5035 100644 --- a/hurricane/doc/viewer/html/classHurricane_1_1Graphics.html +++ b/hurricane/doc/viewer/html/classHurricane_1_1Graphics.html @@ -673,7 +673,7 @@ Static Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/classHurricane_1_1InspectorWidget-members.html b/hurricane/doc/viewer/html/classHurricane_1_1InspectorWidget-members.html index 9d2da6d6..c3e77a41 100644 --- a/hurricane/doc/viewer/html/classHurricane_1_1InspectorWidget-members.html +++ b/hurricane/doc/viewer/html/classHurricane_1_1InspectorWidget-members.html @@ -55,7 +55,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/classHurricane_1_1InspectorWidget.html b/hurricane/doc/viewer/html/classHurricane_1_1InspectorWidget.html index 6e889c08..7377af85 100644 --- a/hurricane/doc/viewer/html/classHurricane_1_1InspectorWidget.html +++ b/hurricane/doc/viewer/html/classHurricane_1_1InspectorWidget.html @@ -140,7 +140,7 @@ Inspector Memory Management
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/classes.html b/hurricane/doc/viewer/html/classes.html index b3e3c636..678dc1ed 100644 --- a/hurricane/doc/viewer/html/classes.html +++ b/hurricane/doc/viewer/html/classes.html @@ -63,7 +63,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/dir_0afc25342c548a63e1813d8fbde8101d.html b/hurricane/doc/viewer/html/dir_0afc25342c548a63e1813d8fbde8101d.html index a394f32a..6cb10eb2 100644 --- a/hurricane/doc/viewer/html/dir_0afc25342c548a63e1813d8fbde8101d.html +++ b/hurricane/doc/viewer/html/dir_0afc25342c548a63e1813d8fbde8101d.html @@ -49,7 +49,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/dir_22af1943967c75aa4d199e6ffd8de9d2.html b/hurricane/doc/viewer/html/dir_22af1943967c75aa4d199e6ffd8de9d2.html index 4c2533c9..624b73a5 100644 --- a/hurricane/doc/viewer/html/dir_22af1943967c75aa4d199e6ffd8de9d2.html +++ b/hurricane/doc/viewer/html/dir_22af1943967c75aa4d199e6ffd8de9d2.html @@ -49,7 +49,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/dir_53ec41d7bc61ef1f85d867f95df84d28.html b/hurricane/doc/viewer/html/dir_53ec41d7bc61ef1f85d867f95df84d28.html index 746cfd57..1d568460 100644 --- a/hurricane/doc/viewer/html/dir_53ec41d7bc61ef1f85d867f95df84d28.html +++ b/hurricane/doc/viewer/html/dir_53ec41d7bc61ef1f85d867f95df84d28.html @@ -53,7 +53,7 @@ Directories
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/hurricane/doc/viewer/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html index cf3b70a0..cc5f54f1 100644 --- a/hurricane/doc/viewer/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html +++ b/hurricane/doc/viewer/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -49,7 +49,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/files.html b/hurricane/doc/viewer/html/files.html index 1f03c52a..093f3343 100644 --- a/hurricane/doc/viewer/html/files.html +++ b/hurricane/doc/viewer/html/files.html @@ -56,7 +56,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/functions.html b/hurricane/doc/viewer/html/functions.html index 276daf53..6fcc3e2a 100644 --- a/hurricane/doc/viewer/html/functions.html +++ b/hurricane/doc/viewer/html/functions.html @@ -286,7 +286,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/functions_enum.html b/hurricane/doc/viewer/html/functions_enum.html index c59f4137..9418e341 100644 --- a/hurricane/doc/viewer/html/functions_enum.html +++ b/hurricane/doc/viewer/html/functions_enum.html @@ -49,7 +49,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/functions_eval.html b/hurricane/doc/viewer/html/functions_eval.html index b386c0e9..fcb05c14 100644 --- a/hurricane/doc/viewer/html/functions_eval.html +++ b/hurricane/doc/viewer/html/functions_eval.html @@ -52,7 +52,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/functions_func.html b/hurricane/doc/viewer/html/functions_func.html index 29201c13..6823ed65 100644 --- a/hurricane/doc/viewer/html/functions_func.html +++ b/hurricane/doc/viewer/html/functions_func.html @@ -271,7 +271,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/graph_legend.html b/hurricane/doc/viewer/html/graph_legend.html index 783bd1d8..492db09a 100644 --- a/hurricane/doc/viewer/html/graph_legend.html +++ b/hurricane/doc/viewer/html/graph_legend.html @@ -74,7 +74,7 @@ A yellow dashed arrow denotes a relation between a template instance and the tem
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/group__graphicsGroup.html b/hurricane/doc/viewer/html/group__graphicsGroup.html index 7193417d..138dc5a2 100644 --- a/hurricane/doc/viewer/html/group__graphicsGroup.html +++ b/hurricane/doc/viewer/html/group__graphicsGroup.html @@ -96,7 +96,7 @@ General Structure of the Graphics Object
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/index.html b/hurricane/doc/viewer/html/index.html index c97a7a40..ad36084f 100644 --- a/hurricane/doc/viewer/html/index.html +++ b/hurricane/doc/viewer/html/index.html @@ -45,7 +45,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/html/modules.html b/hurricane/doc/viewer/html/modules.html index 95c8f420..fd968de3 100644 --- a/hurricane/doc/viewer/html/modules.html +++ b/hurricane/doc/viewer/html/modules.html @@ -54,7 +54,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/hurricane/doc/viewer/latex/refman.tex b/hurricane/doc/viewer/latex/refman.tex index 29009864..6aecf648 100644 --- a/hurricane/doc/viewer/latex/refman.tex +++ b/hurricane/doc/viewer/latex/refman.tex @@ -34,7 +34,7 @@ \vspace*{1cm} {\large Generated by Doxygen 1.8.14}\\ \vspace*{0.5cm} - {\small Sun May 26 2019 17:26:52}\\ + {\small Mon Oct 28 2019 18:06:31}\\ \end{center} \end{titlepage} diff --git a/hurricane/src/analog/CMakeLists.txt b/hurricane/src/analog/CMakeLists.txt index 301717b6..e7f40213 100644 --- a/hurricane/src/analog/CMakeLists.txt +++ b/hurricane/src/analog/CMakeLists.txt @@ -31,12 +31,13 @@ LevelShifter.cpp MetaCapacitor.cpp MetaTransistor.cpp - MIMCapacitor.cpp + MultiCapacitor.cpp SimpleCurrentMirror.cpp Transistor.cpp TransistorFamily.cpp TransistorFamilyNames.cpp TransistorPair.cpp + MultiCapacitor.cpp ) set( pyCpps PyAnalog.cpp PyCapacitorFamily.cpp @@ -53,7 +54,7 @@ PyLayoutGenerator.cpp PyLevelShifter.cpp PyMCheckBoxParameter.cpp - PyMIMCapacitor.cpp + PyMultiCapacitor.cpp PyParameter.cpp PySimpleCurrentMirror.cpp PySpinBoxParameter.cpp @@ -61,6 +62,9 @@ PyTransistor.cpp PyTransistorFamily.cpp PyTransistorPair.cpp + PyMatrixParameter.cpp + PyCapacitiesParameter.cpp + PyMultiCapacitor.cpp ) set( includes hurricane/analog/AnalogCellExtension.h hurricane/analog/BJTFamily.h @@ -84,7 +88,7 @@ hurricane/analog/MCheckBoxParameter.h hurricane/analog/MetaCapacitor.h hurricane/analog/MetaTransistor.h - hurricane/analog/MIMCapacitor.h + hurricane/analog/MultiCapacitor.h hurricane/analog/Parameter.h hurricane/analog/SimpleCurrentMirror.h hurricane/analog/SpinBoxParameter.h @@ -93,6 +97,10 @@ hurricane/analog/TransistorFamilyNames.h hurricane/analog/Transistor.h hurricane/analog/TransistorPair.h + hurricane/analog/MatrixParameter.h + hurricane/analog/CapacitiesParameter.h + hurricane/analog/MultiCapacitor.h + hurricane/analog/Matrix.h ) set( pyIncludes hurricane/analog/PyCapacitorFamily.h hurricane/analog/PyCapacitorParameter.h @@ -108,7 +116,7 @@ hurricane/analog/PyLayoutGenerator.h hurricane/analog/PyLevelShifter.h hurricane/analog/PyMCheckBoxParameter.h - hurricane/analog/PyMIMCapacitor.h + hurricane/analog/PyMultiCapacitor.h hurricane/analog/PyParameter.h hurricane/analog/PySimpleCurrentMirror.h hurricane/analog/PySpinBoxParameter.h @@ -116,6 +124,8 @@ hurricane/analog/PyTransistorFamily.h hurricane/analog/PyTransistor.h hurricane/analog/PyTransistorPair.h + hurricane/analog/PyMatrixParameter.h + hurricane/analog/PyCapacitiesParameter.h ) set( depLibs viewer diff --git a/hurricane/src/analog/MIMCapacitor.cpp b/hurricane/src/analog/MultiCapacitor.cpp similarity index 68% rename from hurricane/src/analog/MIMCapacitor.cpp rename to hurricane/src/analog/MultiCapacitor.cpp index d39b5913..24ddc6b1 100644 --- a/hurricane/src/analog/MIMCapacitor.cpp +++ b/hurricane/src/analog/MultiCapacitor.cpp @@ -10,37 +10,45 @@ // | Authors : Damien Dupuis | // | E-mail : Jean-Paul.Chaput@lip6.fr | // | =============================================================== | -// | C++ Module : "./MIMCapacitor.cpp" | +// | C++ Module : "./MultiCapacitor.cpp" | // +-----------------------------------------------------------------+ #include "hurricane/UpdateSession.h" #include "hurricane/analog/MetaCapacitor.h" -#include "hurricane/analog/MIMCapacitor.h" +#include "hurricane/analog/MultiCapacitor.h" namespace Analog { using namespace Hurricane; - const Name MIMCapacitor::_capacitorName ("MIMCapacitor"); + const Name MultiCapacitor::_capacitorName ("MultiCapacitor"); - MIMCapacitor::MIMCapacitor ( Library* library, const Name& name, const CapacitorFamily::Type& type ) + MultiCapacitor::MultiCapacitor ( Library* library + , const Name& name + , const CapacitorFamily::Type& type + , size_t count ) : Super(library, name, type) , _metaCapacitor(NULL) + , _matrix (NULL) + , _count (count) , _cDraw (0.0) , _cBorder (0.0) , _cParasite (0.0) - , _c (NULL) + , _capacities (NULL) { } - MIMCapacitor* MIMCapacitor::create ( Library* library, const Name& name, const CapacitorFamily::Type& type ) + MultiCapacitor* MultiCapacitor::create ( Library* library + , const Name& name + , const CapacitorFamily::Type& type + , size_t count ) { preCreate( _capacitorName ); UpdateSession::open(); - MIMCapacitor* cp = new MIMCapacitor( library, name, type ); + MultiCapacitor* cp = new MultiCapacitor( library, name, type, count ); cp->_postCreate( _capacitorName ); cp->createConnections(); cp->setTerminal( true ); @@ -49,9 +57,9 @@ namespace Analog { } - void MIMCapacitor::_postCreate ( const Name& deviceName ) + void MultiCapacitor::_postCreate ( const Name& deviceName ) { - Super::_postCreate(deviceName); + Super::_postCreate( deviceName ); // get minimum and maximum value from technology //AnalogEnv* aenv = AnalogEnv::get(); @@ -63,11 +71,11 @@ namespace Analog { // For now define arbitrary values: //DbU::Unit capacitorMinC = DbU::physicalToDbu(0.25, DbU::Micro); //DbU::Unit capacitorMaxC = DbU::physicalToDbu(25 , DbU::Micro); - _c = addCapacitorParameter( "C", 0.0 ); + //_c = addCapacitorParameter( "C", 0.0 ); } - void MIMCapacitor::createConnections () + void MultiCapacitor::createConnections () { Net* p1 = Net::create( this, Name("P1") ); p1->setExternal( true ); @@ -86,7 +94,7 @@ namespace Analog { } - Name MIMCapacitor::getDeviceName () const + Name MultiCapacitor::getDeviceName () const { return _capacitorName; } diff --git a/hurricane/src/analog/PyAnalog.cpp b/hurricane/src/analog/PyAnalog.cpp index 4f70c366..07c11c9d 100644 --- a/hurricane/src/analog/PyAnalog.cpp +++ b/hurricane/src/analog/PyAnalog.cpp @@ -29,7 +29,7 @@ #include "hurricane/analog/PyCascode.h" #include "hurricane/analog/PyCapacitorFamily.h" -#include "hurricane/analog/PyMIMCapacitor.h" +#include "hurricane/analog/PyMultiCapacitor.h" #include "hurricane/analog/PyParameter.h" #include "hurricane/analog/PyCapacitorParameter.h" @@ -79,7 +79,7 @@ extern "C" { PyLevelShifter_LinkPyType(); PySimpleCurrentMirror_LinkPyType(); PyCascode_LinkPyType(); - PyMIMCapacitor_LinkPyType(); + //PyMultiCapacitor_LinkPyType(); PyParameter_LinkPyType(); PyCapacitorParameter_LinkPyType(); @@ -108,7 +108,7 @@ extern "C" { PYTYPE_READY_SUB( Cascode , TransistorPair ) PYTYPE_READY_SUB( CapacitorFamily , Device ) - PYTYPE_READY_SUB( MIMCapacitor , CapacitorFamily ) + //PYTYPE_READY_SUB( MutliCapacitor , CapacitorFamily ) PYTYPE_READY_SUB( CapacitorParameter , Parameter ) PYTYPE_READY_SUB( ChoiceParameter , Parameter ) @@ -132,7 +132,7 @@ extern "C" { __cs.addType( "cascode" , &PyTypeCascode , "" , false, "transpair" ); __cs.addType( "cfamily" , &PyTypeCapacitorFamily , "" , false, "device" ); - __cs.addType( "mimcapa" , &PyTypeMIMCapacitor , "" , false, "cfamily" ); + //__cs.addType( "mulcapa" , &PyTypeMultiCapacitor , "" , false, "cfamily" ); __cs.addType( "parameter", &PyTypeParameter , "" , false ); __cs.addType( "capapar" , &PyTypeCapacitorParameter , "" , false, "parameter" ); @@ -178,8 +178,8 @@ extern "C" { Py_INCREF( &PyTypeCapacitorFamily ); PyModule_AddObject( module, "CapacitorFamily" , (PyObject*)&PyTypeCapacitorFamily ); - Py_INCREF( &PyTypeMIMCapacitor ); - PyModule_AddObject( module, "MIMCapacitor" , (PyObject*)&PyTypeMIMCapacitor ); + //Py_INCREF( &PyTypeMutliCapacitor ); + //PyModule_AddObject( module, "MultiCapacitor" , (PyObject*)&PyTypeMultiCapacitor ); Py_INCREF( &PyTypeParameter ); PyModule_AddObject( module, "Parameter" , (PyObject*)&PyTypeParameter ); diff --git a/hurricane/src/analog/PyCapacitiesParameter.cpp b/hurricane/src/analog/PyCapacitiesParameter.cpp new file mode 100644 index 00000000..f8382582 --- /dev/null +++ b/hurricane/src/analog/PyCapacitiesParameter.cpp @@ -0,0 +1,123 @@ +// -*- C++ -*- +// +// This file is part of the Coriolis Software. +// Copyright (c) UPMC 2019-2019, All Rights Reserved +// +// +-----------------------------------------------------------------+ +// | C O R I O L I S | +// | H u r r i c a n e A n a l o g | +// | | +// | Author : Jean-Paul Chaput | +// | E-mail : Jean-Paul.Chaput@lip6.fr | +// | =============================================================== | +// | C++ Module : "./PyCapacitiesParameter.cpp" | +// +-----------------------------------------------------------------+ + + +#include "hurricane/analog/PyCapacitiesParameter.h" + + +namespace Isobar { + +using namespace Hurricane; +using namespace Analog; + +extern "C" { + + +#undef ACCESS_OBJECT +#undef ACCESS_CLASS +#define ACCESS_OBJECT _baseObject._object +#define ACCESS_CLASS(_pyObject) &(_pyObject->_baseObject) +#define METHOD_HEAD(function) GENERIC_METHOD_HEAD(CapacitiesParameter,capacitiesParameter,function) + +#if defined(__PYTHON_MODULE__) + +// +=================================================================+ +// | "PyCapacitiesParameter" Python Module Code Part | +// +=================================================================+ + + + DirectGetUIntAttribute(PyCapacitiesParameter_getCount, getCount, PyCapacitiesParameter, CapacitiesParameter) + + + static PyObject* PyCapacitiesParameter_getValue ( PyCapacitiesParameter *self, PyObject* args ) + { + cdebug_log(20,0) << "PyCapacitiesParameter.getValue()" << endl; + + double value = 0.0; + + HTRY + METHOD_HEAD ( "CapacitiesParameter.getValue()" ) + unsigned int index = 0; + if (PyArg_ParseTuple(args,"I:CapacitiesParameter.getValue",&index)) { + value = capacitiesParameter->getValue( (size_t)index ); + } else { + PyErr_SetString( ConstructorError, "CapacitiesParameter.getValue(): Invalid number/bad type of parameters." ); + return NULL; + } + HCATCH + + return Py_BuildValue("d",value); + } + + + static PyObject* PyCapacitiesParameter_setValue ( PyCapacitiesParameter *self, PyObject* args ) + { + cdebug_log(20,0) << "PyCapacitiesParameter.setValue()" << endl; + + HTRY + METHOD_HEAD ( "CapacitiesParameter.setValue()" ) + unsigned int count = 0; + double value = 0.0; + if (PyArg_ParseTuple(args,"Id:CapacitiesParameter.setValue",&count,&value)) { + capacitiesParameter->setValue( (size_t)count, value ); + } else { + PyErr_SetString( ConstructorError, "CapacitiesParameter.setValue(): Invalid number/bad type of parameters." ); + return NULL; + } + HCATCH + + Py_RETURN_NONE; + } + + + // --------------------------------------------------------------- + // PyCapacitiesParameter Attribute Method table. + + PyMethodDef PyCapacitiesParameter_Methods[] = + { { "getCount" , (PyCFunction)PyCapacitiesParameter_getCount , METH_NOARGS + , "Self explanatory." } + , { "getValue" , (PyCFunction)PyCapacitiesParameter_getValue , METH_VARARGS + , "Self explanatory." } + , { "setValue" , (PyCFunction)PyCapacitiesParameter_setValue , METH_VARARGS + , "Self explanatory." } + , { NULL, NULL, 0, NULL } /* sentinel */ + }; + + + // +-------------------------------------------------------------+ + // | "PyCapacitiesParameter" Object Methods | + // +-------------------------------------------------------------+ + + + PythonOnlyDeleteMethod(CapacitiesParameter) + PyTypeObjectLinkPyType(CapacitiesParameter) + + +#else // End of Python Module Code Part. + +// +=================================================================+ +// | "PyCapacitiesParameter" Shared Library Code Part | +// +=================================================================+ + + + LinkCreateMethod(CapacitiesParameter) + PyTypeInheritedObjectDefinitions(CapacitiesParameter, Parameter) + + +#endif // End of Shared Library Code Part. + +} // extern "C". + +} // Isobar namespace. diff --git a/hurricane/src/analog/PyCapacitorFamily.cpp b/hurricane/src/analog/PyCapacitorFamily.cpp index cb7956f5..5853ef2a 100644 --- a/hurricane/src/analog/PyCapacitorFamily.cpp +++ b/hurricane/src/analog/PyCapacitorFamily.cpp @@ -54,7 +54,7 @@ extern "C" { DirectGetBoolAttribute (PyCapacitorFamily_isPIP ,isPIP ,PyCapacitorFamily,CapacitorFamily) DirectGetBoolAttribute (PyCapacitorFamily_isMIM ,isMIM ,PyCapacitorFamily,CapacitorFamily) DirectGetBoolAttribute (PyCapacitorFamily_isMOM ,isMOM ,PyCapacitorFamily,CapacitorFamily) - DirectGetIntAttribute (PyCapacitorFamily_getRow,getRow,PyCapacitorFamily,CapacitorFamily) +//DirectGetIntAttribute (PyCapacitorFamily_getRow,getRow,PyCapacitorFamily,CapacitorFamily) DirectGetDoubleAttribute(PyCapacitorFamily_getCE ,getCE ,PyCapacitorFamily,CapacitorFamily) DirectSetDoubleAttribute(PyCapacitorFamily_setCE ,setCE ,PyCapacitorFamily,CapacitorFamily) diff --git a/hurricane/src/analog/PyMIMCapacitor.cpp b/hurricane/src/analog/PyMIMCapacitor.cpp deleted file mode 100644 index ceb97ac7..00000000 --- a/hurricane/src/analog/PyMIMCapacitor.cpp +++ /dev/null @@ -1,139 +0,0 @@ -// -*- C++ -*- -// -// This file is part of the Coriolis Software. -// Copyright (c) UPMC 2016-2018, All Rights Reserved -// -// +-----------------------------------------------------------------+ -// | C O R I O L I S | -// | H u r r i c a n e A n a l o g | -// | | -// | Author : Jean-Paul Chaput | -// | E-mail : Jean-Paul.Chaput@lip6.fr | -// | =============================================================== | -// | C++ Module : "./PyMIMCapacitor.cpp" | -// +-----------------------------------------------------------------+ - - -#include "hurricane/isobar/PyLibrary.h" -#include "hurricane/analog/PyMIMCapacitor.h" - - -namespace Isobar { - -using namespace Hurricane; -using namespace Analog; - -extern "C" { - - -#undef ACCESS_OBJECT -#undef ACCESS_CLASS -#define ACCESS_OBJECT _baseObject._baseObject._baseObject._baseObject._object -#define ACCESS_CLASS(_pyObject) &(_pyObject->_baseObject._baseObject._baseObject._baseObject) -#define METHOD_HEAD(function) GENERIC_METHOD_HEAD(MIMCapacitor,transistor,function) - -#if defined(__PYTHON_MODULE__) - -// +=================================================================+ -// | "PyMIMCapacitor" Python Module Code Part | -// +=================================================================+ - - - static PyObject* PyMIMCapacitor_create ( PyObject*, PyObject* args ) - { - cdebug.log(49) << "PyMIMCapacitor_create()" << endl; - - MIMCapacitor* transistor = NULL; - - HTRY - PyObject* pyLibrary = NULL; - char* name = NULL; - long pyType = 0; - - if (PyArg_ParseTuple( args - , "Osl:MIMCapacitor.create" - , &pyLibrary - , &name - , &pyType - )) { - if (not IsPyLibrary(pyLibrary)) { - PyErr_SetString ( ConstructorError, "MIMCapacitor.create(): First argument is not of type Library." ); - return NULL; - } - switch ( pyType ) { - case CapacitorFamily::PIP: - case CapacitorFamily::MIM: - case CapacitorFamily::MOM: break; - default: - PyErr_SetString ( ConstructorError, "MIMCapacitor.create(): Type argument is neither PIP, MIM nor MOM." ); - return NULL; - } - - transistor = MIMCapacitor::create( PYLIBRARY_O(pyLibrary) - , Name(name) - , (MIMCapacitor::Type)pyType - ); - } else { - PyErr_SetString ( ConstructorError, "Bad parameters given to MIMCapacitor.create()." ); - return NULL; - } - HCATCH - - return PyMIMCapacitor_Link(transistor); - } - - - DirectGetDoubleAttribute(PyCapacitorFamily_getC ,getC ,PyMIMCapacitor,MIMCapacitor) - DirectGetDoubleAttribute(PyCapacitorFamily_getCDraw ,getCDraw ,PyMIMCapacitor,MIMCapacitor) - DirectGetDoubleAttribute(PyCapacitorFamily_getCBorder ,getCBorder ,PyMIMCapacitor,MIMCapacitor) - DirectGetDoubleAttribute(PyCapacitorFamily_getCParasite,getCParasite,PyMIMCapacitor,MIMCapacitor) - - // Standart Destroy (Attribute). - DBoDestroyAttribute(PyMIMCapacitor_destroy, PyMIMCapacitor) - - - // --------------------------------------------------------------- - // PyMIMCapacitor Attribute Method table. - - PyMethodDef PyMIMCapacitor_Methods[] = - { { "create" , (PyCFunction)PyMIMCapacitor_create , METH_VARARGS|METH_STATIC - , "Create an anlogic device made of one transistor." } - , { "getC" , (PyCFunction)PyCapacitorFamily_getC , METH_NOARGS - , "Capacitor value C (requested)." } - , { "getCDraw" , (PyCFunction)PyCapacitorFamily_getCDraw , METH_NOARGS - , "Capacitor value C (requested)." } - , { "getCBorder" , (PyCFunction)PyCapacitorFamily_getCBorder , METH_NOARGS - , "Capacitor value C (requested)." } - , { "getCParasite" , (PyCFunction)PyCapacitorFamily_getCParasite, METH_NOARGS - , "Capacitor value C (requested)." } - , { "destroy" , (PyCFunction)PyMIMCapacitor_destroy , METH_NOARGS - , "Destroys associated hurricane object, the python object remains." } - , { NULL, NULL, 0, NULL } /* sentinel */ - }; - - - // +-------------------------------------------------------------+ - // | "PyMIMCapacitor" Object Methods | - // +-------------------------------------------------------------+ - - - DBoDeleteMethod(MIMCapacitor) - PyTypeObjectLinkPyType(MIMCapacitor) - - -#else // End of Python Module Code Part. - -// +=================================================================+ -// | "PyMIMCapacitor" Shared Library Code Part | -// +=================================================================+ - - - DBoLinkCreateMethod(MIMCapacitor) - PyTypeInheritedObjectDefinitions(MIMCapacitor, CapacitorFamily) - - -#endif // End of Shared Library Code Part. - -} // extern "C". - -} // Isobar namespace. diff --git a/hurricane/src/analog/PyMatrixParameter.cpp b/hurricane/src/analog/PyMatrixParameter.cpp new file mode 100644 index 00000000..66c68dd0 --- /dev/null +++ b/hurricane/src/analog/PyMatrixParameter.cpp @@ -0,0 +1,128 @@ +// -*- C++ -*- +// +// This file is part of the Coriolis Software. +// Copyright (c) UPMC 2019-2019, All Rights Reserved +// +// +-----------------------------------------------------------------+ +// | C O R I O L I S | +// | H u r r i c a n e A n a l o g | +// | | +// | Author : Jean-Paul Chaput | +// | E-mail : Jean-Paul.Chaput@lip6.fr | +// | =============================================================== | +// | C++ Module : "./PyMatrixParameter.cpp" | +// +-----------------------------------------------------------------+ + + +#include "hurricane/analog/PyMatrixParameter.h" + + +namespace Isobar { + +using namespace Hurricane; +using namespace Analog; + +extern "C" { + + +#undef ACCESS_OBJECT +#undef ACCESS_CLASS +#define ACCESS_OBJECT _baseObject._object +#define ACCESS_CLASS(_pyObject) &(_pyObject->_baseObject) +#define METHOD_HEAD(function) GENERIC_METHOD_HEAD(MatrixParameter,matrixParameter,function) + +#if defined(__PYTHON_MODULE__) + +// +=================================================================+ +// | "PyMatrixParameter" Python Module Code Part | +// +=================================================================+ + + + DirectGetUIntAttribute(PyMatrixParameter_getRows , getRows , PyMatrixParameter, MatrixParameter) + DirectGetUIntAttribute(PyMatrixParameter_getColumns, getColumns, PyMatrixParameter, MatrixParameter) + + + static PyObject* PyMatrixParameter_getValue ( PyMatrixParameter *self, PyObject* args ) + { + cdebug_log(20,0) << "PyMatrixParameter.getValue()" << endl; + + size_t value = 0; + + HTRY + METHOD_HEAD ( "MatrixParameter.getValue()" ) + unsigned int row = 0; + unsigned int column = 0; + if (PyArg_ParseTuple(args,"II:MatrixParameter.getValue",&row,&column)) { + value = matrixParameter->getValue( (size_t)row, (size_t)column ); + } else { + PyErr_SetString( ConstructorError, "MatrixParameter.getValue(): Invalid number/bad type of parameters." ); + return NULL; + } + HCATCH + + return Py_BuildValue("I",(unsigned int)value); + } + + + static PyObject* PyMatrixParameter_setValue ( PyMatrixParameter *self, PyObject* args ) + { + cdebug_log(20,0) << "PyMatrixParameter.setValue()" << endl; + + HTRY + METHOD_HEAD ( "MatrixParameter.setValue()" ) + unsigned int row = 0; + unsigned int column = 0; + unsigned int value = 0; + if (PyArg_ParseTuple(args,"III:MatrixParameter.setValue",&row,&column,&value)) { + matrixParameter->setValue( (size_t)row, (size_t)column, (size_t)value ); + } else { + PyErr_SetString( ConstructorError, "MatrixParameter.setValue(): Invalid number/bad type of parameters." ); + return NULL; + } + HCATCH + + Py_RETURN_NONE; + } + + + // --------------------------------------------------------------- + // PyMatrixParameter Attribute Method table. + + PyMethodDef PyMatrixParameter_Methods[] = + { { "getRows" , (PyCFunction)PyMatrixParameter_getRows , METH_NOARGS + , "Self explanatory." } + , { "getColumns" , (PyCFunction)PyMatrixParameter_getColumns, METH_NOARGS + , "Self explanatory." } + , { "getValue" , (PyCFunction)PyMatrixParameter_getValue , METH_VARARGS + , "Self explanatory." } + , { "setValue" , (PyCFunction)PyMatrixParameter_setValue , METH_VARARGS + , "Self explanatory." } + , { NULL, NULL, 0, NULL } /* sentinel */ + }; + + + // +-------------------------------------------------------------+ + // | "PyMatrixParameter" Object Methods | + // +-------------------------------------------------------------+ + + + PythonOnlyDeleteMethod(MatrixParameter) + PyTypeObjectLinkPyType(MatrixParameter) + + +#else // End of Python Module Code Part. + +// +=================================================================+ +// | "PyMatrixParameter" Shared Library Code Part | +// +=================================================================+ + + + LinkCreateMethod(MatrixParameter) + PyTypeInheritedObjectDefinitions(MatrixParameter, Parameter) + + +#endif // End of Shared Library Code Part. + +} // extern "C". + +} // Isobar namespace. diff --git a/hurricane/src/analog/PyMultiCapacitor.cpp b/hurricane/src/analog/PyMultiCapacitor.cpp new file mode 100644 index 00000000..903eb69f --- /dev/null +++ b/hurricane/src/analog/PyMultiCapacitor.cpp @@ -0,0 +1,142 @@ +// -*- C++ -*- +// +// This file is part of the Coriolis Software. +// Copyright (c) UPMC 2016-2018, All Rights Reserved +// +// +-----------------------------------------------------------------+ +// | C O R I O L I S | +// | H u r r i c a n e A n a l o g | +// | | +// | Author : Jean-Paul Chaput | +// | E-mail : Jean-Paul.Chaput@lip6.fr | +// | =============================================================== | +// | C++ Module : "./PyMultiCapacitor.cpp" | +// +-----------------------------------------------------------------+ + + +#include "hurricane/isobar/PyLibrary.h" +#include "hurricane/analog/PyMultiCapacitor.h" + + +namespace Isobar { + +using namespace Hurricane; +using namespace Analog; + +extern "C" { + + +#undef ACCESS_OBJECT +#undef ACCESS_CLASS +#define ACCESS_OBJECT _baseObject._baseObject._baseObject._baseObject._object +#define ACCESS_CLASS(_pyObject) &(_pyObject->_baseObject._baseObject._baseObject._baseObject) +#define METHOD_HEAD(function) GENERIC_METHOD_HEAD(MultiCapacitor,transistor,function) + +#if defined(__PYTHON_MODULE__) + +// +=================================================================+ +// | "PyMultiCapacitor" Python Module Code Part | +// +=================================================================+ + + + static PyObject* PyMultiCapacitor_create ( PyObject*, PyObject* args ) + { + cdebug.log(49) << "PyMultiCapacitor_create()" << endl; + + MultiCapacitor* transistor = NULL; + + HTRY + PyObject* pyLibrary = NULL; + char* name = NULL; + long pyType = 0; + unsigned int count = 1; + + if (PyArg_ParseTuple( args + , "OslI:MultiCapacitor.create" + , &pyLibrary + , &name + , &pyType + , &count + )) { + if (not IsPyLibrary(pyLibrary)) { + PyErr_SetString ( ConstructorError, "MultiCapacitor.create(): First argument is not of type Library." ); + return NULL; + } + switch ( pyType ) { + case CapacitorFamily::PIP: + case CapacitorFamily::MIM: + case CapacitorFamily::MOM: break; + default: + PyErr_SetString ( ConstructorError, "MultiCapacitor.create(): Type argument is neither PIP, Multi nor MOM." ); + return NULL; + } + + transistor = MultiCapacitor::create( PYLIBRARY_O(pyLibrary) + , Name(name) + , (MultiCapacitor::Type)pyType + , (size_t)count + ); + } else { + PyErr_SetString ( ConstructorError, "Bad parameters given to MultiCapacitor.create()." ); + return NULL; + } + HCATCH + + return PyMultiCapacitor_Link(transistor); + } + + + // DirectGetDoubleAttribute(PyCapacitorFamily_getC ,getC ,PyMultiCapacitor,MultiCapacitor) + // DirectGetDoubleAttribute(PyCapacitorFamily_getCDraw ,getCDraw ,PyMultiCapacitor,MultiCapacitor) + // DirectGetDoubleAttribute(PyCapacitorFamily_getCBorder ,getCBorder ,PyMultiCapacitor,MultiCapacitor) + // DirectGetDoubleAttribute(PyCapacitorFamily_getCParasite,getCParasite,PyMultiCapacitor,MultiCapacitor) + + // Standart Destroy (Attribute). + DBoDestroyAttribute(PyMultiCapacitor_destroy, PyMultiCapacitor) + + + // --------------------------------------------------------------- + // PyMultiCapacitor Attribute Method table. + + PyMethodDef PyMultiCapacitor_Methods[] = + { { "create" , (PyCFunction)PyMultiCapacitor_create , METH_VARARGS|METH_STATIC + , "Create an anlogic device made of one transistor." } + // , { "getC" , (PyCFunction)PyCapacitorFamily_getC , METH_NOARGS + // , "Capacitor value C (requested)." } + // , { "getCDraw" , (PyCFunction)PyCapacitorFamily_getCDraw , METH_NOARGS + // , "Capacitor value C (requested)." } + // , { "getCBorder" , (PyCFunction)PyCapacitorFamily_getCBorder , METH_NOARGS + // , "Capacitor value C (requested)." } + // , { "getCParasite" , (PyCFunction)PyCapacitorFamily_getCParasite, METH_NOARGS + // , "Capacitor value C (requested)." } + , { "destroy" , (PyCFunction)PyMultiCapacitor_destroy , METH_NOARGS + , "Destroys associated hurricane object, the python object remains." } + , { NULL, NULL, 0, NULL } /* sentinel */ + }; + + + // +-------------------------------------------------------------+ + // | "PyMultiCapacitor" Object Methods | + // +-------------------------------------------------------------+ + + + DBoDeleteMethod(MultiCapacitor) + PyTypeObjectLinkPyType(MultiCapacitor) + + +#else // End of Python Module Code Part. + +// +=================================================================+ +// | "PyMultiCapacitor" Shared Library Code Part | +// +=================================================================+ + + + DBoLinkCreateMethod(MultiCapacitor) + PyTypeInheritedObjectDefinitions(MultiCapacitor, CapacitorFamily) + + +#endif // End of Shared Library Code Part. + +} // extern "C". + +} // Isobar namespace. diff --git a/hurricane/src/analog/hurricane/analog/CapacitiesParameter.h b/hurricane/src/analog/hurricane/analog/CapacitiesParameter.h new file mode 100644 index 00000000..3e2128d9 --- /dev/null +++ b/hurricane/src/analog/hurricane/analog/CapacitiesParameter.h @@ -0,0 +1,54 @@ +// -*- C++ -*- +// +// This file is part of the Coriolis Software. +// Copyright (c) UPMC 2009-2018, All Rights Reserved +// +// +-----------------------------------------------------------------+ +// | C O R I O L I S | +// | H u r r i c a n e A n a l o g | +// | | +// | Authors : Jean-Paul Chaput | +// | E-mail : Jean-Paul.Chaput@lip6.fr | +// | =============================================================== | +// | C++ Header : "./hurricane/analog/CapacitiesParameter.h" | +// +-----------------------------------------------------------------+ + + +#ifndef ANALOG_CAPACITIES_PARAMETER_H +#define ANALOG_CAPACITIES_PARAMETER_H + +#include "hurricane/analog/Parameter.h" + +namespace Analog { + + + class CapacitiesParameter : public Parameter { + public: + inline CapacitiesParameter ( std::string id, size_t count ); + inline CapacitiesParameter ( std::string id, const std::vector& ); + inline size_t getCount () const; + inline double getValue ( size_t index ) const; + inline void setValue ( size_t index, double value ); + private: + std::vector _values; + }; + + + inline CapacitiesParameter::CapacitiesParameter ( std::string id, size_t count ) + : Parameter(id), _values(count,0.0) + { } + + + inline CapacitiesParameter::CapacitiesParameter ( std::string id, const std::vector& capacities ) + : Parameter(id), _values(capacities) + { } + + + inline size_t CapacitiesParameter::getCount () const { return _values.size(); } + inline double CapacitiesParameter::getValue ( size_t index ) const { return _values.at(index); } + inline void CapacitiesParameter::setValue ( size_t index, double value ) { _values.at(index) = value; } + + +} // Analog namespace. + +#endif // ANALOG_CAPACITIES_PARAMETER_H diff --git a/hurricane/src/analog/hurricane/analog/CapacitorFamily.h b/hurricane/src/analog/hurricane/analog/CapacitorFamily.h index 3a66c64d..97de2546 100644 --- a/hurricane/src/analog/hurricane/analog/CapacitorFamily.h +++ b/hurricane/src/analog/hurricane/analog/CapacitorFamily.h @@ -38,19 +38,19 @@ namespace Analog { void setReferenceCapacitor (const Hurricane::Name& referenceCapacitorName); inline MetaCapacitor* getReferenceCapacitor (); inline const MetaCapacitor* getReferenceCapacitor () const; + // Structural parameters. inline const Type& getType () const; - inline int getRow () const; inline bool isMIM () const; inline bool isPIP () const; inline bool isMOM () const; + // Geometrical parameters. + // Electrical parameters. inline double getCE () const; - inline int getOperatorIndex () const; inline void setCE ( double ); - inline void setOperatorIndex ( int ); protected: CapacitorFamily ( Hurricane::Library* , const Hurricane::Name& , const Type& ); inline void setReferenceCapacitor ( MetaCapacitor* ); - virtual void createConnections() = 0; + virtual void createConnections () = 0; private: inline MetaCapacitor* _secureGetReferenceCapacitor (); inline const MetaCapacitor* _secureGetReferenceCapacitor () const; @@ -64,19 +64,13 @@ namespace Analog { inline MetaCapacitor* CapacitorFamily::getReferenceCapacitor () { return _referenceCapacitor; } inline const MetaCapacitor* CapacitorFamily::getReferenceCapacitor () const { return _referenceCapacitor; } + inline void CapacitorFamily::setReferenceCapacitor ( MetaCapacitor* metaCapacitor ) { _referenceCapacitor = metaCapacitor; } inline const CapacitorFamily::Type& CapacitorFamily::getType () const { return _type; } - inline int CapacitorFamily::getRow () const { return _row; } - inline bool CapacitorFamily::isMIM () const { return getType() == MIM; } inline bool CapacitorFamily::isPIP () const { return getType() == PIP; } inline bool CapacitorFamily::isMOM () const { return getType() == MOM; } - inline double CapacitorFamily::getCE () const { return _secureGetReferenceCapacitor()->getCE(); } - inline int CapacitorFamily::getOperatorIndex () const { return _operatorIndex; } - inline void CapacitorFamily::setCE (double ce) { _secureGetReferenceCapacitor()->setCE(ce); } - inline void CapacitorFamily::setReferenceCapacitor (MetaCapacitor* metaCapacitor) { _referenceCapacitor = metaCapacitor; } - inline void CapacitorFamily::setOperatorIndex (int i) { _operatorIndex = i; } inline MetaCapacitor* CapacitorFamily::_secureGetReferenceCapacitor () diff --git a/hurricane/src/analog/hurricane/analog/Device.h b/hurricane/src/analog/hurricane/analog/Device.h index c61c4a2e..b305d5ea 100644 --- a/hurricane/src/analog/hurricane/analog/Device.h +++ b/hurricane/src/analog/hurricane/analog/Device.h @@ -24,6 +24,8 @@ #include "hurricane/analog/SpinBoxParameter.h" #include "hurricane/analog/MCheckBoxParameter.h" #include "hurricane/analog/FormFactorParameter.h" +#include "hurricane/analog/MatrixParameter.h" +#include "hurricane/analog/CapacitiesParameter.h" namespace Analog { @@ -67,12 +69,14 @@ namespace Analog { virtual void _preDestroy (); inline Hurricane::Library* getSubDevicesLibrary (); inline void addParameter ( Parameter* parameter ); - inline StepParameter* addStepParameter ( const std::string& name, long min, long max, long step ); - inline CapacitorParameter* addCapacitorParameter ( const std::string& name, long value ); - inline SpinBoxParameter* addSpinBoxParameter ( const std::string& name, long min, long max ); - inline FormFactorParameter* addFormFactorParameter ( const std::string& name, long min, long max ); - inline ChoiceParameter* addChoiceParameter ( const std::string& name, const Choices& choices ); + inline StepParameter* addStepParameter ( const std::string name, long min, long max, long step ); + inline CapacitorParameter* addCapacitorParameter ( const std::string name, long value ); + inline SpinBoxParameter* addSpinBoxParameter ( const std::string name, long min, long max ); + inline FormFactorParameter* addFormFactorParameter ( const std::string name, long min, long max ); + inline ChoiceParameter* addChoiceParameter ( const std::string name, const Choices& choices ); inline MCheckBoxParameter* addMCheckBoxParameter ( const std::string name, const Choices& choices ); + inline MatrixParameter* addMatrixParameter ( const std::string name ); + inline CapacitiesParameter* addCapacitiesParameter ( const std::string name, size_t count ); public: virtual Hurricane::Record* _getRecord () const; private: @@ -97,47 +101,61 @@ namespace Analog { _parameterSet.insert( parameter ); } - inline StepParameter* Device::addStepParameter ( const std::string& name, long min, long max, long step ) + inline StepParameter* Device::addStepParameter ( const std::string name, long min, long max, long step ) { StepParameter* stepParameter = new StepParameter( name,min,max,step ); addParameter( stepParameter ); return stepParameter; } - inline CapacitorParameter* Device::addCapacitorParameter ( const std::string& name, long value ) + inline CapacitorParameter* Device::addCapacitorParameter ( const std::string name, long value ) { CapacitorParameter* capacitorParameter = new CapacitorParameter( name,value ); addParameter( capacitorParameter ); return capacitorParameter; } - inline SpinBoxParameter* Device::addSpinBoxParameter ( const std::string& name, long min, long max ) + inline SpinBoxParameter* Device::addSpinBoxParameter ( const std::string name, long min, long max ) { SpinBoxParameter* spinBoxParameter = new SpinBoxParameter( name, min, max ); addParameter( spinBoxParameter ); return spinBoxParameter; } - inline FormFactorParameter* Device::addFormFactorParameter ( const std::string& name, long min, long max ) + inline FormFactorParameter* Device::addFormFactorParameter ( const std::string name, long min, long max ) { FormFactorParameter* formFactorParameter = new FormFactorParameter( name, min, max ); addParameter( formFactorParameter ); return formFactorParameter; } - inline ChoiceParameter* Device::addChoiceParameter ( const std::string& name, const Choices& choices ) + inline ChoiceParameter* Device::addChoiceParameter ( const std::string name, const Choices& choices ) { ChoiceParameter* choiceParameter = new ChoiceParameter( name, choices ); addParameter( choiceParameter ); return choiceParameter; } - inline MCheckBoxParameter* Device::addMCheckBoxParameter ( const std::string name, const Choices& choices ) + inline MCheckBoxParameter* Device::addMCheckBoxParameter ( const std::string name, const Choices& choices ) { MCheckBoxParameter* mCheckBoxParameter = new MCheckBoxParameter( name, choices ); addParameter( mCheckBoxParameter ); return mCheckBoxParameter; } + + inline MatrixParameter* Device::addMatrixParameter ( const std::string name ) + { + MatrixParameter* matrixParameter = new MatrixParameter( name ); + addParameter( matrixParameter ); + return matrixParameter; + } + + inline CapacitiesParameter* Device::addCapacitiesParameter ( const std::string name, size_t count ) + { + CapacitiesParameter* capacitiesParameter = new CapacitiesParameter( name, count ); + addParameter( capacitiesParameter ); + return capacitiesParameter; + } } // Analog namespace. diff --git a/hurricane/src/analog/hurricane/analog/Matrix.h b/hurricane/src/analog/hurricane/analog/Matrix.h new file mode 100644 index 00000000..bf8e572e --- /dev/null +++ b/hurricane/src/analog/hurricane/analog/Matrix.h @@ -0,0 +1,84 @@ +// -*- C++ -*- +// +// This file is part of the Coriolis Software. +// Copyright (c) UPMC 2019-2019, All Rights Reserved +// +// +-----------------------------------------------------------------+ +// | C O R I O L I S | +// | H u r r i c a n e A n a l o g | +// | | +// | Authors : Damien Dupuis | +// | E-mail : Jean-Paul.Chaput@lip6.fr | +// | =============================================================== | +// | C++ Header : "./hurricane/analog/Matrix.h" | +// +-----------------------------------------------------------------+ + + +#ifndef ANALOG_MATRIX_H +#define ANALOG_MATRIX_H + +namespace Analog { + + + class Matrix { + public: + inline Matrix ( size_t rows, size_t columns ); + inline Matrix ( const Matrix& ); + inline ~Matrix (); + inline Matrix& operator= ( const Matrix& ); + inline size_t rows () const; + inline size_t columns () const; + inline size_t at ( size_t row, size_t column ) const; + inline size_t& at ( size_t row, size_t column ); + inline size_t index ( size_t row, size_t column ) const; + private: + size_t _rows; + size_t _columns; + size_t* _table; + }; + + + inline Matrix::Matrix ( size_t rows, size_t columns ) + : _rows(rows), _columns(columns), _table(NULL) + { + _table = new size_t [ _rows * _columns ]; + } + + + inline Matrix::Matrix ( const Matrix& other ) + : _rows(other._rows), _columns(other._columns), _table(NULL) + { + size_t length = _rows * _columns; + _table = new size_t [ length ]; + for ( size_t i=0 ; igetValue(); } - double MIMCapacitor::getCDraw () const { return _cDraw; } - double MIMCapacitor::getCBorder () const { return _cBorder; } - double MIMCapacitor::getCParasite () const { return _cParasite; } + + double MultiCapacitor::getCapacity ( size_t i ) const { return _capacities->getValue(i); } + double MultiCapacitor::getCDraw () const { return _cDraw; } + double MultiCapacitor::getCBorder () const { return _cBorder; } + double MultiCapacitor::getCParasite () const { return _cParasite; } } // Analog namespace. -#endif // ANALOH_MIM_CAPACITOR_H +#endif // ANALOH_MULTI_CAPACITOR_H diff --git a/hurricane/src/analog/hurricane/analog/PyCapacitiesParameter.h b/hurricane/src/analog/hurricane/analog/PyCapacitiesParameter.h new file mode 100644 index 00000000..22c2c372 --- /dev/null +++ b/hurricane/src/analog/hurricane/analog/PyCapacitiesParameter.h @@ -0,0 +1,55 @@ +// -*- C++ -*- +// +// This file is part of the Coriolis Software. +// Copyright (c) UPMC 2019-2019, All Rights Reserved +// +// +-----------------------------------------------------------------+ +// | C O R I O L I S | +// | H u r r i c a n e A n a l o g | +// | | +// | Author : Jean-Paul Chaput | +// | E-mail : Jean-Paul.Chaput@lip6.fr | +// | =============================================================== | +// | C++ Header : "./hurricane/analog/PyCapacitiesParameter.h" | +// +-----------------------------------------------------------------+ + + +#ifndef ANALOG_PY_CAPACITIES_PARAMETER_H +#define ANALOG_PY_CAPACITIES_PARAMETER_H + +#include "hurricane/analog/PyParameter.h" +#include "hurricane/analog/CapacitiesParameter.h" + + +namespace Isobar { + +extern "C" { + +// ------------------------------------------------------------------- +// Python Object : "PyCapacitiesParameter". + + typedef struct { + PyParameter _baseObject; + } PyCapacitiesParameter; + + +// ------------------------------------------------------------------- +// Functions & Types exported to "PyHurricane.cpp". + + extern PyTypeObject PyTypeCapacitiesParameter; + extern PyMethodDef PyCapacitiesParameter_Methods[]; + + extern PyObject* PyCapacitiesParameter_Link ( Analog::CapacitiesParameter* object ); + extern void PyCapacitiesParameter_LinkPyType (); + + +#define IsPyCapacitiesParameter(v) ( (v)->ob_type == &PyTypeCapacitiesParameter ) +#define PYCAPACITIESPARAMETER(v) ( (PyCapacitiesParameter*)(v) ) +#define PYCAPACITIESPARAMETER_O(v) ( PYCAPACITIESPARAMETER(v)->_baseObject->_baseObject._object ) + + +} // extern "C". + +} // Isobar namespace. + +#endif // ANALOG_PY_CAPACITIES_PARAMETER_H diff --git a/hurricane/src/analog/hurricane/analog/PyMatrixParameter.h b/hurricane/src/analog/hurricane/analog/PyMatrixParameter.h new file mode 100644 index 00000000..cec87f1c --- /dev/null +++ b/hurricane/src/analog/hurricane/analog/PyMatrixParameter.h @@ -0,0 +1,55 @@ +// -*- C++ -*- +// +// This file is part of the Coriolis Software. +// Copyright (c) UPMC 2019-2019, All Rights Reserved +// +// +-----------------------------------------------------------------+ +// | C O R I O L I S | +// | H u r r i c a n e A n a l o g | +// | | +// | Author : Jean-Paul Chaput | +// | E-mail : Jean-Paul.Chaput@lip6.fr | +// | =============================================================== | +// | C++ Header : "./hurricane/analog/PyMatrixParameter.h" | +// +-----------------------------------------------------------------+ + + +#ifndef ANALOG_PY_MATRIX_PARAMETER_H +#define ANALOG_PY_MATRIX_PARAMETER_H + +#include "hurricane/analog/PyParameter.h" +#include "hurricane/analog/MatrixParameter.h" + + +namespace Isobar { + +extern "C" { + +// ------------------------------------------------------------------- +// Python Object : "PyMatrixParameter". + + typedef struct { + PyParameter _baseObject; + } PyMatrixParameter; + + +// ------------------------------------------------------------------- +// Functions & Types exported to "PyHurricane.cpp". + + extern PyTypeObject PyTypeMatrixParameter; + extern PyMethodDef PyMatrixParameter_Methods[]; + + extern PyObject* PyMatrixParameter_Link ( Analog::MatrixParameter* object ); + extern void PyMatrixParameter_LinkPyType (); + + +#define IsPyMatrixParameter(v) ( (v)->ob_type == &PyTypeMatrixParameter ) +#define PYMATRIXPARAMETER(v) ( (PyMatrixParameter*)(v) ) +#define PYMATRIXPARAMETER_O(v) ( PYMATRIXPARAMETER(v)->_baseObject->_baseObject._object ) + + +} // extern "C". + +} // Isobar namespace. + +#endif // ANALOG_PY_MATRIX_PARAMETER_H diff --git a/hurricane/src/analog/hurricane/analog/PyMIMCapacitor.h b/hurricane/src/analog/hurricane/analog/PyMultiCapacitor.h similarity index 59% rename from hurricane/src/analog/hurricane/analog/PyMIMCapacitor.h rename to hurricane/src/analog/hurricane/analog/PyMultiCapacitor.h index 8a31e494..7929a419 100644 --- a/hurricane/src/analog/hurricane/analog/PyMIMCapacitor.h +++ b/hurricane/src/analog/hurricane/analog/PyMultiCapacitor.h @@ -10,15 +10,15 @@ // | Author : Jean-Paul Chaput | // | E-mail : Jean-Paul.Chaput@lip6.fr | // | =============================================================== | -// | C++ Header : "./hurricane/analog/PyMIMCapacitor.h" | +// | C++ Header : "./hurricane/analog/PyMultiCapacitor.h" | // +-----------------------------------------------------------------+ -#ifndef ANALOG_PY_MIM_CAPACITOR_H -#define ANALOG_PY_MIM_CAPACITOR_H +#ifndef ANALOG_PY_MULTI_CAPACITOR_H +#define ANALOG_PY_MULTI_CAPACITOR_H #include "hurricane/analog/PyCapacitorFamily.h" -#include "hurricane/analog/MIMCapacitor.h" +#include "hurricane/analog/MultiCapacitor.h" namespace Isobar { @@ -26,30 +26,30 @@ namespace Isobar { extern "C" { // ------------------------------------------------------------------- -// Python Object : "PyMIMCapacitor". +// Python Object : "PyMultiCapacitor". typedef struct { PyCapacitorFamily _baseObject; - } PyMIMCapacitor; + } PyMultiCapacitor; // ------------------------------------------------------------------- // Functions & Types exported to "PyHurricane.cpp". - extern PyTypeObject PyTypeMIMCapacitor; - extern PyMethodDef PyMIMCapacitor_Methods[]; + extern PyTypeObject PyTypeMultiCapacitor; + extern PyMethodDef PyMultiCapacitor_Methods[]; - extern PyObject* PyMIMCapacitor_Link ( Analog::MIMCapacitor* object ); - extern void PyMIMCapacitor_LinkPyType (); + extern PyObject* PyMultiCapacitor_Link ( Analog::MultiCapacitor* object ); + extern void PyMultiCapacitor_LinkPyType (); -#define IsPyMIMCapacitor(v) ( (v)->ob_type == &PyTypeMIMCapacitor ) -#define PYMIMCAPACITOR(v) ( (PyMIMCapacitor*)(v) ) -#define PYMIMCAPACITOR_O(v) ( PYMIMCAPACITOR(v)->_baseObject->_baseObject._object ) +#define IsPyMultiCapacitor(v) ( (v)->ob_type == &PyTypeMultiCapacitor ) +#define PYMULTICAPACITOR(v) ( (PyMultiCapacitor*)(v) ) +#define PYMULTICAPACITOR_O(v) ( PYMULTICAPACITOR(v)->_baseObject->_baseObject._object ) } // extern "C". } // Isobar namespace. -#endif // ANALOG_PY_MIM_CAPACITOR_H +#endif // ANALOG_PY_MULTI_CAPACITOR_H diff --git a/hurricane/src/hurricane/Layer.cpp b/hurricane/src/hurricane/Layer.cpp index bc51373d..51dbeb6a 100644 --- a/hurricane/src/hurricane/Layer.cpp +++ b/hurricane/src/hurricane/Layer.cpp @@ -73,6 +73,10 @@ namespace Hurricane { { return NULL; } + const Layer* Layer::getCut () const + { return NULL; } + + const Layer* Layer::getTop () const { return NULL; } diff --git a/hurricane/src/hurricane/RegularLayer.cpp b/hurricane/src/hurricane/RegularLayer.cpp index f470d886..09cdfe7c 100644 --- a/hurricane/src/hurricane/RegularLayer.cpp +++ b/hurricane/src/hurricane/RegularLayer.cpp @@ -197,16 +197,19 @@ namespace Hurricane { ,_enclosure(0) ,_extentionCap(0) ,_extentionWidth(0) - { } + { + } - RegularLayer* RegularLayer::create ( Technology* technology - , const Name& name + RegularLayer* RegularLayer::create ( Technology* technology + , const Name& name + , BasicLayer* layer ) { - RegularLayer* regularLayer = new RegularLayer(technology, name); + RegularLayer* regularLayer = new RegularLayer( technology, name ); regularLayer->_postCreate(); + regularLayer->setBasicLayer( layer ); return regularLayer; } @@ -396,8 +399,7 @@ namespace Hurricane { if (stack.issetFlags(JsonWriter::TechnoMode)) { // Actual creation. - layer = RegularLayer::create( techno, name ); - layer->setBasicLayer ( basicLayer ); + layer = RegularLayer::create( techno, name, basicLayer ); layer->setSymbolic ( isSymbolic ); layer->setMinimalSize ( minimalSize ); layer->setMinimalSpacing( minimalSpacing ); diff --git a/hurricane/src/hurricane/ViaLayer.cpp b/hurricane/src/hurricane/ViaLayer.cpp index 97b52b9d..2955fe5c 100644 --- a/hurricane/src/hurricane/ViaLayer.cpp +++ b/hurricane/src/hurricane/ViaLayer.cpp @@ -125,6 +125,10 @@ namespace Hurricane { { return getCollection(_basicLayers); } + const Layer* ViaLayer::getCut () const + { return getTechnology()->getLayer(_basicLayers[1]->getMask()); } + + const Layer* ViaLayer::getTop () const { return getTechnology()->getLayer(_basicLayers[2]->getMask()); } diff --git a/hurricane/src/hurricane/hurricane/Layer.h b/hurricane/src/hurricane/hurricane/Layer.h index bbc873af..805b372d 100644 --- a/hurricane/src/hurricane/hurricane/Layer.h +++ b/hurricane/src/hurricane/hurricane/Layer.h @@ -72,6 +72,7 @@ namespace Hurricane { inline const DbU::Unit& getMinimalSpacing () const; virtual BasicLayers getBasicLayers () const = 0; virtual const Layer* getBlockageLayer () const; + virtual const Layer* getCut () const; virtual const Layer* getTop () const; virtual const Layer* getBottom () const; virtual const Layer* getOpposite ( const Layer* ) const; diff --git a/hurricane/src/hurricane/hurricane/RegularLayer.h b/hurricane/src/hurricane/hurricane/RegularLayer.h index da7ba562..a6a236d5 100644 --- a/hurricane/src/hurricane/hurricane/RegularLayer.h +++ b/hurricane/src/hurricane/hurricane/RegularLayer.h @@ -50,6 +50,7 @@ namespace Hurricane { // Constructor. static RegularLayer* create ( Technology* technology , const Name& name + , BasicLayer* layer ); // Accessors. virtual BasicLayers getBasicLayers () const; @@ -85,8 +86,8 @@ namespace Hurricane { protected: // Internal: Constructors & Destructors. - RegularLayer ( Technology* technology - , const Name& name + RegularLayer ( Technology* technology + , const Name& name ); }; diff --git a/hurricane/src/hurricane/hurricane/ViaLayer.h b/hurricane/src/hurricane/hurricane/ViaLayer.h index 262e5928..3267fc61 100644 --- a/hurricane/src/hurricane/hurricane/ViaLayer.h +++ b/hurricane/src/hurricane/hurricane/ViaLayer.h @@ -57,6 +57,7 @@ namespace Hurricane { ); // Accessors. virtual BasicLayers getBasicLayers () const; + virtual const Layer* getCut () const; virtual const Layer* getTop () const; virtual const Layer* getBottom () const; virtual const Layer* getOpposite ( const Layer* ) const; diff --git a/hurricane/src/isobar/PyDataBase.cpp b/hurricane/src/isobar/PyDataBase.cpp index 8b1939d2..19105e48 100644 --- a/hurricane/src/isobar/PyDataBase.cpp +++ b/hurricane/src/isobar/PyDataBase.cpp @@ -59,7 +59,8 @@ extern "C" { HTRY db = DataBase::getDB(); if (db == NULL) - PyErr_SetString( HurricaneError, "DataBase.getDB(): DataBase has not been created yet" ); + //PyErr_SetString( HurricaneError, "DataBase.getDB(): DataBase has not been created yet" ); + Py_RETURN_NONE; HCATCH return PyDataBase_Link( db ); diff --git a/hurricane/src/isobar/PyLayer.cpp b/hurricane/src/isobar/PyLayer.cpp index 92e71e90..e2fc4daf 100644 --- a/hurricane/src/isobar/PyLayer.cpp +++ b/hurricane/src/isobar/PyLayer.cpp @@ -259,7 +259,7 @@ extern "C" { if ( (__cs.getObjectIds() == ":layer:int") and (PYBASICLAYER_O(arg0)) ) rvalue = layer->getEnclosure( PYBASICLAYER_O(arg0), PyAny_AsLong(arg1) ); else if ( __cs.getObjectIds() == ":int" ) - rvalue = layer->getEnclosure( PyAny_AsLong(arg1) ); + rvalue = layer->getEnclosure( PyAny_AsLong(arg0) ); else { string message = "invalid parameter type for Layer.getEnclosure() (\"" + __cs.getObjectIds() + "\")"; @@ -321,6 +321,7 @@ extern "C" { accessorMaskFromVoid ( getMask ,PyLayer,Layer) accessorMaskFromVoid ( getExtractMask ,PyLayer,Layer) accessorLayerFromVoid ( getBlockageLayer ,PyLayer,Layer) + accessorLayerFromVoid ( getCut ,PyLayer,Layer) accessorLayerFromVoid ( getTop ,PyLayer,Layer) accessorLayerFromVoid ( getBottom ,PyLayer,Layer) accessorLayerFromLayer ( getOpposite ,PyLayer,Layer) @@ -360,6 +361,8 @@ extern "C" { , "Returns the collection of BasicLayer the Layer is built upon." } , { "getBlockageLayer" , (PyCFunction)PyLayer_getBlockageLayer , METH_NOARGS , "Returns the associated connector layer." } + , { "getCut" , (PyCFunction)PyLayer_getCut , METH_NOARGS + , "Returns the cut layer (in case of a muti-layer Contact)." } , { "getTop" , (PyCFunction)PyLayer_getTop , METH_NOARGS , "Returns the top layer (in case of a muti-layer)." } , { "getBottom" , (PyCFunction)PyLayer_getBottom , METH_NOARGS diff --git a/hurricane/src/isobar/PyRegularLayer.cpp b/hurricane/src/isobar/PyRegularLayer.cpp index 2984d034..af211a22 100644 --- a/hurricane/src/isobar/PyRegularLayer.cpp +++ b/hurricane/src/isobar/PyRegularLayer.cpp @@ -83,21 +83,29 @@ extern "C" { HTRY PyObject* pyTechnology = NULL; + PyObject* pyBasicLayer = NULL; char* name = NULL; if (PyArg_ParseTuple( args - , "Os:RegularLayer.create" + , "OsO:RegularLayer.create" , &pyTechnology , &name + , &pyBasicLayer )) { if (not IsPyTechnology(pyTechnology)) { PyErr_SetString ( ConstructorError, "RegularLayer.create(): First argument is not of type Technology." ); return NULL; } + if (not IsPyBasicLayer(pyBasicLayer)) { + PyErr_SetString ( ConstructorError, "RegularLayer.create(): Third argument is not of type BasicLayer." ); + return NULL; + } - regularLayer = RegularLayer::create( PYTECHNOLOGY_O(pyTechnology), Name(name) ); + regularLayer = RegularLayer::create( PYTECHNOLOGY_O(pyTechnology) + , Name(name) + , PYBASICLAYER_O(pyBasicLayer) ); } else { - PyErr_SetString ( ConstructorError, "Bad parameters given to RegularLayer.create()." ); + PyErr_SetString ( ConstructorError, "Bad number of parameters given to RegularLayer.create()." ); return NULL; } HCATCH diff --git a/katabatic/doc/html/AutoContactHTee_8h_source.html b/katabatic/doc/html/AutoContactHTee_8h_source.html index b2e30d1a..ea915aa9 100644 --- a/katabatic/doc/html/AutoContactHTee_8h_source.html +++ b/katabatic/doc/html/AutoContactHTee_8h_source.html @@ -65,7 +65,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/AutoContactTerminal_8h_source.html b/katabatic/doc/html/AutoContactTerminal_8h_source.html index 89ac1a50..8a64454b 100644 --- a/katabatic/doc/html/AutoContactTerminal_8h_source.html +++ b/katabatic/doc/html/AutoContactTerminal_8h_source.html @@ -66,7 +66,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/AutoContactTurn_8h_source.html b/katabatic/doc/html/AutoContactTurn_8h_source.html index d251fd83..9808ffbf 100644 --- a/katabatic/doc/html/AutoContactTurn_8h_source.html +++ b/katabatic/doc/html/AutoContactTurn_8h_source.html @@ -66,7 +66,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/AutoContactVTee_8h_source.html b/katabatic/doc/html/AutoContactVTee_8h_source.html index ba6b2452..51b674b1 100644 --- a/katabatic/doc/html/AutoContactVTee_8h_source.html +++ b/katabatic/doc/html/AutoContactVTee_8h_source.html @@ -65,7 +65,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/AutoContact_8h_source.html b/katabatic/doc/html/AutoContact_8h_source.html index 587c76db..f4c696b7 100644 --- a/katabatic/doc/html/AutoContact_8h_source.html +++ b/katabatic/doc/html/AutoContact_8h_source.html @@ -191,7 +191,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/AutoHorizontal_8h_source.html b/katabatic/doc/html/AutoHorizontal_8h_source.html index a7e87b3a..a3b8a2bd 100644 --- a/katabatic/doc/html/AutoHorizontal_8h_source.html +++ b/katabatic/doc/html/AutoHorizontal_8h_source.html @@ -84,7 +84,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/AutoSegment_8h_source.html b/katabatic/doc/html/AutoSegment_8h_source.html index bc081366..b4e89624 100644 --- a/katabatic/doc/html/AutoSegment_8h_source.html +++ b/katabatic/doc/html/AutoSegment_8h_source.html @@ -257,7 +257,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/AutoSegments_8h_source.html b/katabatic/doc/html/AutoSegments_8h_source.html index 07b97825..75ffd6e9 100644 --- a/katabatic/doc/html/AutoSegments_8h_source.html +++ b/katabatic/doc/html/AutoSegments_8h_source.html @@ -101,7 +101,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/AutoVertical_8h_source.html b/katabatic/doc/html/AutoVertical_8h_source.html index fb6e3054..6bdfde7a 100644 --- a/katabatic/doc/html/AutoVertical_8h_source.html +++ b/katabatic/doc/html/AutoVertical_8h_source.html @@ -84,7 +84,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/ChipTools_8h_source.html b/katabatic/doc/html/ChipTools_8h_source.html index 144275f1..9896c61e 100644 --- a/katabatic/doc/html/ChipTools_8h_source.html +++ b/katabatic/doc/html/ChipTools_8h_source.html @@ -71,7 +71,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/Constants_8h_source.html b/katabatic/doc/html/Constants_8h_source.html index 1356205f..236260aa 100644 --- a/katabatic/doc/html/Constants_8h_source.html +++ b/katabatic/doc/html/Constants_8h_source.html @@ -74,7 +74,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/GCellGrid_8h_source.html b/katabatic/doc/html/GCellGrid_8h_source.html index 6a587ead..305b516e 100644 --- a/katabatic/doc/html/GCellGrid_8h_source.html +++ b/katabatic/doc/html/GCellGrid_8h_source.html @@ -78,7 +78,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/GCell_8h_source.html b/katabatic/doc/html/GCell_8h_source.html index a73e2d2c..ee660d9a 100644 --- a/katabatic/doc/html/GCell_8h_source.html +++ b/katabatic/doc/html/GCell_8h_source.html @@ -144,7 +144,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/GCells_8h_source.html b/katabatic/doc/html/GCells_8h_source.html index 1f17e476..7615d86c 100644 --- a/katabatic/doc/html/GCells_8h_source.html +++ b/katabatic/doc/html/GCells_8h_source.html @@ -59,7 +59,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/Grid_8h_source.html b/katabatic/doc/html/Grid_8h_source.html index 802e3d05..e9dda3a8 100644 --- a/katabatic/doc/html/Grid_8h_source.html +++ b/katabatic/doc/html/Grid_8h_source.html @@ -77,7 +77,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/KatabaticEngine_8h_source.html b/katabatic/doc/html/KatabaticEngine_8h_source.html index 089de870..40fdfc1d 100644 --- a/katabatic/doc/html/KatabaticEngine_8h_source.html +++ b/katabatic/doc/html/KatabaticEngine_8h_source.html @@ -122,7 +122,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/Observer_8h_source.html b/katabatic/doc/html/Observer_8h_source.html index 83124bf2..8170c77a 100644 --- a/katabatic/doc/html/Observer_8h_source.html +++ b/katabatic/doc/html/Observer_8h_source.html @@ -62,7 +62,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/Session_8h_source.html b/katabatic/doc/html/Session_8h_source.html index 3f8019c7..c16af6b0 100644 --- a/katabatic/doc/html/Session_8h_source.html +++ b/katabatic/doc/html/Session_8h_source.html @@ -100,7 +100,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/annotated.html b/katabatic/doc/html/annotated.html index 437aa8bd..5bfacbef 100644 --- a/katabatic/doc/html/annotated.html +++ b/katabatic/doc/html/annotated.html @@ -82,7 +82,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1AutoContact-members.html b/katabatic/doc/html/classKatabatic_1_1AutoContact-members.html index 826be194..953921ca 100644 --- a/katabatic/doc/html/classKatabatic_1_1AutoContact-members.html +++ b/katabatic/doc/html/classKatabatic_1_1AutoContact-members.html @@ -126,7 +126,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1AutoContact.html b/katabatic/doc/html/classKatabatic_1_1AutoContact.html index 56e53a93..f831def6 100644 --- a/katabatic/doc/html/classKatabatic_1_1AutoContact.html +++ b/katabatic/doc/html/classKatabatic_1_1AutoContact.html @@ -2433,7 +2433,7 @@ Notes - Differences from Katabatic 2
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1AutoContactHTee-members.html b/katabatic/doc/html/classKatabatic_1_1AutoContactHTee-members.html index ec60ba04..c5e99335 100644 --- a/katabatic/doc/html/classKatabatic_1_1AutoContactHTee-members.html +++ b/katabatic/doc/html/classKatabatic_1_1AutoContactHTee-members.html @@ -127,7 +127,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1AutoContactHTee.html b/katabatic/doc/html/classKatabatic_1_1AutoContactHTee.html index d59c7385..13ec2622 100644 --- a/katabatic/doc/html/classKatabatic_1_1AutoContactHTee.html +++ b/katabatic/doc/html/classKatabatic_1_1AutoContactHTee.html @@ -454,7 +454,7 @@ Update H-Tee Topology
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1AutoContactTerminal-members.html b/katabatic/doc/html/classKatabatic_1_1AutoContactTerminal-members.html index 5301c291..fcdce4fd 100644 --- a/katabatic/doc/html/classKatabatic_1_1AutoContactTerminal-members.html +++ b/katabatic/doc/html/classKatabatic_1_1AutoContactTerminal-members.html @@ -128,7 +128,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1AutoContactTerminal.html b/katabatic/doc/html/classKatabatic_1_1AutoContactTerminal.html index 69346c82..d0853f9c 100644 --- a/katabatic/doc/html/classKatabatic_1_1AutoContactTerminal.html +++ b/katabatic/doc/html/classKatabatic_1_1AutoContactTerminal.html @@ -594,7 +594,7 @@ Update Terminal Topology
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1AutoContactTurn-members.html b/katabatic/doc/html/classKatabatic_1_1AutoContactTurn-members.html index 41a2038d..6500f5f4 100644 --- a/katabatic/doc/html/classKatabatic_1_1AutoContactTurn-members.html +++ b/katabatic/doc/html/classKatabatic_1_1AutoContactTurn-members.html @@ -127,7 +127,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1AutoContactTurn.html b/katabatic/doc/html/classKatabatic_1_1AutoContactTurn.html index 3a617e90..82e4012d 100644 --- a/katabatic/doc/html/classKatabatic_1_1AutoContactTurn.html +++ b/katabatic/doc/html/classKatabatic_1_1AutoContactTurn.html @@ -456,7 +456,7 @@ Update Turn Topology
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1AutoContactVTee-members.html b/katabatic/doc/html/classKatabatic_1_1AutoContactVTee-members.html index 65a2838b..66a1b814 100644 --- a/katabatic/doc/html/classKatabatic_1_1AutoContactVTee-members.html +++ b/katabatic/doc/html/classKatabatic_1_1AutoContactVTee-members.html @@ -127,7 +127,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1AutoContactVTee.html b/katabatic/doc/html/classKatabatic_1_1AutoContactVTee.html index 60a854f8..abfb2598 100644 --- a/katabatic/doc/html/classKatabatic_1_1AutoContactVTee.html +++ b/katabatic/doc/html/classKatabatic_1_1AutoContactVTee.html @@ -446,7 +446,7 @@ Additional Inherited Members
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1AutoHorizontal-members.html b/katabatic/doc/html/classKatabatic_1_1AutoHorizontal-members.html index 2d8f4143..ecb0e6a3 100644 --- a/katabatic/doc/html/classKatabatic_1_1AutoHorizontal-members.html +++ b/katabatic/doc/html/classKatabatic_1_1AutoHorizontal-members.html @@ -182,7 +182,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1AutoHorizontal.html b/katabatic/doc/html/classKatabatic_1_1AutoHorizontal.html index fd9a9dc8..db7d1985 100644 --- a/katabatic/doc/html/classKatabatic_1_1AutoHorizontal.html +++ b/katabatic/doc/html/classKatabatic_1_1AutoHorizontal.html @@ -1233,7 +1233,7 @@ moveULeft() for an Horizontal
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1AutoSegment-members.html b/katabatic/doc/html/classKatabatic_1_1AutoSegment-members.html index f357674c..0834b7c7 100644 --- a/katabatic/doc/html/classKatabatic_1_1AutoSegment-members.html +++ b/katabatic/doc/html/classKatabatic_1_1AutoSegment-members.html @@ -182,7 +182,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1AutoSegment.html b/katabatic/doc/html/classKatabatic_1_1AutoSegment.html index 0e29005f..4c529353 100644 --- a/katabatic/doc/html/classKatabatic_1_1AutoSegment.html +++ b/katabatic/doc/html/classKatabatic_1_1AutoSegment.html @@ -4367,7 +4367,7 @@ Reduce Example
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1AutoSegments__Aligneds-members.html b/katabatic/doc/html/classKatabatic_1_1AutoSegments__Aligneds-members.html index eb9db071..191acc79 100644 --- a/katabatic/doc/html/classKatabatic_1_1AutoSegments__Aligneds-members.html +++ b/katabatic/doc/html/classKatabatic_1_1AutoSegments__Aligneds-members.html @@ -62,7 +62,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1AutoSegments__Aligneds.html b/katabatic/doc/html/classKatabatic_1_1AutoSegments__Aligneds.html index 37733311..541254ad 100644 --- a/katabatic/doc/html/classKatabatic_1_1AutoSegments__Aligneds.html +++ b/katabatic/doc/html/classKatabatic_1_1AutoSegments__Aligneds.html @@ -205,7 +205,7 @@ Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1AutoSegments__AnchorOnGCell-members.html b/katabatic/doc/html/classKatabatic_1_1AutoSegments__AnchorOnGCell-members.html index 3e1345ca..159ace42 100644 --- a/katabatic/doc/html/classKatabatic_1_1AutoSegments__AnchorOnGCell-members.html +++ b/katabatic/doc/html/classKatabatic_1_1AutoSegments__AnchorOnGCell-members.html @@ -62,7 +62,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1AutoSegments__AnchorOnGCell.html b/katabatic/doc/html/classKatabatic_1_1AutoSegments__AnchorOnGCell.html index 5feaec28..c949c9a3 100644 --- a/katabatic/doc/html/classKatabatic_1_1AutoSegments__AnchorOnGCell.html +++ b/katabatic/doc/html/classKatabatic_1_1AutoSegments__AnchorOnGCell.html @@ -209,7 +209,7 @@ Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1AutoSegments__InDirection-members.html b/katabatic/doc/html/classKatabatic_1_1AutoSegments__InDirection-members.html index a6cd67f0..2a633a06 100644 --- a/katabatic/doc/html/classKatabatic_1_1AutoSegments__InDirection-members.html +++ b/katabatic/doc/html/classKatabatic_1_1AutoSegments__InDirection-members.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1AutoSegments__InDirection.html b/katabatic/doc/html/classKatabatic_1_1AutoSegments__InDirection.html index bd27170a..78b1986e 100644 --- a/katabatic/doc/html/classKatabatic_1_1AutoSegments__InDirection.html +++ b/katabatic/doc/html/classKatabatic_1_1AutoSegments__InDirection.html @@ -164,7 +164,7 @@ Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1AutoSegments__IsAccountable-members.html b/katabatic/doc/html/classKatabatic_1_1AutoSegments__IsAccountable-members.html index e805d2ee..54c77ec9 100644 --- a/katabatic/doc/html/classKatabatic_1_1AutoSegments__IsAccountable-members.html +++ b/katabatic/doc/html/classKatabatic_1_1AutoSegments__IsAccountable-members.html @@ -56,7 +56,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1AutoSegments__IsAccountable.html b/katabatic/doc/html/classKatabatic_1_1AutoSegments__IsAccountable.html index 058497f3..268cd72b 100644 --- a/katabatic/doc/html/classKatabatic_1_1AutoSegments__IsAccountable.html +++ b/katabatic/doc/html/classKatabatic_1_1AutoSegments__IsAccountable.html @@ -134,7 +134,7 @@ Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1AutoSegments__OnContact-members.html b/katabatic/doc/html/classKatabatic_1_1AutoSegments__OnContact-members.html index 26a68ff7..63746379 100644 --- a/katabatic/doc/html/classKatabatic_1_1AutoSegments__OnContact-members.html +++ b/katabatic/doc/html/classKatabatic_1_1AutoSegments__OnContact-members.html @@ -62,7 +62,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1AutoSegments__OnContact.html b/katabatic/doc/html/classKatabatic_1_1AutoSegments__OnContact.html index 17eb970d..b256c34e 100644 --- a/katabatic/doc/html/classKatabatic_1_1AutoSegments__OnContact.html +++ b/katabatic/doc/html/classKatabatic_1_1AutoSegments__OnContact.html @@ -215,7 +215,7 @@ Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1AutoSegments__Perpandiculars-members.html b/katabatic/doc/html/classKatabatic_1_1AutoSegments__Perpandiculars-members.html index 81a0d384..d7bfeb60 100644 --- a/katabatic/doc/html/classKatabatic_1_1AutoSegments__Perpandiculars-members.html +++ b/katabatic/doc/html/classKatabatic_1_1AutoSegments__Perpandiculars-members.html @@ -62,7 +62,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1AutoSegments__Perpandiculars.html b/katabatic/doc/html/classKatabatic_1_1AutoSegments__Perpandiculars.html index 0e8dc0ef..dc656150 100644 --- a/katabatic/doc/html/classKatabatic_1_1AutoSegments__Perpandiculars.html +++ b/katabatic/doc/html/classKatabatic_1_1AutoSegments__Perpandiculars.html @@ -195,7 +195,7 @@ Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1AutoVertical-members.html b/katabatic/doc/html/classKatabatic_1_1AutoVertical-members.html index 6ee2ab8c..945a6824 100644 --- a/katabatic/doc/html/classKatabatic_1_1AutoVertical-members.html +++ b/katabatic/doc/html/classKatabatic_1_1AutoVertical-members.html @@ -182,7 +182,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1AutoVertical.html b/katabatic/doc/html/classKatabatic_1_1AutoVertical.html index 4db35b8e..70869a83 100644 --- a/katabatic/doc/html/classKatabatic_1_1AutoVertical.html +++ b/katabatic/doc/html/classKatabatic_1_1AutoVertical.html @@ -1233,7 +1233,7 @@ moveULeft() for an Horizontal
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1BaseGrid-members.html b/katabatic/doc/html/classKatabatic_1_1BaseGrid-members.html index 53be9da5..8f218b1a 100644 --- a/katabatic/doc/html/classKatabatic_1_1BaseGrid-members.html +++ b/katabatic/doc/html/classKatabatic_1_1BaseGrid-members.html @@ -63,7 +63,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1BaseGrid.html b/katabatic/doc/html/classKatabatic_1_1BaseGrid.html index 2a0d9933..e7da9f24 100644 --- a/katabatic/doc/html/classKatabatic_1_1BaseGrid.html +++ b/katabatic/doc/html/classKatabatic_1_1BaseGrid.html @@ -439,7 +439,7 @@ Protected Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1BaseGrid_1_1Axis-members.html b/katabatic/doc/html/classKatabatic_1_1BaseGrid_1_1Axis-members.html index e31fbcea..94aa7d7f 100644 --- a/katabatic/doc/html/classKatabatic_1_1BaseGrid_1_1Axis-members.html +++ b/katabatic/doc/html/classKatabatic_1_1BaseGrid_1_1Axis-members.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1BaseGrid_1_1Axis.html b/katabatic/doc/html/classKatabatic_1_1BaseGrid_1_1Axis.html index 699f1856..8b255b29 100644 --- a/katabatic/doc/html/classKatabatic_1_1BaseGrid_1_1Axis.html +++ b/katabatic/doc/html/classKatabatic_1_1BaseGrid_1_1Axis.html @@ -212,7 +212,7 @@ Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1BaseObserver-members.html b/katabatic/doc/html/classKatabatic_1_1BaseObserver-members.html index 67814ef0..7d59c167 100644 --- a/katabatic/doc/html/classKatabatic_1_1BaseObserver-members.html +++ b/katabatic/doc/html/classKatabatic_1_1BaseObserver-members.html @@ -53,7 +53,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1BaseObserver.html b/katabatic/doc/html/classKatabatic_1_1BaseObserver.html index d02802fe..366d0680 100644 --- a/katabatic/doc/html/classKatabatic_1_1BaseObserver.html +++ b/katabatic/doc/html/classKatabatic_1_1BaseObserver.html @@ -107,7 +107,7 @@ Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1ChipTools-members.html b/katabatic/doc/html/classKatabatic_1_1ChipTools-members.html index 7457387b..b21f7cfd 100644 --- a/katabatic/doc/html/classKatabatic_1_1ChipTools-members.html +++ b/katabatic/doc/html/classKatabatic_1_1ChipTools-members.html @@ -64,7 +64,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1ChipTools.html b/katabatic/doc/html/classKatabatic_1_1ChipTools.html index 23ed6c43..e6a4230c 100644 --- a/katabatic/doc/html/classKatabatic_1_1ChipTools.html +++ b/katabatic/doc/html/classKatabatic_1_1ChipTools.html @@ -412,7 +412,7 @@ Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1GCell-members.html b/katabatic/doc/html/classKatabatic_1_1GCell-members.html index 45f6d6db..43b260d1 100644 --- a/katabatic/doc/html/classKatabatic_1_1GCell-members.html +++ b/katabatic/doc/html/classKatabatic_1_1GCell-members.html @@ -113,7 +113,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1GCell.html b/katabatic/doc/html/classKatabatic_1_1GCell.html index 29b22062..69373e7b 100644 --- a/katabatic/doc/html/classKatabatic_1_1GCell.html +++ b/katabatic/doc/html/classKatabatic_1_1GCell.html @@ -1914,7 +1914,7 @@ GCell Implantation
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1GCellDensitySet-members.html b/katabatic/doc/html/classKatabatic_1_1GCellDensitySet-members.html index 4a551445..63c3898e 100644 --- a/katabatic/doc/html/classKatabatic_1_1GCellDensitySet-members.html +++ b/katabatic/doc/html/classKatabatic_1_1GCellDensitySet-members.html @@ -62,7 +62,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1GCellDensitySet.html b/katabatic/doc/html/classKatabatic_1_1GCellDensitySet.html index 14c7820e..03801d69 100644 --- a/katabatic/doc/html/classKatabatic_1_1GCellDensitySet.html +++ b/katabatic/doc/html/classKatabatic_1_1GCellDensitySet.html @@ -341,7 +341,7 @@ Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1GCellGrid-members.html b/katabatic/doc/html/classKatabatic_1_1GCellGrid-members.html index c56db1c5..36fccaff 100644 --- a/katabatic/doc/html/classKatabatic_1_1GCellGrid-members.html +++ b/katabatic/doc/html/classKatabatic_1_1GCellGrid-members.html @@ -95,7 +95,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1GCellGrid.html b/katabatic/doc/html/classKatabatic_1_1GCellGrid.html index 78abe743..4c659066 100644 --- a/katabatic/doc/html/classKatabatic_1_1GCellGrid.html +++ b/katabatic/doc/html/classKatabatic_1_1GCellGrid.html @@ -550,7 +550,7 @@ Static Protected Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1GCell_1_1CompareByDensity-members.html b/katabatic/doc/html/classKatabatic_1_1GCell_1_1CompareByDensity-members.html index 5410401c..478aa970 100644 --- a/katabatic/doc/html/classKatabatic_1_1GCell_1_1CompareByDensity-members.html +++ b/katabatic/doc/html/classKatabatic_1_1GCell_1_1CompareByDensity-members.html @@ -53,7 +53,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1GCell_1_1CompareByDensity.html b/katabatic/doc/html/classKatabatic_1_1GCell_1_1CompareByDensity.html index b8095e6e..fb507bbc 100644 --- a/katabatic/doc/html/classKatabatic_1_1GCell_1_1CompareByDensity.html +++ b/katabatic/doc/html/classKatabatic_1_1GCell_1_1CompareByDensity.html @@ -91,7 +91,7 @@ Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1GCell_1_1CompareByIndex-members.html b/katabatic/doc/html/classKatabatic_1_1GCell_1_1CompareByIndex-members.html index b7405018..2eab1dfe 100644 --- a/katabatic/doc/html/classKatabatic_1_1GCell_1_1CompareByIndex-members.html +++ b/katabatic/doc/html/classKatabatic_1_1GCell_1_1CompareByIndex-members.html @@ -52,7 +52,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1GCell_1_1CompareByIndex.html b/katabatic/doc/html/classKatabatic_1_1GCell_1_1CompareByIndex.html index a1d8d021..f83d20fd 100644 --- a/katabatic/doc/html/classKatabatic_1_1GCell_1_1CompareByIndex.html +++ b/katabatic/doc/html/classKatabatic_1_1GCell_1_1CompareByIndex.html @@ -62,7 +62,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1GCell_1_1Key-members.html b/katabatic/doc/html/classKatabatic_1_1GCell_1_1Key-members.html index dde3790e..e3623b1e 100644 --- a/katabatic/doc/html/classKatabatic_1_1GCell_1_1Key-members.html +++ b/katabatic/doc/html/classKatabatic_1_1GCell_1_1Key-members.html @@ -56,7 +56,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1GCell_1_1Key.html b/katabatic/doc/html/classKatabatic_1_1GCell_1_1Key.html index 4eac2306..4ecac198 100644 --- a/katabatic/doc/html/classKatabatic_1_1GCell_1_1Key.html +++ b/katabatic/doc/html/classKatabatic_1_1GCell_1_1Key.html @@ -201,7 +201,7 @@ Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1Grid-members.html b/katabatic/doc/html/classKatabatic_1_1Grid-members.html index d00eccb8..297d270f 100644 --- a/katabatic/doc/html/classKatabatic_1_1Grid-members.html +++ b/katabatic/doc/html/classKatabatic_1_1Grid-members.html @@ -74,7 +74,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1Grid.html b/katabatic/doc/html/classKatabatic_1_1Grid.html index c8a96cd1..12998df1 100644 --- a/katabatic/doc/html/classKatabatic_1_1Grid.html +++ b/katabatic/doc/html/classKatabatic_1_1Grid.html @@ -481,7 +481,7 @@ class Katabatic::Grid< GCellT >
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1KatabaticEngine-members.html b/katabatic/doc/html/classKatabatic_1_1KatabaticEngine-members.html index 0a17b842..9d8de062 100644 --- a/katabatic/doc/html/classKatabatic_1_1KatabaticEngine-members.html +++ b/katabatic/doc/html/classKatabatic_1_1KatabaticEngine-members.html @@ -109,7 +109,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1KatabaticEngine.html b/katabatic/doc/html/classKatabatic_1_1KatabaticEngine.html index 53852775..20d43039 100644 --- a/katabatic/doc/html/classKatabatic_1_1KatabaticEngine.html +++ b/katabatic/doc/html/classKatabatic_1_1KatabaticEngine.html @@ -1424,7 +1424,7 @@ KatabaticEngine Implementation Details
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1LocatorHelper-members.html b/katabatic/doc/html/classKatabatic_1_1LocatorHelper-members.html index 3a2b46cb..6df8e267 100644 --- a/katabatic/doc/html/classKatabatic_1_1LocatorHelper-members.html +++ b/katabatic/doc/html/classKatabatic_1_1LocatorHelper-members.html @@ -56,7 +56,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1LocatorHelper.html b/katabatic/doc/html/classKatabatic_1_1LocatorHelper.html index d5cab962..d3dab13c 100644 --- a/katabatic/doc/html/classKatabatic_1_1LocatorHelper.html +++ b/katabatic/doc/html/classKatabatic_1_1LocatorHelper.html @@ -215,7 +215,7 @@ Implementation Details
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1Observable-members.html b/katabatic/doc/html/classKatabatic_1_1Observable-members.html index e46b753c..8877b9cc 100644 --- a/katabatic/doc/html/classKatabatic_1_1Observable-members.html +++ b/katabatic/doc/html/classKatabatic_1_1Observable-members.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1Observable.html b/katabatic/doc/html/classKatabatic_1_1Observable.html index 2f915f5d..eaa2544f 100644 --- a/katabatic/doc/html/classKatabatic_1_1Observable.html +++ b/katabatic/doc/html/classKatabatic_1_1Observable.html @@ -219,7 +219,7 @@ Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1Observer-members.html b/katabatic/doc/html/classKatabatic_1_1Observer-members.html index 031552fc..595eb050 100644 --- a/katabatic/doc/html/classKatabatic_1_1Observer-members.html +++ b/katabatic/doc/html/classKatabatic_1_1Observer-members.html @@ -55,7 +55,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1Observer.html b/katabatic/doc/html/classKatabatic_1_1Observer.html index 07e3a824..16a6a264 100644 --- a/katabatic/doc/html/classKatabatic_1_1Observer.html +++ b/katabatic/doc/html/classKatabatic_1_1Observer.html @@ -142,7 +142,7 @@ Observer Implementation Notes
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1Session-members.html b/katabatic/doc/html/classKatabatic_1_1Session-members.html index 9d4e02b5..ca07255a 100644 --- a/katabatic/doc/html/classKatabatic_1_1Session-members.html +++ b/katabatic/doc/html/classKatabatic_1_1Session-members.html @@ -86,7 +86,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classKatabatic_1_1Session.html b/katabatic/doc/html/classKatabatic_1_1Session.html index c9d1367c..8a092941 100644 --- a/katabatic/doc/html/classKatabatic_1_1Session.html +++ b/katabatic/doc/html/classKatabatic_1_1Session.html @@ -1149,7 +1149,7 @@ Revalidate AutoSegments. Just before this stage, they are on the correct axis an
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classanonymous__namespace_02LoadGrByNet_8cpp_03_1_1GCellTopology-members.html b/katabatic/doc/html/classanonymous__namespace_02LoadGrByNet_8cpp_03_1_1GCellTopology-members.html index c8dbdfae..79249ad1 100644 --- a/katabatic/doc/html/classanonymous__namespace_02LoadGrByNet_8cpp_03_1_1GCellTopology-members.html +++ b/katabatic/doc/html/classanonymous__namespace_02LoadGrByNet_8cpp_03_1_1GCellTopology-members.html @@ -66,7 +66,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classanonymous__namespace_02LoadGrByNet_8cpp_03_1_1GCellTopology.html b/katabatic/doc/html/classanonymous__namespace_02LoadGrByNet_8cpp_03_1_1GCellTopology.html index 2e8ee597..0e443c4a 100644 --- a/katabatic/doc/html/classanonymous__namespace_02LoadGrByNet_8cpp_03_1_1GCellTopology.html +++ b/katabatic/doc/html/classanonymous__namespace_02LoadGrByNet_8cpp_03_1_1GCellTopology.html @@ -97,7 +97,7 @@ Private Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/classes.html b/katabatic/doc/html/classes.html index 9001bdee..1bdecf8f 100644 --- a/katabatic/doc/html/classes.html +++ b/katabatic/doc/html/classes.html @@ -82,7 +82,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/dir_46a5d811a0c60e95b7acaa92d73c003a.html b/katabatic/doc/html/dir_46a5d811a0c60e95b7acaa92d73c003a.html index af357dda..579bac3e 100644 --- a/katabatic/doc/html/dir_46a5d811a0c60e95b7acaa92d73c003a.html +++ b/katabatic/doc/html/dir_46a5d811a0c60e95b7acaa92d73c003a.html @@ -49,7 +49,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/katabatic/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html index 8b8a6cda..b20491c7 100644 --- a/katabatic/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html +++ b/katabatic/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -53,7 +53,7 @@ Directories
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/files.html b/katabatic/doc/html/files.html index 05e6d9db..196692c2 100644 --- a/katabatic/doc/html/files.html +++ b/katabatic/doc/html/files.html @@ -67,7 +67,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions.html b/katabatic/doc/html/functions.html index 48817c11..0457d319 100644 --- a/katabatic/doc/html/functions.html +++ b/katabatic/doc/html/functions.html @@ -106,7 +106,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_0x7e.html b/katabatic/doc/html/functions_0x7e.html index 443a8e70..13292f32 100644 --- a/katabatic/doc/html/functions_0x7e.html +++ b/katabatic/doc/html/functions_0x7e.html @@ -51,7 +51,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_a.html b/katabatic/doc/html/functions_a.html index df28ddda..6d6374b7 100644 --- a/katabatic/doc/html/functions_a.html +++ b/katabatic/doc/html/functions_a.html @@ -94,7 +94,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_b.html b/katabatic/doc/html/functions_b.html index d8a10122..1b48b97e 100644 --- a/katabatic/doc/html/functions_b.html +++ b/katabatic/doc/html/functions_b.html @@ -54,7 +54,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_c.html b/katabatic/doc/html/functions_c.html index b286f1df..e4f3ef6b 100644 --- a/katabatic/doc/html/functions_c.html +++ b/katabatic/doc/html/functions_c.html @@ -130,7 +130,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_d.html b/katabatic/doc/html/functions_d.html index 4ed8d29a..017a6852 100644 --- a/katabatic/doc/html/functions_d.html +++ b/katabatic/doc/html/functions_d.html @@ -84,7 +84,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_e.html b/katabatic/doc/html/functions_e.html index 1f9d2fbc..9e147f07 100644 --- a/katabatic/doc/html/functions_e.html +++ b/katabatic/doc/html/functions_e.html @@ -51,7 +51,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_enum.html b/katabatic/doc/html/functions_enum.html index 649f4904..4e2599f3 100644 --- a/katabatic/doc/html/functions_enum.html +++ b/katabatic/doc/html/functions_enum.html @@ -46,7 +46,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_eval.html b/katabatic/doc/html/functions_eval.html index dc0b414d..d93153a9 100644 --- a/katabatic/doc/html/functions_eval.html +++ b/katabatic/doc/html/functions_eval.html @@ -64,7 +64,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_f.html b/katabatic/doc/html/functions_f.html index 61773e90..d735f6b2 100644 --- a/katabatic/doc/html/functions_f.html +++ b/katabatic/doc/html/functions_f.html @@ -48,7 +48,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_func.html b/katabatic/doc/html/functions_func.html index 22963ea7..b70098aa 100644 --- a/katabatic/doc/html/functions_func.html +++ b/katabatic/doc/html/functions_func.html @@ -106,7 +106,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_func_0x7e.html b/katabatic/doc/html/functions_func_0x7e.html index eb24aba7..2a3c5002 100644 --- a/katabatic/doc/html/functions_func_0x7e.html +++ b/katabatic/doc/html/functions_func_0x7e.html @@ -51,7 +51,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_func_a.html b/katabatic/doc/html/functions_func_a.html index 8c496336..b10793cf 100644 --- a/katabatic/doc/html/functions_func_a.html +++ b/katabatic/doc/html/functions_func_a.html @@ -85,7 +85,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_func_b.html b/katabatic/doc/html/functions_func_b.html index 6bb4cbe8..ea00635e 100644 --- a/katabatic/doc/html/functions_func_b.html +++ b/katabatic/doc/html/functions_func_b.html @@ -54,7 +54,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_func_c.html b/katabatic/doc/html/functions_func_c.html index 7122f601..a4761375 100644 --- a/katabatic/doc/html/functions_func_c.html +++ b/katabatic/doc/html/functions_func_c.html @@ -130,7 +130,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_func_d.html b/katabatic/doc/html/functions_func_d.html index 42d1cbd5..7e41a9e5 100644 --- a/katabatic/doc/html/functions_func_d.html +++ b/katabatic/doc/html/functions_func_d.html @@ -81,7 +81,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_func_e.html b/katabatic/doc/html/functions_func_e.html index fd5a374a..a2cfc6e9 100644 --- a/katabatic/doc/html/functions_func_e.html +++ b/katabatic/doc/html/functions_func_e.html @@ -51,7 +51,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_func_f.html b/katabatic/doc/html/functions_func_f.html index d80300e9..dd630fbd 100644 --- a/katabatic/doc/html/functions_func_f.html +++ b/katabatic/doc/html/functions_func_f.html @@ -48,7 +48,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_func_g.html b/katabatic/doc/html/functions_func_g.html index 15e9bd49..5c26f790 100644 --- a/katabatic/doc/html/functions_func_g.html +++ b/katabatic/doc/html/functions_func_g.html @@ -622,7 +622,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_func_h.html b/katabatic/doc/html/functions_func_h.html index 8c492566..13a8549c 100644 --- a/katabatic/doc/html/functions_func_h.html +++ b/katabatic/doc/html/functions_func_h.html @@ -51,7 +51,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_func_i.html b/katabatic/doc/html/functions_func_i.html index fce697dd..040ea626 100644 --- a/katabatic/doc/html/functions_func_i.html +++ b/katabatic/doc/html/functions_func_i.html @@ -169,7 +169,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_func_k.html b/katabatic/doc/html/functions_func_k.html index 9204f136..e22a48f8 100644 --- a/katabatic/doc/html/functions_func_k.html +++ b/katabatic/doc/html/functions_func_k.html @@ -48,7 +48,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_func_l.html b/katabatic/doc/html/functions_func_l.html index 1d08946f..ab0abe63 100644 --- a/katabatic/doc/html/functions_func_l.html +++ b/katabatic/doc/html/functions_func_l.html @@ -60,7 +60,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_func_m.html b/katabatic/doc/html/functions_func_m.html index 188ec562..e777d750 100644 --- a/katabatic/doc/html/functions_func_m.html +++ b/katabatic/doc/html/functions_func_m.html @@ -73,7 +73,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_func_n.html b/katabatic/doc/html/functions_func_n.html index c9a50982..fc04d9b4 100644 --- a/katabatic/doc/html/functions_func_n.html +++ b/katabatic/doc/html/functions_func_n.html @@ -49,7 +49,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_func_o.html b/katabatic/doc/html/functions_func_o.html index 0b573abe..9a54145e 100644 --- a/katabatic/doc/html/functions_func_o.html +++ b/katabatic/doc/html/functions_func_o.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_func_p.html b/katabatic/doc/html/functions_func_p.html index 7ade8259..7ec19f45 100644 --- a/katabatic/doc/html/functions_func_p.html +++ b/katabatic/doc/html/functions_func_p.html @@ -51,7 +51,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_func_r.html b/katabatic/doc/html/functions_func_r.html index 1bdaac10..a45e7af4 100644 --- a/katabatic/doc/html/functions_func_r.html +++ b/katabatic/doc/html/functions_func_r.html @@ -88,7 +88,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_func_s.html b/katabatic/doc/html/functions_func_s.html index 1cfdd387..0efd6181 100644 --- a/katabatic/doc/html/functions_func_s.html +++ b/katabatic/doc/html/functions_func_s.html @@ -165,7 +165,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_func_t.html b/katabatic/doc/html/functions_func_t.html index 2c7bb28e..15d06ffa 100644 --- a/katabatic/doc/html/functions_func_t.html +++ b/katabatic/doc/html/functions_func_t.html @@ -58,7 +58,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_func_u.html b/katabatic/doc/html/functions_func_u.html index 3902d226..3fe3f384 100644 --- a/katabatic/doc/html/functions_func_u.html +++ b/katabatic/doc/html/functions_func_u.html @@ -93,7 +93,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_func_x.html b/katabatic/doc/html/functions_func_x.html index 8253e5af..5a3fc0a7 100644 --- a/katabatic/doc/html/functions_func_x.html +++ b/katabatic/doc/html/functions_func_x.html @@ -48,7 +48,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_g.html b/katabatic/doc/html/functions_g.html index 68b8ac98..ed669254 100644 --- a/katabatic/doc/html/functions_g.html +++ b/katabatic/doc/html/functions_g.html @@ -622,7 +622,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_h.html b/katabatic/doc/html/functions_h.html index 644df725..07da9e83 100644 --- a/katabatic/doc/html/functions_h.html +++ b/katabatic/doc/html/functions_h.html @@ -51,7 +51,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_i.html b/katabatic/doc/html/functions_i.html index 90c06c7c..fd436220 100644 --- a/katabatic/doc/html/functions_i.html +++ b/katabatic/doc/html/functions_i.html @@ -169,7 +169,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_k.html b/katabatic/doc/html/functions_k.html index c3a8b6f4..168f9303 100644 --- a/katabatic/doc/html/functions_k.html +++ b/katabatic/doc/html/functions_k.html @@ -48,7 +48,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_l.html b/katabatic/doc/html/functions_l.html index 07a6c937..87b7d586 100644 --- a/katabatic/doc/html/functions_l.html +++ b/katabatic/doc/html/functions_l.html @@ -60,7 +60,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_m.html b/katabatic/doc/html/functions_m.html index 87446a4d..019e0cd9 100644 --- a/katabatic/doc/html/functions_m.html +++ b/katabatic/doc/html/functions_m.html @@ -85,7 +85,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_n.html b/katabatic/doc/html/functions_n.html index 2fcd2abc..e6399e58 100644 --- a/katabatic/doc/html/functions_n.html +++ b/katabatic/doc/html/functions_n.html @@ -52,7 +52,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_o.html b/katabatic/doc/html/functions_o.html index ee6cbb68..1a0b403c 100644 --- a/katabatic/doc/html/functions_o.html +++ b/katabatic/doc/html/functions_o.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_p.html b/katabatic/doc/html/functions_p.html index e3bcaec8..f8571d08 100644 --- a/katabatic/doc/html/functions_p.html +++ b/katabatic/doc/html/functions_p.html @@ -51,7 +51,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_r.html b/katabatic/doc/html/functions_r.html index 70a886d6..639024d4 100644 --- a/katabatic/doc/html/functions_r.html +++ b/katabatic/doc/html/functions_r.html @@ -88,7 +88,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_s.html b/katabatic/doc/html/functions_s.html index 31eb4f06..37e8afd4 100644 --- a/katabatic/doc/html/functions_s.html +++ b/katabatic/doc/html/functions_s.html @@ -168,7 +168,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_t.html b/katabatic/doc/html/functions_t.html index 4c5dad2f..b26deb84 100644 --- a/katabatic/doc/html/functions_t.html +++ b/katabatic/doc/html/functions_t.html @@ -58,7 +58,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_type.html b/katabatic/doc/html/functions_type.html index 569c8248..2e5bab15 100644 --- a/katabatic/doc/html/functions_type.html +++ b/katabatic/doc/html/functions_type.html @@ -49,7 +49,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_u.html b/katabatic/doc/html/functions_u.html index c0d4c13b..2a370164 100644 --- a/katabatic/doc/html/functions_u.html +++ b/katabatic/doc/html/functions_u.html @@ -93,7 +93,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/functions_x.html b/katabatic/doc/html/functions_x.html index 27a5e401..82fc5a0f 100644 --- a/katabatic/doc/html/functions_x.html +++ b/katabatic/doc/html/functions_x.html @@ -48,7 +48,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/graph_legend.html b/katabatic/doc/html/graph_legend.html index 442fe496..2711dd46 100644 --- a/katabatic/doc/html/graph_legend.html +++ b/katabatic/doc/html/graph_legend.html @@ -74,7 +74,7 @@ A yellow dashed arrow denotes a relation between a template instance and the tem
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/group__LoadGlobalRouting.html b/katabatic/doc/html/group__LoadGlobalRouting.html index 52c8f8e9..ee4d8653 100644 --- a/katabatic/doc/html/group__LoadGlobalRouting.html +++ b/katabatic/doc/html/group__LoadGlobalRouting.html @@ -547,7 +547,7 @@ doRp_StairCaseV()
  • One global: nonsensical because there also must be a terminal.
  • -Two aligned globals: in that case we do a straight wire whithout any AutoContact (handled by the source/target of the wire).
  • +Two aligned globals: in that case we do a straight wire without any AutoContact (handled by the source/target of the wire).
    _do_xG.png @@ -866,7 +866,7 @@ _do_xG_xM3()

    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/group__grpSynthHierarchy.html b/katabatic/doc/html/group__grpSynthHierarchy.html index 3c80bb1e..bf1b9649 100644 --- a/katabatic/doc/html/group__grpSynthHierarchy.html +++ b/katabatic/doc/html/group__grpSynthHierarchy.html @@ -114,7 +114,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/hierarchy.html b/katabatic/doc/html/hierarchy.html index 6a1565a4..54dc8928 100644 --- a/katabatic/doc/html/hierarchy.html +++ b/katabatic/doc/html/hierarchy.html @@ -85,7 +85,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/index.html b/katabatic/doc/html/index.html index 529b1b58..a8fea672 100644 --- a/katabatic/doc/html/index.html +++ b/katabatic/doc/html/index.html @@ -48,7 +48,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/modules.html b/katabatic/doc/html/modules.html index 102e4533..6a843621 100644 --- a/katabatic/doc/html/modules.html +++ b/katabatic/doc/html/modules.html @@ -55,7 +55,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/namespaceKatabatic.html b/katabatic/doc/html/namespaceKatabatic.html index 29f9d7dd..eac261f8 100644 --- a/katabatic/doc/html/namespaceKatabatic.html +++ b/katabatic/doc/html/namespaceKatabatic.html @@ -615,7 +615,7 @@ Enumerations
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/namespaceanonymous__namespace_02AutoSegment_8cpp_03.html b/katabatic/doc/html/namespaceanonymous__namespace_02AutoSegment_8cpp_03.html index d4cd9401..2973cacf 100644 --- a/katabatic/doc/html/namespaceanonymous__namespace_02AutoSegment_8cpp_03.html +++ b/katabatic/doc/html/namespaceanonymous__namespace_02AutoSegment_8cpp_03.html @@ -45,7 +45,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/namespaceanonymous__namespace_02ChipTools_8cpp_03.html b/katabatic/doc/html/namespaceanonymous__namespace_02ChipTools_8cpp_03.html index 287619af..7aaa62a3 100644 --- a/katabatic/doc/html/namespaceanonymous__namespace_02ChipTools_8cpp_03.html +++ b/katabatic/doc/html/namespaceanonymous__namespace_02ChipTools_8cpp_03.html @@ -45,7 +45,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/namespaceanonymous__namespace_02GCell_8cpp_03.html b/katabatic/doc/html/namespaceanonymous__namespace_02GCell_8cpp_03.html index abcd9989..9d730a9b 100644 --- a/katabatic/doc/html/namespaceanonymous__namespace_02GCell_8cpp_03.html +++ b/katabatic/doc/html/namespaceanonymous__namespace_02GCell_8cpp_03.html @@ -45,7 +45,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/namespaceanonymous__namespace_02KatabaticEngine_8cpp_03.html b/katabatic/doc/html/namespaceanonymous__namespace_02KatabaticEngine_8cpp_03.html index 6ad25357..afa017f2 100644 --- a/katabatic/doc/html/namespaceanonymous__namespace_02KatabaticEngine_8cpp_03.html +++ b/katabatic/doc/html/namespaceanonymous__namespace_02KatabaticEngine_8cpp_03.html @@ -45,7 +45,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/namespaceanonymous__namespace_02LoadGrByNet_8cpp_03.html b/katabatic/doc/html/namespaceanonymous__namespace_02LoadGrByNet_8cpp_03.html index 6a729d8d..9d0ce88e 100644 --- a/katabatic/doc/html/namespaceanonymous__namespace_02LoadGrByNet_8cpp_03.html +++ b/katabatic/doc/html/namespaceanonymous__namespace_02LoadGrByNet_8cpp_03.html @@ -83,7 +83,7 @@ Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/namespaceanonymous__namespace_02Session_8cpp_03.html b/katabatic/doc/html/namespaceanonymous__namespace_02Session_8cpp_03.html index a1b97e49..7f3620f8 100644 --- a/katabatic/doc/html/namespaceanonymous__namespace_02Session_8cpp_03.html +++ b/katabatic/doc/html/namespaceanonymous__namespace_02Session_8cpp_03.html @@ -45,7 +45,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/namespacemembers.html b/katabatic/doc/html/namespacemembers.html index fdf41fac..04f39fbf 100644 --- a/katabatic/doc/html/namespacemembers.html +++ b/katabatic/doc/html/namespacemembers.html @@ -333,7 +333,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/namespacemembers_enum.html b/katabatic/doc/html/namespacemembers_enum.html index c51c5912..1a3aaec3 100644 --- a/katabatic/doc/html/namespacemembers_enum.html +++ b/katabatic/doc/html/namespacemembers_enum.html @@ -58,7 +58,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/namespacemembers_eval.html b/katabatic/doc/html/namespacemembers_eval.html index 921174a6..516ceee3 100644 --- a/katabatic/doc/html/namespacemembers_eval.html +++ b/katabatic/doc/html/namespacemembers_eval.html @@ -269,7 +269,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/namespacemembers_func.html b/katabatic/doc/html/namespacemembers_func.html index 70d75358..2fdb543a 100644 --- a/katabatic/doc/html/namespacemembers_func.html +++ b/katabatic/doc/html/namespacemembers_func.html @@ -49,7 +49,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/namespacemembers_type.html b/katabatic/doc/html/namespacemembers_type.html index 76a5b4e9..7970defe 100644 --- a/katabatic/doc/html/namespacemembers_type.html +++ b/katabatic/doc/html/namespacemembers_type.html @@ -70,7 +70,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/html/namespaces.html b/katabatic/doc/html/namespaces.html index 3a412b88..e665bf28 100644 --- a/katabatic/doc/html/namespaces.html +++ b/katabatic/doc/html/namespaces.html @@ -56,7 +56,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/katabatic/doc/latex/group__LoadGlobalRouting.tex b/katabatic/doc/latex/group__LoadGlobalRouting.tex index e9ee43d5..c80bab5d 100644 --- a/katabatic/doc/latex/group__LoadGlobalRouting.tex +++ b/katabatic/doc/latex/group__LoadGlobalRouting.tex @@ -312,7 +312,7 @@ Construct the topology, when there is only global wires (no local terminals). Some topology are not handled because they must not be managed by this function\+: \begin{DoxyItemize} \item One global\+: nonsensical because there also must be a terminal. -\item Two aligned globals\+: in that case we do a straight wire whithout any Auto\+Contact (handled by the source/target of the wire). +\item Two aligned globals\+: in that case we do a straight wire without any Auto\+Contact (handled by the source/target of the wire). \end{DoxyItemize} diff --git a/katabatic/doc/latex/refman.tex b/katabatic/doc/latex/refman.tex index c3814d2c..9bab9114 100644 --- a/katabatic/doc/latex/refman.tex +++ b/katabatic/doc/latex/refman.tex @@ -34,7 +34,7 @@ \vspace*{1cm} {\large Generated by Doxygen 1.8.14}\\ \vspace*{0.5cm} - {\small Sun May 26 2019 17:26:55}\\ + {\small Mon Oct 28 2019 18:06:34}\\ \end{center} \end{titlepage} diff --git a/katana/python/katanaInit.py b/katana/python/katanaInit.py index dda64c8d..e9c60392 100644 --- a/katana/python/katanaInit.py +++ b/katana/python/katanaInit.py @@ -3,37 +3,27 @@ try: import sys import os.path + import helpers.io from helpers.io import ErrorMessage from helpers.io import WarningMessage import Viewer -except ImportError, e: - serror = str(e) - if serror.startswith('No module named'): - module = serror.split()[-1] - print '[ERROR] The <%s> python module or symbol cannot be loaded.' % module - print ' Please check the integrity of the package.' - if str(e).find('cannot open shared object file'): - library = serror.split(':')[0] - print '[ERROR] The <%s> shared library cannot be loaded.' % library - print ' Under RHEL 6, you must be under devtoolset-2.' - print ' (scl enable devtoolset-2 bash)' - sys.exit(1) except Exception, e: - print '[ERROR] A strange exception occurred while loading the basic Coriolis/Python' - print ' modules. Something may be wrong at Python/C API level.\n' - print ' %s' % e - sys.exit(2) + helpers.io.catch( e ) + sys.exit( 1 ) def katanaHook ( **kw ): katana = None if kw.has_key('katana'): - katana = kw['katana'] + katana = kw['katana'] else: - print ErrorMessage( 3, 'katanaHook(): Must be run from a KatanaEngine.' ) - return + print ErrorMessage( 3, 'katanaHook(): Must be run from a KatanaEngine.' ) + return - userInit = os.path.join( os.getcwd(), '.coriolis2/katana.py' ) - if (os.path.exists(userInit)): - execfile( userInit ) + try: + userInit = os.path.join( os.getcwd(), 'coriolis2/katana.py' ) + if (os.path.exists(userInit)): + execfile( userInit ) + except Exception, e: + helpers.io.catch( e ) return diff --git a/kite/doc/html/Constants_8h_source.html b/kite/doc/html/Constants_8h_source.html index 111a1e4c..092ad6f9 100644 --- a/kite/doc/html/Constants_8h_source.html +++ b/kite/doc/html/Constants_8h_source.html @@ -60,7 +60,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/DataNegociate_8h_source.html b/kite/doc/html/DataNegociate_8h_source.html index 83dd1242..f85a4585 100644 --- a/kite/doc/html/DataNegociate_8h_source.html +++ b/kite/doc/html/DataNegociate_8h_source.html @@ -96,7 +96,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/HorizontalTrack_8h_source.html b/kite/doc/html/HorizontalTrack_8h_source.html index 373f1aee..b36c8958 100644 --- a/kite/doc/html/HorizontalTrack_8h_source.html +++ b/kite/doc/html/HorizontalTrack_8h_source.html @@ -59,7 +59,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/KiteEngine_8h_source.html b/kite/doc/html/KiteEngine_8h_source.html index 39b5c429..1cbb59eb 100644 --- a/kite/doc/html/KiteEngine_8h_source.html +++ b/kite/doc/html/KiteEngine_8h_source.html @@ -79,7 +79,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/Manipulator_8h_source.html b/kite/doc/html/Manipulator_8h_source.html index e2908974..747578de 100644 --- a/kite/doc/html/Manipulator_8h_source.html +++ b/kite/doc/html/Manipulator_8h_source.html @@ -94,7 +94,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/NegociateWindow_8h_source.html b/kite/doc/html/NegociateWindow_8h_source.html index a8e92d6c..195bf181 100644 --- a/kite/doc/html/NegociateWindow_8h_source.html +++ b/kite/doc/html/NegociateWindow_8h_source.html @@ -83,7 +83,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/RoutingEventHistory_8h_source.html b/kite/doc/html/RoutingEventHistory_8h_source.html index 19522f01..ae9b7236 100644 --- a/kite/doc/html/RoutingEventHistory_8h_source.html +++ b/kite/doc/html/RoutingEventHistory_8h_source.html @@ -60,7 +60,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/RoutingEventLoop_8h_source.html b/kite/doc/html/RoutingEventLoop_8h_source.html index baf03885..d2746192 100644 --- a/kite/doc/html/RoutingEventLoop_8h_source.html +++ b/kite/doc/html/RoutingEventLoop_8h_source.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/RoutingEventQueue_8h_source.html b/kite/doc/html/RoutingEventQueue_8h_source.html index 960fc72c..69cbc872 100644 --- a/kite/doc/html/RoutingEventQueue_8h_source.html +++ b/kite/doc/html/RoutingEventQueue_8h_source.html @@ -66,7 +66,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/RoutingEvent_8h_source.html b/kite/doc/html/RoutingEvent_8h_source.html index 833205cb..81c940e7 100644 --- a/kite/doc/html/RoutingEvent_8h_source.html +++ b/kite/doc/html/RoutingEvent_8h_source.html @@ -110,7 +110,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/RoutingPlane_8h_source.html b/kite/doc/html/RoutingPlane_8h_source.html index 30b3c577..18b71f6e 100644 --- a/kite/doc/html/RoutingPlane_8h_source.html +++ b/kite/doc/html/RoutingPlane_8h_source.html @@ -82,7 +82,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/SegmentFsm_8h_source.html b/kite/doc/html/SegmentFsm_8h_source.html index d81f3265..ba4697ad 100644 --- a/kite/doc/html/SegmentFsm_8h_source.html +++ b/kite/doc/html/SegmentFsm_8h_source.html @@ -126,7 +126,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/Session_8h_source.html b/kite/doc/html/Session_8h_source.html index aaec75b7..3cf78ada 100644 --- a/kite/doc/html/Session_8h_source.html +++ b/kite/doc/html/Session_8h_source.html @@ -79,7 +79,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/TrackElement_8h_source.html b/kite/doc/html/TrackElement_8h_source.html index 67903141..8335e98e 100644 --- a/kite/doc/html/TrackElement_8h_source.html +++ b/kite/doc/html/TrackElement_8h_source.html @@ -132,7 +132,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/TrackFixedSegment_8h_source.html b/kite/doc/html/TrackFixedSegment_8h_source.html index 74075301..071c5261 100644 --- a/kite/doc/html/TrackFixedSegment_8h_source.html +++ b/kite/doc/html/TrackFixedSegment_8h_source.html @@ -73,7 +73,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/TrackMarker_8h_source.html b/kite/doc/html/TrackMarker_8h_source.html index 9e822ce4..115e55d5 100644 --- a/kite/doc/html/TrackMarker_8h_source.html +++ b/kite/doc/html/TrackMarker_8h_source.html @@ -65,7 +65,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/TrackSegment_8h_source.html b/kite/doc/html/TrackSegment_8h_source.html index 0908902a..304959e3 100644 --- a/kite/doc/html/TrackSegment_8h_source.html +++ b/kite/doc/html/TrackSegment_8h_source.html @@ -107,7 +107,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/Track_8h_source.html b/kite/doc/html/Track_8h_source.html index 2d2f03d7..5317851c 100644 --- a/kite/doc/html/Track_8h_source.html +++ b/kite/doc/html/Track_8h_source.html @@ -115,7 +115,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/VerticalTrack_8h_source.html b/kite/doc/html/VerticalTrack_8h_source.html index fd4bd207..2ce61b43 100644 --- a/kite/doc/html/VerticalTrack_8h_source.html +++ b/kite/doc/html/VerticalTrack_8h_source.html @@ -59,7 +59,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/annotated.html b/kite/doc/html/annotated.html index 412804d8..521ab171 100644 --- a/kite/doc/html/annotated.html +++ b/kite/doc/html/annotated.html @@ -71,7 +71,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1DataNegociate-members.html b/kite/doc/html/classKite_1_1DataNegociate-members.html index 7fa605d9..e588699f 100644 --- a/kite/doc/html/classKite_1_1DataNegociate-members.html +++ b/kite/doc/html/classKite_1_1DataNegociate-members.html @@ -86,7 +86,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1DataNegociate.html b/kite/doc/html/classKite_1_1DataNegociate.html index 70530858..aceffdda 100644 --- a/kite/doc/html/classKite_1_1DataNegociate.html +++ b/kite/doc/html/classKite_1_1DataNegociate.html @@ -814,7 +814,7 @@ Modifications History
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1HorizontalTrack-members.html b/kite/doc/html/classKite_1_1HorizontalTrack-members.html index 20b13204..c8a5ad2a 100644 --- a/kite/doc/html/classKite_1_1HorizontalTrack-members.html +++ b/kite/doc/html/classKite_1_1HorizontalTrack-members.html @@ -111,7 +111,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1HorizontalTrack.html b/kite/doc/html/classKite_1_1HorizontalTrack.html index 0ac98815..ab418c39 100644 --- a/kite/doc/html/classKite_1_1HorizontalTrack.html +++ b/kite/doc/html/classKite_1_1HorizontalTrack.html @@ -313,7 +313,7 @@ Additional Inherited Members
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1KiteEngine-members.html b/kite/doc/html/classKite_1_1KiteEngine-members.html index a25a7f48..ae207bb0 100644 --- a/kite/doc/html/classKite_1_1KiteEngine-members.html +++ b/kite/doc/html/classKite_1_1KiteEngine-members.html @@ -114,7 +114,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1KiteEngine.html b/kite/doc/html/classKite_1_1KiteEngine.html index c813aa9e..68da6f86 100644 --- a/kite/doc/html/classKite_1_1KiteEngine.html +++ b/kite/doc/html/classKite_1_1KiteEngine.html @@ -397,7 +397,7 @@ Static Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1Manipulator-members.html b/kite/doc/html/classKite_1_1Manipulator-members.html index 95ce7487..aefd6e9f 100644 --- a/kite/doc/html/classKite_1_1Manipulator-members.html +++ b/kite/doc/html/classKite_1_1Manipulator-members.html @@ -88,7 +88,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1Manipulator.html b/kite/doc/html/classKite_1_1Manipulator.html index b4ec3794..6bea69ba 100644 --- a/kite/doc/html/classKite_1_1Manipulator.html +++ b/kite/doc/html/classKite_1_1Manipulator.html @@ -768,7 +768,7 @@ One Dogleg (max)
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1NegociateWindow-members.html b/kite/doc/html/classKite_1_1NegociateWindow-members.html index f461c909..1f4f3271 100644 --- a/kite/doc/html/classKite_1_1NegociateWindow-members.html +++ b/kite/doc/html/classKite_1_1NegociateWindow-members.html @@ -74,7 +74,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1NegociateWindow.html b/kite/doc/html/classKite_1_1NegociateWindow.html index a73e434c..6bb3bf16 100644 --- a/kite/doc/html/classKite_1_1NegociateWindow.html +++ b/kite/doc/html/classKite_1_1NegociateWindow.html @@ -625,7 +625,7 @@ Static Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1RoutingEvent-members.html b/kite/doc/html/classKite_1_1RoutingEvent-members.html index 19d6d088..c6bf7560 100644 --- a/kite/doc/html/classKite_1_1RoutingEvent-members.html +++ b/kite/doc/html/classKite_1_1RoutingEvent-members.html @@ -97,7 +97,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1RoutingEvent.html b/kite/doc/html/classKite_1_1RoutingEvent.html index 29e296ef..f46378c5 100644 --- a/kite/doc/html/classKite_1_1RoutingEvent.html +++ b/kite/doc/html/classKite_1_1RoutingEvent.html @@ -1313,7 +1313,7 @@ Static Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1RoutingEventHistory-members.html b/kite/doc/html/classKite_1_1RoutingEventHistory-members.html index db1721a7..50cc2296 100644 --- a/kite/doc/html/classKite_1_1RoutingEventHistory-members.html +++ b/kite/doc/html/classKite_1_1RoutingEventHistory-members.html @@ -60,7 +60,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1RoutingEventHistory.html b/kite/doc/html/classKite_1_1RoutingEventHistory.html index d6e78a34..32ecd58f 100644 --- a/kite/doc/html/classKite_1_1RoutingEventHistory.html +++ b/kite/doc/html/classKite_1_1RoutingEventHistory.html @@ -259,7 +259,7 @@ Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1RoutingEventLoop-members.html b/kite/doc/html/classKite_1_1RoutingEventLoop-members.html index 21e422de..20aaf25a 100644 --- a/kite/doc/html/classKite_1_1RoutingEventLoop-members.html +++ b/kite/doc/html/classKite_1_1RoutingEventLoop-members.html @@ -58,7 +58,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1RoutingEventLoop.html b/kite/doc/html/classKite_1_1RoutingEventLoop.html index 3bf91c1c..4a7e0609 100644 --- a/kite/doc/html/classKite_1_1RoutingEventLoop.html +++ b/kite/doc/html/classKite_1_1RoutingEventLoop.html @@ -244,7 +244,7 @@ Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1RoutingEventQueue-members.html b/kite/doc/html/classKite_1_1RoutingEventQueue-members.html index f8d29b6b..6ada4472 100644 --- a/kite/doc/html/classKite_1_1RoutingEventQueue-members.html +++ b/kite/doc/html/classKite_1_1RoutingEventQueue-members.html @@ -65,7 +65,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1RoutingEventQueue.html b/kite/doc/html/classKite_1_1RoutingEventQueue.html index fa1b638d..9f3a777a 100644 --- a/kite/doc/html/classKite_1_1RoutingEventQueue.html +++ b/kite/doc/html/classKite_1_1RoutingEventQueue.html @@ -408,7 +408,7 @@ Implementation Details
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1RoutingEvent_1_1Key-members.html b/kite/doc/html/classKite_1_1RoutingEvent_1_1Key-members.html index 574552f3..966ad385 100644 --- a/kite/doc/html/classKite_1_1RoutingEvent_1_1Key-members.html +++ b/kite/doc/html/classKite_1_1RoutingEvent_1_1Key-members.html @@ -53,7 +53,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1RoutingEvent_1_1Key.html b/kite/doc/html/classKite_1_1RoutingEvent_1_1Key.html index 87caeb55..fb386be2 100644 --- a/kite/doc/html/classKite_1_1RoutingEvent_1_1Key.html +++ b/kite/doc/html/classKite_1_1RoutingEvent_1_1Key.html @@ -105,7 +105,7 @@ Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1RoutingPlane-members.html b/kite/doc/html/classKite_1_1RoutingPlane-members.html index 58d77fc7..e7c677d1 100644 --- a/kite/doc/html/classKite_1_1RoutingPlane-members.html +++ b/kite/doc/html/classKite_1_1RoutingPlane-members.html @@ -73,7 +73,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1RoutingPlane.html b/kite/doc/html/classKite_1_1RoutingPlane.html index fe6ef86b..877efc48 100644 --- a/kite/doc/html/classKite_1_1RoutingPlane.html +++ b/kite/doc/html/classKite_1_1RoutingPlane.html @@ -677,7 +677,7 @@ Fig 1: Horizontal RoutingPlane
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1SegmentAction-members.html b/kite/doc/html/classKite_1_1SegmentAction-members.html index 38d1d01d..a00fb55d 100644 --- a/kite/doc/html/classKite_1_1SegmentAction-members.html +++ b/kite/doc/html/classKite_1_1SegmentAction-members.html @@ -82,7 +82,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1SegmentAction.html b/kite/doc/html/classKite_1_1SegmentAction.html index 60b38526..9c9049c0 100644 --- a/kite/doc/html/classKite_1_1SegmentAction.html +++ b/kite/doc/html/classKite_1_1SegmentAction.html @@ -397,7 +397,7 @@ Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1SegmentFsm-members.html b/kite/doc/html/classKite_1_1SegmentFsm-members.html index b87f6c24..bc2a8cb2 100644 --- a/kite/doc/html/classKite_1_1SegmentFsm-members.html +++ b/kite/doc/html/classKite_1_1SegmentFsm-members.html @@ -88,7 +88,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1SegmentFsm.html b/kite/doc/html/classKite_1_1SegmentFsm.html index a374aa30..70996de6 100644 --- a/kite/doc/html/classKite_1_1SegmentFsm.html +++ b/kite/doc/html/classKite_1_1SegmentFsm.html @@ -926,7 +926,7 @@ Candidates Track Ordering
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1SegmentObserver-members.html b/kite/doc/html/classKite_1_1SegmentObserver-members.html index dfe9aff1..f3e3827a 100644 --- a/kite/doc/html/classKite_1_1SegmentObserver-members.html +++ b/kite/doc/html/classKite_1_1SegmentObserver-members.html @@ -55,7 +55,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1SegmentObserver.html b/kite/doc/html/classKite_1_1SegmentObserver.html index 21667e31..8739c7fa 100644 --- a/kite/doc/html/classKite_1_1SegmentObserver.html +++ b/kite/doc/html/classKite_1_1SegmentObserver.html @@ -109,7 +109,7 @@ Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1Session-members.html b/kite/doc/html/classKite_1_1Session-members.html index 1e0329eb..aa479a74 100644 --- a/kite/doc/html/classKite_1_1Session-members.html +++ b/kite/doc/html/classKite_1_1Session-members.html @@ -99,7 +99,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1Session.html b/kite/doc/html/classKite_1_1Session.html index 96cb10cd..23795645 100644 --- a/kite/doc/html/classKite_1_1Session.html +++ b/kite/doc/html/classKite_1_1Session.html @@ -666,7 +666,7 @@ The Lookup Mechanism
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1Track-members.html b/kite/doc/html/classKite_1_1Track-members.html index 88dc50c6..aa69631c 100644 --- a/kite/doc/html/classKite_1_1Track-members.html +++ b/kite/doc/html/classKite_1_1Track-members.html @@ -111,7 +111,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1Track.html b/kite/doc/html/classKite_1_1Track.html index b4517694..2febc316 100644 --- a/kite/doc/html/classKite_1_1Track.html +++ b/kite/doc/html/classKite_1_1Track.html @@ -1633,7 +1633,7 @@ Fig 3: Track::getBeginIndex()
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1TrackElement-members.html b/kite/doc/html/classKite_1_1TrackElement-members.html index 00026f2b..341723fc 100644 --- a/kite/doc/html/classKite_1_1TrackElement-members.html +++ b/kite/doc/html/classKite_1_1TrackElement-members.html @@ -118,7 +118,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1TrackElement.html b/kite/doc/html/classKite_1_1TrackElement.html index bc9e792d..6c2fde0a 100644 --- a/kite/doc/html/classKite_1_1TrackElement.html +++ b/kite/doc/html/classKite_1_1TrackElement.html @@ -2191,7 +2191,7 @@ TrackElement Abstract
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1TrackFixedSegment-members.html b/kite/doc/html/classKite_1_1TrackFixedSegment-members.html index 4e54c656..2ca167b0 100644 --- a/kite/doc/html/classKite_1_1TrackFixedSegment-members.html +++ b/kite/doc/html/classKite_1_1TrackFixedSegment-members.html @@ -119,7 +119,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1TrackFixedSegment.html b/kite/doc/html/classKite_1_1TrackFixedSegment.html index 31ce7d30..a5c948a6 100644 --- a/kite/doc/html/classKite_1_1TrackFixedSegment.html +++ b/kite/doc/html/classKite_1_1TrackFixedSegment.html @@ -572,7 +572,7 @@ Static Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1TrackMarker-members.html b/kite/doc/html/classKite_1_1TrackMarker-members.html index bb0e34c7..87e0931d 100644 --- a/kite/doc/html/classKite_1_1TrackMarker-members.html +++ b/kite/doc/html/classKite_1_1TrackMarker-members.html @@ -59,7 +59,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1TrackMarker.html b/kite/doc/html/classKite_1_1TrackMarker.html index f19f6e1c..f304681d 100644 --- a/kite/doc/html/classKite_1_1TrackMarker.html +++ b/kite/doc/html/classKite_1_1TrackMarker.html @@ -282,7 +282,7 @@ Static Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1TrackSegment-members.html b/kite/doc/html/classKite_1_1TrackSegment-members.html index 10b09155..5ee7bd5e 100644 --- a/kite/doc/html/classKite_1_1TrackSegment-members.html +++ b/kite/doc/html/classKite_1_1TrackSegment-members.html @@ -120,7 +120,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1TrackSegment.html b/kite/doc/html/classKite_1_1TrackSegment.html index 5a194cc5..449e2735 100644 --- a/kite/doc/html/classKite_1_1TrackSegment.html +++ b/kite/doc/html/classKite_1_1TrackSegment.html @@ -1691,7 +1691,7 @@ Global, Weak Global and Local Segments
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1VerticalTrack-members.html b/kite/doc/html/classKite_1_1VerticalTrack-members.html index 9956361a..b5d4e418 100644 --- a/kite/doc/html/classKite_1_1VerticalTrack-members.html +++ b/kite/doc/html/classKite_1_1VerticalTrack-members.html @@ -111,7 +111,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classKite_1_1VerticalTrack.html b/kite/doc/html/classKite_1_1VerticalTrack.html index 5259dc3f..a46e46dd 100644 --- a/kite/doc/html/classKite_1_1VerticalTrack.html +++ b/kite/doc/html/classKite_1_1VerticalTrack.html @@ -314,7 +314,7 @@ Additional Inherited Members
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/classes.html b/kite/doc/html/classes.html index ccafd9ef..e33d5711 100644 --- a/kite/doc/html/classes.html +++ b/kite/doc/html/classes.html @@ -79,7 +79,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/dir_2916ee297f5e79ec495d393dfe8ba769.html b/kite/doc/html/dir_2916ee297f5e79ec495d393dfe8ba769.html index 5579bee4..f4789579 100644 --- a/kite/doc/html/dir_2916ee297f5e79ec495d393dfe8ba769.html +++ b/kite/doc/html/dir_2916ee297f5e79ec495d393dfe8ba769.html @@ -49,7 +49,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/kite/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html index 28dafb4e..88573f9b 100644 --- a/kite/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html +++ b/kite/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -53,7 +53,7 @@ Directories
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/files.html b/kite/doc/html/files.html index 42fe61bc..2b2fce8f 100644 --- a/kite/doc/html/files.html +++ b/kite/doc/html/files.html @@ -68,7 +68,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions.html b/kite/doc/html/functions.html index b01c23dd..c2547c40 100644 --- a/kite/doc/html/functions.html +++ b/kite/doc/html/functions.html @@ -53,7 +53,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_0x7e.html b/kite/doc/html/functions_0x7e.html index 5d22b17f..5efd5338 100644 --- a/kite/doc/html/functions_0x7e.html +++ b/kite/doc/html/functions_0x7e.html @@ -51,7 +51,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_a.html b/kite/doc/html/functions_a.html index 8a2aeb3f..9ca9c890 100644 --- a/kite/doc/html/functions_a.html +++ b/kite/doc/html/functions_a.html @@ -84,7 +84,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_b.html b/kite/doc/html/functions_b.html index a62d0125..a9f9bc89 100644 --- a/kite/doc/html/functions_b.html +++ b/kite/doc/html/functions_b.html @@ -64,7 +64,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_c.html b/kite/doc/html/functions_c.html index 9d1a3e52..ce2e468a 100644 --- a/kite/doc/html/functions_c.html +++ b/kite/doc/html/functions_c.html @@ -104,7 +104,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_d.html b/kite/doc/html/functions_d.html index a22e1c8c..fcb5ebe0 100644 --- a/kite/doc/html/functions_d.html +++ b/kite/doc/html/functions_d.html @@ -74,7 +74,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_e.html b/kite/doc/html/functions_e.html index d9474075..7d18e2c2 100644 --- a/kite/doc/html/functions_e.html +++ b/kite/doc/html/functions_e.html @@ -91,7 +91,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_enum.html b/kite/doc/html/functions_enum.html index 228d1562..2becb825 100644 --- a/kite/doc/html/functions_enum.html +++ b/kite/doc/html/functions_enum.html @@ -64,7 +64,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_eval.html b/kite/doc/html/functions_eval.html index 653cdaf6..87d57d06 100644 --- a/kite/doc/html/functions_eval.html +++ b/kite/doc/html/functions_eval.html @@ -312,7 +312,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_f.html b/kite/doc/html/functions_f.html index 1db4202a..69830c1a 100644 --- a/kite/doc/html/functions_f.html +++ b/kite/doc/html/functions_f.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_func.html b/kite/doc/html/functions_func.html index c0bec01a..3a2d420b 100644 --- a/kite/doc/html/functions_func.html +++ b/kite/doc/html/functions_func.html @@ -53,7 +53,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_func_0x7e.html b/kite/doc/html/functions_func_0x7e.html index 5beb6bb0..e2e4ec9a 100644 --- a/kite/doc/html/functions_func_0x7e.html +++ b/kite/doc/html/functions_func_0x7e.html @@ -51,7 +51,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_func_a.html b/kite/doc/html/functions_func_a.html index b60df85d..e31e3009 100644 --- a/kite/doc/html/functions_func_a.html +++ b/kite/doc/html/functions_func_a.html @@ -66,7 +66,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_func_b.html b/kite/doc/html/functions_func_b.html index 10640bb5..d0d17c5d 100644 --- a/kite/doc/html/functions_func_b.html +++ b/kite/doc/html/functions_func_b.html @@ -49,7 +49,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_func_c.html b/kite/doc/html/functions_func_c.html index 16844e7d..7b0f8adc 100644 --- a/kite/doc/html/functions_func_c.html +++ b/kite/doc/html/functions_func_c.html @@ -98,7 +98,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_func_d.html b/kite/doc/html/functions_func_d.html index 95a7f1f2..f37bab4a 100644 --- a/kite/doc/html/functions_func_d.html +++ b/kite/doc/html/functions_func_d.html @@ -71,7 +71,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_func_e.html b/kite/doc/html/functions_func_e.html index 801be51b..c93c9a79 100644 --- a/kite/doc/html/functions_func_e.html +++ b/kite/doc/html/functions_func_e.html @@ -55,7 +55,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_func_f.html b/kite/doc/html/functions_func_f.html index 48489e46..2786fc51 100644 --- a/kite/doc/html/functions_func_f.html +++ b/kite/doc/html/functions_func_f.html @@ -54,7 +54,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_func_g.html b/kite/doc/html/functions_func_g.html index 3aba1972..797f771e 100644 --- a/kite/doc/html/functions_func_g.html +++ b/kite/doc/html/functions_func_g.html @@ -454,7 +454,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_func_h.html b/kite/doc/html/functions_func_h.html index 42abafd7..1af49641 100644 --- a/kite/doc/html/functions_func_h.html +++ b/kite/doc/html/functions_func_h.html @@ -54,7 +54,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_func_i.html b/kite/doc/html/functions_func_i.html index b9e68053..a89d7a31 100644 --- a/kite/doc/html/functions_func_i.html +++ b/kite/doc/html/functions_func_i.html @@ -171,7 +171,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_func_l.html b/kite/doc/html/functions_func_l.html index 657fb3f3..275dbe63 100644 --- a/kite/doc/html/functions_func_l.html +++ b/kite/doc/html/functions_func_l.html @@ -51,7 +51,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_func_m.html b/kite/doc/html/functions_func_m.html index 4d1377e1..d42bffb4 100644 --- a/kite/doc/html/functions_func_m.html +++ b/kite/doc/html/functions_func_m.html @@ -59,7 +59,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_func_n.html b/kite/doc/html/functions_func_n.html index 57d38a85..d3ce5f94 100644 --- a/kite/doc/html/functions_func_n.html +++ b/kite/doc/html/functions_func_n.html @@ -48,7 +48,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_func_o.html b/kite/doc/html/functions_func_o.html index 8e178ddd..6b5fdfcd 100644 --- a/kite/doc/html/functions_func_o.html +++ b/kite/doc/html/functions_func_o.html @@ -48,7 +48,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_func_p.html b/kite/doc/html/functions_func_p.html index 1b284910..0aa57602 100644 --- a/kite/doc/html/functions_func_p.html +++ b/kite/doc/html/functions_func_p.html @@ -64,7 +64,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_func_r.html b/kite/doc/html/functions_func_r.html index 61ab6ca5..9e84550f 100644 --- a/kite/doc/html/functions_func_r.html +++ b/kite/doc/html/functions_func_r.html @@ -104,7 +104,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_func_s.html b/kite/doc/html/functions_func_s.html index 6155fd99..8f14e835 100644 --- a/kite/doc/html/functions_func_s.html +++ b/kite/doc/html/functions_func_s.html @@ -136,7 +136,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_func_u.html b/kite/doc/html/functions_func_u.html index 9bebc94c..3f60c4d0 100644 --- a/kite/doc/html/functions_func_u.html +++ b/kite/doc/html/functions_func_u.html @@ -60,7 +60,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_g.html b/kite/doc/html/functions_g.html index 92054ae4..c9eb9c93 100644 --- a/kite/doc/html/functions_g.html +++ b/kite/doc/html/functions_g.html @@ -454,7 +454,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_h.html b/kite/doc/html/functions_h.html index 65efb642..384b886b 100644 --- a/kite/doc/html/functions_h.html +++ b/kite/doc/html/functions_h.html @@ -54,7 +54,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_i.html b/kite/doc/html/functions_i.html index 39ffb7e7..eabef45b 100644 --- a/kite/doc/html/functions_i.html +++ b/kite/doc/html/functions_i.html @@ -183,7 +183,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_l.html b/kite/doc/html/functions_l.html index 770017af..5304a4d3 100644 --- a/kite/doc/html/functions_l.html +++ b/kite/doc/html/functions_l.html @@ -57,7 +57,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_m.html b/kite/doc/html/functions_m.html index 4dbf9516..b5b8e3c2 100644 --- a/kite/doc/html/functions_m.html +++ b/kite/doc/html/functions_m.html @@ -75,7 +75,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_n.html b/kite/doc/html/functions_n.html index 88250f3e..04e47e48 100644 --- a/kite/doc/html/functions_n.html +++ b/kite/doc/html/functions_n.html @@ -66,7 +66,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_o.html b/kite/doc/html/functions_o.html index db4b1738..f3ee7689 100644 --- a/kite/doc/html/functions_o.html +++ b/kite/doc/html/functions_o.html @@ -65,7 +65,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_p.html b/kite/doc/html/functions_p.html index 0f487636..2a9478f6 100644 --- a/kite/doc/html/functions_p.html +++ b/kite/doc/html/functions_p.html @@ -79,7 +79,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_r.html b/kite/doc/html/functions_r.html index 8a2761af..bd75e07c 100644 --- a/kite/doc/html/functions_r.html +++ b/kite/doc/html/functions_r.html @@ -124,7 +124,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_s.html b/kite/doc/html/functions_s.html index 18f92561..d4810b4c 100644 --- a/kite/doc/html/functions_s.html +++ b/kite/doc/html/functions_s.html @@ -170,7 +170,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_t.html b/kite/doc/html/functions_t.html index 737fe072..56317020 100644 --- a/kite/doc/html/functions_t.html +++ b/kite/doc/html/functions_t.html @@ -58,7 +58,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_u.html b/kite/doc/html/functions_u.html index 05f077cc..19b44547 100644 --- a/kite/doc/html/functions_u.html +++ b/kite/doc/html/functions_u.html @@ -63,7 +63,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/functions_vars.html b/kite/doc/html/functions_vars.html index 3fa4609e..8b54b2c3 100644 --- a/kite/doc/html/functions_vars.html +++ b/kite/doc/html/functions_vars.html @@ -46,7 +46,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/graph_legend.html b/kite/doc/html/graph_legend.html index 0a609ac5..850e94ba 100644 --- a/kite/doc/html/graph_legend.html +++ b/kite/doc/html/graph_legend.html @@ -74,7 +74,7 @@ A yellow dashed arrow denotes a relation between a template instance and the tem
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/group__AlgorithmOverview.html b/kite/doc/html/group__AlgorithmOverview.html index f199722e..0a11142e 100644 --- a/kite/doc/html/group__AlgorithmOverview.html +++ b/kite/doc/html/group__AlgorithmOverview.html @@ -82,7 +82,7 @@ Compute the Tracks in which the - Generated by doxygen 1.8.14 on Sun May 26 2019 + Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page diff --git a/kite/doc/html/group__grpSynthHierarchy.html b/kite/doc/html/group__grpSynthHierarchy.html index f221697e..113d394f 100644 --- a/kite/doc/html/group__grpSynthHierarchy.html +++ b/kite/doc/html/group__grpSynthHierarchy.html @@ -108,7 +108,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/hierarchy.html b/kite/doc/html/hierarchy.html index 09c608b1..912a2772 100644 --- a/kite/doc/html/hierarchy.html +++ b/kite/doc/html/hierarchy.html @@ -76,7 +76,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/index.html b/kite/doc/html/index.html index 595a0dfe..cd49727b 100644 --- a/kite/doc/html/index.html +++ b/kite/doc/html/index.html @@ -55,7 +55,7 @@ The internal description which details how - Generated by doxygen 1.8.14 on Sun May 26 2019 + Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page diff --git a/kite/doc/html/modules.html b/kite/doc/html/modules.html index da40cb0d..7bb13fdf 100644 --- a/kite/doc/html/modules.html +++ b/kite/doc/html/modules.html @@ -56,7 +56,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/namespaceKite.html b/kite/doc/html/namespaceKite.html index 6b640699..2eee5fe6 100644 --- a/kite/doc/html/namespaceKite.html +++ b/kite/doc/html/namespaceKite.html @@ -199,7 +199,7 @@ Enumerations
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/namespaceanonymous__namespace_02AutoSegment_8cpp_03.html b/kite/doc/html/namespaceanonymous__namespace_02AutoSegment_8cpp_03.html index 40118d8e..3a384d45 100644 --- a/kite/doc/html/namespaceanonymous__namespace_02AutoSegment_8cpp_03.html +++ b/kite/doc/html/namespaceanonymous__namespace_02AutoSegment_8cpp_03.html @@ -45,7 +45,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/namespaceanonymous__namespace_02ChipTools_8cpp_03.html b/kite/doc/html/namespaceanonymous__namespace_02ChipTools_8cpp_03.html index d27bab09..ddbbda18 100644 --- a/kite/doc/html/namespaceanonymous__namespace_02ChipTools_8cpp_03.html +++ b/kite/doc/html/namespaceanonymous__namespace_02ChipTools_8cpp_03.html @@ -45,7 +45,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/namespaceanonymous__namespace_02GCell_8cpp_03.html b/kite/doc/html/namespaceanonymous__namespace_02GCell_8cpp_03.html index 37a3d22d..36e30a57 100644 --- a/kite/doc/html/namespaceanonymous__namespace_02GCell_8cpp_03.html +++ b/kite/doc/html/namespaceanonymous__namespace_02GCell_8cpp_03.html @@ -45,7 +45,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/namespaceanonymous__namespace_02KatabaticEngine_8cpp_03.html b/kite/doc/html/namespaceanonymous__namespace_02KatabaticEngine_8cpp_03.html index f525f933..5b377d9b 100644 --- a/kite/doc/html/namespaceanonymous__namespace_02KatabaticEngine_8cpp_03.html +++ b/kite/doc/html/namespaceanonymous__namespace_02KatabaticEngine_8cpp_03.html @@ -45,7 +45,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/namespaceanonymous__namespace_02LoadGrByNet_8cpp_03.html b/kite/doc/html/namespaceanonymous__namespace_02LoadGrByNet_8cpp_03.html index 6e828a89..18a294b9 100644 --- a/kite/doc/html/namespaceanonymous__namespace_02LoadGrByNet_8cpp_03.html +++ b/kite/doc/html/namespaceanonymous__namespace_02LoadGrByNet_8cpp_03.html @@ -53,7 +53,7 @@ Classes
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/namespaceanonymous__namespace_02Manipulator_8cpp_03.html b/kite/doc/html/namespaceanonymous__namespace_02Manipulator_8cpp_03.html index e1dea181..f927d317 100644 --- a/kite/doc/html/namespaceanonymous__namespace_02Manipulator_8cpp_03.html +++ b/kite/doc/html/namespaceanonymous__namespace_02Manipulator_8cpp_03.html @@ -45,7 +45,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/namespaceanonymous__namespace_02NegociateWindow_8cpp_03.html b/kite/doc/html/namespaceanonymous__namespace_02NegociateWindow_8cpp_03.html index 5a3584e1..b37fdd2c 100644 --- a/kite/doc/html/namespaceanonymous__namespace_02NegociateWindow_8cpp_03.html +++ b/kite/doc/html/namespaceanonymous__namespace_02NegociateWindow_8cpp_03.html @@ -45,7 +45,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/namespaceanonymous__namespace_02RoutingPlane_8cpp_03.html b/kite/doc/html/namespaceanonymous__namespace_02RoutingPlane_8cpp_03.html index 4d575e77..42e55a8f 100644 --- a/kite/doc/html/namespaceanonymous__namespace_02RoutingPlane_8cpp_03.html +++ b/kite/doc/html/namespaceanonymous__namespace_02RoutingPlane_8cpp_03.html @@ -45,7 +45,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/namespaceanonymous__namespace_02SegmentFsm_8cpp_03.html b/kite/doc/html/namespaceanonymous__namespace_02SegmentFsm_8cpp_03.html index d863136f..0ce9533e 100644 --- a/kite/doc/html/namespaceanonymous__namespace_02SegmentFsm_8cpp_03.html +++ b/kite/doc/html/namespaceanonymous__namespace_02SegmentFsm_8cpp_03.html @@ -45,7 +45,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/namespaceanonymous__namespace_02Session_8cpp_03.html b/kite/doc/html/namespaceanonymous__namespace_02Session_8cpp_03.html index 6e391024..66fc38b4 100644 --- a/kite/doc/html/namespaceanonymous__namespace_02Session_8cpp_03.html +++ b/kite/doc/html/namespaceanonymous__namespace_02Session_8cpp_03.html @@ -45,7 +45,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/namespaceanonymous__namespace_02TrackElement_8cpp_03.html b/kite/doc/html/namespaceanonymous__namespace_02TrackElement_8cpp_03.html index 4f8aee11..977bf4b2 100644 --- a/kite/doc/html/namespaceanonymous__namespace_02TrackElement_8cpp_03.html +++ b/kite/doc/html/namespaceanonymous__namespace_02TrackElement_8cpp_03.html @@ -45,7 +45,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/namespaceanonymous__namespace_02Track_8cpp_03.html b/kite/doc/html/namespaceanonymous__namespace_02Track_8cpp_03.html index bcda96ff..b43c0ab2 100644 --- a/kite/doc/html/namespaceanonymous__namespace_02Track_8cpp_03.html +++ b/kite/doc/html/namespaceanonymous__namespace_02Track_8cpp_03.html @@ -45,7 +45,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/namespacemembers.html b/kite/doc/html/namespacemembers.html index 3307e439..6f6dcbba 100644 --- a/kite/doc/html/namespacemembers.html +++ b/kite/doc/html/namespacemembers.html @@ -76,7 +76,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/namespacemembers_enum.html b/kite/doc/html/namespacemembers_enum.html index dab8e482..3b54e031 100644 --- a/kite/doc/html/namespacemembers_enum.html +++ b/kite/doc/html/namespacemembers_enum.html @@ -46,7 +46,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/namespacemembers_eval.html b/kite/doc/html/namespacemembers_eval.html index 8b36156a..ee9a648f 100644 --- a/kite/doc/html/namespacemembers_eval.html +++ b/kite/doc/html/namespacemembers_eval.html @@ -70,7 +70,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/namespacemembers_type.html b/kite/doc/html/namespacemembers_type.html index 87316e7f..aa92d9e9 100644 --- a/kite/doc/html/namespacemembers_type.html +++ b/kite/doc/html/namespacemembers_type.html @@ -46,7 +46,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/namespaces.html b/kite/doc/html/namespaces.html index f9084d13..7a78dedf 100644 --- a/kite/doc/html/namespaces.html +++ b/kite/doc/html/namespaces.html @@ -62,7 +62,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/pageNotes.html b/kite/doc/html/pageNotes.html index 5a609869..232f2189 100644 --- a/kite/doc/html/pageNotes.html +++ b/kite/doc/html/pageNotes.html @@ -150,7 +150,7 @@ Evaluation with Cadence NanoRoute
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/html/pages.html b/kite/doc/html/pages.html index c69b4308..97e5c18d 100644 --- a/kite/doc/html/pages.html +++ b/kite/doc/html/pages.html @@ -50,7 +50,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/kite/doc/latex/refman.tex b/kite/doc/latex/refman.tex index fdf8da70..ac7f560a 100644 --- a/kite/doc/latex/refman.tex +++ b/kite/doc/latex/refman.tex @@ -34,7 +34,7 @@ \vspace*{1cm} {\large Generated by Doxygen 1.8.14}\\ \vspace*{0.5cm} - {\small Sun May 26 2019 17:26:56}\\ + {\small Mon Oct 28 2019 18:06:35}\\ \end{center} \end{titlepage} diff --git a/oroshi/doc/html/annotated.html b/oroshi/doc/html/annotated.html index 058b21b4..62a60ffc 100644 --- a/oroshi/doc/html/annotated.html +++ b/oroshi/doc/html/annotated.html @@ -52,7 +52,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/oroshi/doc/html/classes.html b/oroshi/doc/html/classes.html index 5879aacc..7711e52d 100644 --- a/oroshi/doc/html/classes.html +++ b/oroshi/doc/html/classes.html @@ -54,7 +54,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/oroshi/doc/html/classpython_1_1Stack_1_1Stack-members.html b/oroshi/doc/html/classpython_1_1Stack_1_1Stack-members.html index 36978c15..aa5a1b1e 100644 --- a/oroshi/doc/html/classpython_1_1Stack_1_1Stack-members.html +++ b/oroshi/doc/html/classpython_1_1Stack_1_1Stack-members.html @@ -56,7 +56,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/oroshi/doc/html/classpython_1_1Stack_1_1Stack.html b/oroshi/doc/html/classpython_1_1Stack_1_1Stack.html index 30c575fe..c17e8d33 100644 --- a/oroshi/doc/html/classpython_1_1Stack_1_1Stack.html +++ b/oroshi/doc/html/classpython_1_1Stack_1_1Stack.html @@ -314,7 +314,7 @@ Stack Implementation Details
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/oroshi/doc/html/dir_7837fde3ab9c1fb2fc5be7b717af8d79.html b/oroshi/doc/html/dir_7837fde3ab9c1fb2fc5be7b717af8d79.html index 7b1f833b..34810ed0 100644 --- a/oroshi/doc/html/dir_7837fde3ab9c1fb2fc5be7b717af8d79.html +++ b/oroshi/doc/html/dir_7837fde3ab9c1fb2fc5be7b717af8d79.html @@ -49,7 +49,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/oroshi/doc/html/functions.html b/oroshi/doc/html/functions.html index 1a084ae0..c3262f3f 100644 --- a/oroshi/doc/html/functions.html +++ b/oroshi/doc/html/functions.html @@ -55,7 +55,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/oroshi/doc/html/functions_func.html b/oroshi/doc/html/functions_func.html index 32a95380..5d68c1f8 100644 --- a/oroshi/doc/html/functions_func.html +++ b/oroshi/doc/html/functions_func.html @@ -55,7 +55,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/oroshi/doc/html/graph_legend.html b/oroshi/doc/html/graph_legend.html index d520fb9d..44ce352a 100644 --- a/oroshi/doc/html/graph_legend.html +++ b/oroshi/doc/html/graph_legend.html @@ -74,7 +74,7 @@ A yellow dashed arrow denotes a relation between a template instance and the tem
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/oroshi/doc/html/index.html b/oroshi/doc/html/index.html index 932476b3..3a6d9ad0 100644 --- a/oroshi/doc/html/index.html +++ b/oroshi/doc/html/index.html @@ -45,7 +45,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/oroshi/doc/latex/refman.tex b/oroshi/doc/latex/refman.tex index 26c5a827..513d706e 100644 --- a/oroshi/doc/latex/refman.tex +++ b/oroshi/doc/latex/refman.tex @@ -34,7 +34,7 @@ \vspace*{1cm} {\large Generated by Doxygen 1.8.14}\\ \vspace*{0.5cm} - {\small Sun May 26 2019 17:26:58}\\ + {\small Mon Oct 28 2019 18:06:36}\\ \end{center} \end{titlepage} diff --git a/oroshi/python/WIP_Transistor.py b/oroshi/python/WIP_Transistor.py index 05a424a2..d1600b42 100644 --- a/oroshi/python/WIP_Transistor.py +++ b/oroshi/python/WIP_Transistor.py @@ -5,6 +5,7 @@ from Hurricane import UpdateSession from Hurricane import DbU from Hurricane import Box import helpers +import helpers.io from helpers import trace helpers.staticInitialization( quiet=True ) @@ -38,41 +39,48 @@ def checkCoherency ( device, bbMode ): def layout ( device, bbMode ): trace( 100, ',+', '\tWIP_Transistor.layout() called.\n' ) - nerc = device.getParameter( 'NERC' ).getValue() - nirc = device.getParameter( 'NIRC' ).getValue() - - stack = Stack.Stack( device, nerc, nirc ) - - bw = str(device.getParameter( 'B.w' ).getValue()) - dw = str(device.getParameter( 'D.w' ).getValue()) - gw = str(device.getParameter( 'G.w' ).getValue()) - sw = str(device.getParameter( 'S.w' ).getValue()) - - diffMap = { 'D':'D', 'S':'S', 'Dw':dw, 'Sw':sw, 'Gw':gw, 'Bw':bw } - if device.isSourceFirst(): - trace( 100, '\tUse sourceFirst.\n' ) - diffMap = { 'D':'S', 'S':'D', 'Dw':sw, 'Sw':dw, 'Gw':gw, 'Bw':bw } - - wirings = '{D}.b0.{Dw} G.t0.{Gw} {S}.b1.{Sw}' - for i in range(device.getM() - 1): - if i%2: wirings += ' G.t0.{Gw} {S}.b1.{Sw}' - else: wirings += ' G.t0.{Gw} {D}.b0.{Dw}' - for i in range(device.getExternalDummy()): - wirings = 'B.bX.{Bw} B.bX.{Bw} ' + wirings - wirings += ' B.bX.{Bw} B.bX.{Bw}' - - stack.setWirings( wirings.format( **diffMap ) ) - stack.doLayout ( bbMode ) paramsMatrix = ParamsMatrix.ParamsMatrix() - paramsMatrix.setGlobalParams( oroshi.toUnity(stack.w) - , oroshi.toUnity(stack.L) - , device.getM() - , stack.boundingBox - ) - paramsMatrix.setStacks( [ stack ] ) - trace( 100, '++' ) - paramsMatrix.trace() + + try: + nerc = device.getParameter( 'NERC' ).getValue() + nirc = device.getParameter( 'NIRC' ).getValue() + + stack = Stack.Stack( device, nerc, nirc ) + + bw = str(device.getParameter( 'B.w' ).getValue()) + dw = str(device.getParameter( 'D.w' ).getValue()) + gw = str(device.getParameter( 'G.w' ).getValue()) + sw = str(device.getParameter( 'S.w' ).getValue()) + + diffMap = { 'D':'D', 'S':'S', 'Dw':dw, 'Sw':sw, 'Gw':gw, 'Bw':bw } + if device.isSourceFirst(): + trace( 100, '\tUse sourceFirst.\n' ) + diffMap = { 'D':'S', 'S':'D', 'Dw':sw, 'Sw':dw, 'Gw':gw, 'Bw':bw } + + wirings = '{D}.b0.{Dw} G.t0.{Gw} {S}.b1.{Sw}' + for i in range(device.getM() - 1): + if i%2: wirings += ' G.t0.{Gw} {S}.b1.{Sw}' + else: wirings += ' G.t0.{Gw} {D}.b0.{Dw}' + for i in range(device.getExternalDummy()): + wirings = 'B.bX.{Bw} B.bX.{Bw} ' + wirings + wirings += ' B.bX.{Bw} B.bX.{Bw}' + + stack.setWirings( wirings.format( **diffMap ) ) + stack.doLayout ( bbMode ) + + paramsMatrix.setGlobalParams( oroshi.toUnity(stack.w) + , oroshi.toUnity(stack.L) + , device.getM() + , stack.boundingBox + ) + paramsMatrix.setStacks( [ stack ] ) + trace( 100, '++' ) + paramsMatrix.trace() + + except Exception, e: + helpers.io.catch( e ) + trace( 100, '---' ) return paramsMatrix.getMatrix() diff --git a/stratus1/src/dpgen/dpgen_ADSB2F.py b/stratus1/src/dpgen/dpgen_ADSB2F.py index 2a061fb2..7beed9c4 100644 --- a/stratus1/src/dpgen/dpgen_ADSB2F.py +++ b/stratus1/src/dpgen/dpgen_ADSB2F.py @@ -231,7 +231,7 @@ class DpgenAdsb2f ( Model ) : PlaceTop ( self.Xorb[i], sym ) # Ligne des PIGI - if self._nbit > 1 : Place ( self.Pigi[1], SYM_Y, XY ( 45, 50 ) ) + if self._nbit > 1 : Place ( self.Pigi[1], SYM_Y, XY ( DbU.fromLambda(45), DbU.fromLambda(50) ) ) for i in range ( 2, self._nbit ) : if i % 2 == 0 : sym = NOSYM @@ -249,8 +249,8 @@ class DpgenAdsb2f ( Model ) : if pi % 2 == 0 : sym = NOSYM else : sym = SYM_Y - Place ( self.PgI1[n][i], sym, XY ( 125 + 55 * twostage, pi * 50 ) ) - Place ( self.PgI2[n][i], sym, XY ( 150 + 55 * twostage, pi * 50 ) ) + Place ( self.PgI1[n][i], sym, XY ( DbU.fromLambda(125 + 55 * twostage), DbU.fromLambda(pi * 50) ) ) + Place ( self.PgI2[n][i], sym, XY ( DbU.fromLambda(150 + 55 * twostage), DbU.fromLambda(pi * 50) ) ) pi -= 1 @@ -258,8 +258,8 @@ class DpgenAdsb2f ( Model ) : if pi % 2 == 0 : sym = NOSYM else : sym = SYM_Y - Place ( self.PgI1[n+1][i], sym, XY ( 125 + 55 * twostage, pi * 50 ) ) - Place ( self.PgI2[n+1][i], sym, XY ( 150 + 55 * twostage, pi * 50 ) ) + Place ( self.PgI1[n+1][i], sym, XY ( DbU.fromLambda(125 + 55 * twostage), DbU.fromLambda(pi * 50) ) ) + Place ( self.PgI2[n+1][i], sym, XY ( DbU.fromLambda(150 + 55 * twostage), DbU.fromLambda(pi * 50) ) ) pi -= 1 @@ -270,11 +270,11 @@ class DpgenAdsb2f ( Model ) : for n in range ( 2, self._nbit + 1 ) : if ( n - 1 ) % 2 == 0 : sym = NOSYM else : sym = SYM_Y - Place ( self.R[n], sym, XY ( 125 + 55 * twostage, ( n - 1 ) * 50 ) ) + Place ( self.R[n], sym, XY ( DbU.fromLambda(125 + 55 * twostage), DbU.fromLambda( (n-1) * 50 ) ) ) # Calcul des sommes - if self._nbit > 1 : Place ( self.S[1], NOSYM, XY ( 155 + 55 * twostage, 0 ) ) + if self._nbit > 1 : Place ( self.S[1], NOSYM, XY ( DbU.fromLambda(155 + 55 * twostage), 0 ) ) for i in range ( 2, self._nbit ) : if ( i - 1 ) % 2 == 0 : sym = NOSYM @@ -283,7 +283,7 @@ class DpgenAdsb2f ( Model ) : # Calcul somme et retenue du LSB - Place ( self.S[0], NOSYM, XY ( 45, 0 ) ) + Place ( self.S[0], NOSYM, XY ( DbU.fromLambda(45), 0 ) ) ########## VHDL ########## diff --git a/stratus1/src/stratus/st_instance.py b/stratus1/src/stratus/st_instance.py index d4aa69ad..2c49236a 100644 --- a/stratus1/src/stratus/st_instance.py +++ b/stratus1/src/stratus/st_instance.py @@ -195,7 +195,7 @@ class Inst : self._hur_masterCell = FRAMEWORK.getCell ( model, CRL.Catalog.State.Views ) if not self._hur_masterCell : - err = "\n[Stratus ERROR] HurricanePlug : Problem of master cell " + model + ".\nCheck model name and/or .environment.alliance.xml configuration file.\n" + err = '[ERROR] stratus.create_hur_inst(): Framework unable to load master cell "%s".' % model raise Exception ( err ) if not self._st_masterCell : @@ -311,14 +311,14 @@ class Inst : else : hurNet = realNet._hur_net[i] - if mapNet._arity == 1: - tempNet = self._hur_masterCell.getNet ( pin.lower() ) - else: - tempNet = self._hur_masterCell.getNet ( pin.lower() + "(" + str(j+lsb) + ")" ) + if mapNet._arity == 1: hurNetName = pin.lower() + else: hurNetName = pin.lower() + "(" + str(j+lsb) + ")" j += 1 + + tempNet = self._hur_masterCell.getNet ( hurNetName ) if not ( tempNet ) : - err = "\n[Stratus ERROR] Inst : Problem in map. Check that the arities of your nets are correct.\n" + err = '[ERROR] stratus.Inst(): Problem in map. Check that the arities of your nets are correct ("%s").' % hurNetName raise Exception ( err ) plug = self._hur_instance.getPlug ( tempNet ) diff --git a/stratus1/src/stratus/st_model.py b/stratus1/src/stratus/st_model.py index 8776c965..7a47b704 100644 --- a/stratus1/src/stratus/st_model.py +++ b/stratus1/src/stratus/st_model.py @@ -453,7 +453,7 @@ class Model() : hurCell = self._hur_cell if str ( hurCell.getName() ) != "__Scratch__" : - FRAMEWORK.saveCell ( hurCell, views|CRL.Catalog.State.Logical ) + FRAMEWORK.saveCell ( hurCell, views|CRL.Catalog.State.Logical|CRL.Catalog.State.VstUseConcat ) if len ( CELLS ) == 0 : err = "\n[Stratus ERROR] Save : CELLS stack is empty.\n" diff --git a/stratus1/src/stratus/st_net.py b/stratus1/src/stratus/st_net.py index d5630787..1514657c 100644 --- a/stratus1/src/stratus/st_net.py +++ b/stratus1/src/stratus/st_net.py @@ -951,9 +951,9 @@ class net : elif self._direct == "UNKNOWN" : net.setDirection ( Net.Direction.UNDEFINED ) if '_h_type' in self.__dict__ : - if self._h_type == "POWER" : net.setType ( Net.Type.POWER ) - elif self._h_type == "GROUND" : net.setType ( Net.Type.GROUND ) - elif self._h_type == "CLOCK" : net.setType ( Net.Type.CLOCK ) + if self._h_type == "POWER" : net.setType ( Net.Type.POWER ); net.setGlobal( True ) + elif self._h_type == "GROUND" : net.setType ( Net.Type.GROUND ); net.setGlobal( True ) + elif self._h_type == "CLOCK" : net.setType ( Net.Type.CLOCK ); net.setGlobal( True ) self._hur_net += [net] diff --git a/stratus1/src/stratus/st_ref.py b/stratus1/src/stratus/st_ref.py index 016e1751..84b337c5 100644 --- a/stratus1/src/stratus/st_ref.py +++ b/stratus1/src/stratus/st_ref.py @@ -48,19 +48,16 @@ -from Hurricane import * - -from util_Place import * - -from ref import * - +from Hurricane import * +from util_Place import * +from ref import * import types ########### class XY : def __init__ ( self, x, y ) : - self._x = DbU.fromLambda(x) - self._y = DbU.fromLambda(y) + self._x = x + self._y = y ################################## def GetRefXY ( pathname, refname ) : diff --git a/unicorn/doc/unicorn/html/UnicornGui_8h_source.html b/unicorn/doc/unicorn/html/UnicornGui_8h_source.html index faac3f18..cc169750 100644 --- a/unicorn/doc/unicorn/html/UnicornGui_8h_source.html +++ b/unicorn/doc/unicorn/html/UnicornGui_8h_source.html @@ -61,7 +61,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/unicorn/doc/unicorn/html/annotated.html b/unicorn/doc/unicorn/html/annotated.html index ff431be0..55b91004 100644 --- a/unicorn/doc/unicorn/html/annotated.html +++ b/unicorn/doc/unicorn/html/annotated.html @@ -51,7 +51,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/unicorn/doc/unicorn/html/classUnicorn_1_1UnicornGui-members.html b/unicorn/doc/unicorn/html/classUnicorn_1_1UnicornGui-members.html index 41bf1a45..312936a0 100644 --- a/unicorn/doc/unicorn/html/classUnicorn_1_1UnicornGui-members.html +++ b/unicorn/doc/unicorn/html/classUnicorn_1_1UnicornGui-members.html @@ -73,7 +73,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/unicorn/doc/unicorn/html/classUnicorn_1_1UnicornGui.html b/unicorn/doc/unicorn/html/classUnicorn_1_1UnicornGui.html index 34c22e30..50a531bc 100644 --- a/unicorn/doc/unicorn/html/classUnicorn_1_1UnicornGui.html +++ b/unicorn/doc/unicorn/html/classUnicorn_1_1UnicornGui.html @@ -202,7 +202,7 @@ Static Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/unicorn/doc/unicorn/html/classes.html b/unicorn/doc/unicorn/html/classes.html index 8f439e0b..97347a4e 100644 --- a/unicorn/doc/unicorn/html/classes.html +++ b/unicorn/doc/unicorn/html/classes.html @@ -54,7 +54,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/unicorn/doc/unicorn/html/dir_4aa09a10ca668c28f3c8e57fb374580b.html b/unicorn/doc/unicorn/html/dir_4aa09a10ca668c28f3c8e57fb374580b.html index 69ab008e..d8fbb0c5 100644 --- a/unicorn/doc/unicorn/html/dir_4aa09a10ca668c28f3c8e57fb374580b.html +++ b/unicorn/doc/unicorn/html/dir_4aa09a10ca668c28f3c8e57fb374580b.html @@ -49,7 +49,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/unicorn/doc/unicorn/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/unicorn/doc/unicorn/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html index a69ded68..ffcfb647 100644 --- a/unicorn/doc/unicorn/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html +++ b/unicorn/doc/unicorn/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -53,7 +53,7 @@ Directories
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/unicorn/doc/unicorn/html/files.html b/unicorn/doc/unicorn/html/files.html index be8e2567..d73327f8 100644 --- a/unicorn/doc/unicorn/html/files.html +++ b/unicorn/doc/unicorn/html/files.html @@ -50,7 +50,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/unicorn/doc/unicorn/html/functions.html b/unicorn/doc/unicorn/html/functions.html index 0f762968..d62693e1 100644 --- a/unicorn/doc/unicorn/html/functions.html +++ b/unicorn/doc/unicorn/html/functions.html @@ -58,7 +58,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/unicorn/doc/unicorn/html/functions_func.html b/unicorn/doc/unicorn/html/functions_func.html index d0044ca8..573b2fba 100644 --- a/unicorn/doc/unicorn/html/functions_func.html +++ b/unicorn/doc/unicorn/html/functions_func.html @@ -58,7 +58,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/unicorn/doc/unicorn/html/hierarchy.html b/unicorn/doc/unicorn/html/hierarchy.html index c823e979..c2aa55fb 100644 --- a/unicorn/doc/unicorn/html/hierarchy.html +++ b/unicorn/doc/unicorn/html/hierarchy.html @@ -51,7 +51,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/unicorn/doc/unicorn/html/index.html b/unicorn/doc/unicorn/html/index.html index 250ce5a7..2b8517bf 100644 --- a/unicorn/doc/unicorn/html/index.html +++ b/unicorn/doc/unicorn/html/index.html @@ -45,7 +45,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/unicorn/doc/unicorn/html/namespaceUnicorn.html b/unicorn/doc/unicorn/html/namespaceUnicorn.html index e14b0eef..1f1743ef 100644 --- a/unicorn/doc/unicorn/html/namespaceUnicorn.html +++ b/unicorn/doc/unicorn/html/namespaceUnicorn.html @@ -59,7 +59,7 @@ Classes
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/unicorn/doc/unicorn/html/namespaces.html b/unicorn/doc/unicorn/html/namespaces.html index 502f345c..fa44e1d8 100644 --- a/unicorn/doc/unicorn/html/namespaces.html +++ b/unicorn/doc/unicorn/html/namespaces.html @@ -50,7 +50,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/unicorn/doc/unicorn/html/pages.html b/unicorn/doc/unicorn/html/pages.html index 4957c952..513e1fe3 100644 --- a/unicorn/doc/unicorn/html/pages.html +++ b/unicorn/doc/unicorn/html/pages.html @@ -49,7 +49,7 @@ $(function() {
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/unicorn/doc/unicorn/latex/refman.tex b/unicorn/doc/unicorn/latex/refman.tex index 0a591f74..db3aff9c 100644 --- a/unicorn/doc/unicorn/latex/refman.tex +++ b/unicorn/doc/unicorn/latex/refman.tex @@ -34,7 +34,7 @@ \vspace*{1cm} {\large Generated by Doxygen 1.8.14}\\ \vspace*{0.5cm} - {\small Sun May 26 2019 17:26:59}\\ + {\small Mon Oct 28 2019 18:06:37}\\ \end{center} \end{titlepage} diff --git a/unicorn/src/cgt.py b/unicorn/src/cgt.py index b65cc049..cd9f0ddd 100755 --- a/unicorn/src/cgt.py +++ b/unicorn/src/cgt.py @@ -5,10 +5,11 @@ try: import sys import os.path import optparse + import helpers + helpers.loadUserSettings() import Cfg import Hurricane import Viewer - from helpers import showPythonTrace import CRL import Anabatic import Katana @@ -29,11 +30,10 @@ except ImportError, e: print '[ERROR] The <%s> shared library cannot be loaded.' % library print ' Under RHEL 6, you must be under devtoolset-2.' print ' (scl enable devtoolset-2 bash)' + helpers.showPythonTrace( sys.argv[0], e ) sys.exit(1) except Exception, e: - print '[ERROR] A strange exception occurred while loading the basic Coriolis/Python' - print ' modules. Something may be wrong at Python/C API level.\n' - print ' %s' % e + helpers.showPythonTrace( sys.argv[0], e ) sys.exit(2) @@ -88,9 +88,9 @@ def runScript ( scriptPath, editor ): #print ' Please check your design hierarchy or the Python syntax.' #print ' Error was:' #print ' %s\n' % e - showPythonTrace( scriptPath, e ) + helpers.showPythonTrace( scriptPath, e ) except Exception, e: - showPythonTrace( scriptPath, e ) + helpers.showPythonTrace( scriptPath, e ) return @@ -270,6 +270,6 @@ if __name__ == '__main__': sys.exit(not kiteSuccess) except Exception, e: - showPythonTrace( sys.argv[0], e ) + helpers.showPythonTrace( sys.argv[0], e ) sys.exit(0) diff --git a/vlsisapd/doc/html/agds.html b/vlsisapd/doc/html/agds.html index 6c45919f..1253a5b4 100644 --- a/vlsisapd/doc/html/agds.html +++ b/vlsisapd/doc/html/agds.html @@ -77,7 +77,7 @@ Python
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/annotated.html b/vlsisapd/doc/html/annotated.html index 7eb5a9a8..94102b3f 100644 --- a/vlsisapd/doc/html/annotated.html +++ b/vlsisapd/doc/html/annotated.html @@ -90,7 +90,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/cif.html b/vlsisapd/doc/html/cif.html index 1873a406..2ff8d720 100644 --- a/vlsisapd/doc/html/cif.html +++ b/vlsisapd/doc/html/cif.html @@ -66,7 +66,7 @@ Python
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_a_g_d_s_1_1_element.html b/vlsisapd/doc/html/class_a_g_d_s_1_1_element.html index c0c3793d..bf4abf1e 100644 --- a/vlsisapd/doc/html/class_a_g_d_s_1_1_element.html +++ b/vlsisapd/doc/html/class_a_g_d_s_1_1_element.html @@ -49,7 +49,7 @@ Inheritance diagram for Element:
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_a_g_d_s_1_1_library.html b/vlsisapd/doc/html/class_a_g_d_s_1_1_library.html index 79973c49..bd82b294 100644 --- a/vlsisapd/doc/html/class_a_g_d_s_1_1_library.html +++ b/vlsisapd/doc/html/class_a_g_d_s_1_1_library.html @@ -210,7 +210,7 @@ Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_a_g_d_s_1_1_rectangle.html b/vlsisapd/doc/html/class_a_g_d_s_1_1_rectangle.html index 94204a85..5ba229f3 100644 --- a/vlsisapd/doc/html/class_a_g_d_s_1_1_rectangle.html +++ b/vlsisapd/doc/html/class_a_g_d_s_1_1_rectangle.html @@ -117,7 +117,7 @@ Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_a_g_d_s_1_1_structure.html b/vlsisapd/doc/html/class_a_g_d_s_1_1_structure.html index a03f8571..e8ce122b 100644 --- a/vlsisapd/doc/html/class_a_g_d_s_1_1_structure.html +++ b/vlsisapd/doc/html/class_a_g_d_s_1_1_structure.html @@ -110,7 +110,7 @@ std::string  - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_bloc.html b/vlsisapd/doc/html/class_bloc.html index 0b5d5387..5be85600 100644 --- a/vlsisapd/doc/html/class_bloc.html +++ b/vlsisapd/doc/html/class_bloc.html @@ -36,7 +36,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_c_i_f_1_1_circuit.html b/vlsisapd/doc/html/class_c_i_f_1_1_circuit.html index 8e580f3e..32f461d4 100644 --- a/vlsisapd/doc/html/class_c_i_f_1_1_circuit.html +++ b/vlsisapd/doc/html/class_c_i_f_1_1_circuit.html @@ -154,7 +154,7 @@ Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_c_i_f_1_1_polygon.html b/vlsisapd/doc/html/class_c_i_f_1_1_polygon.html index dcbbea06..35484cb5 100644 --- a/vlsisapd/doc/html/class_c_i_f_1_1_polygon.html +++ b/vlsisapd/doc/html/class_c_i_f_1_1_polygon.html @@ -117,7 +117,7 @@ Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_circuit.html b/vlsisapd/doc/html/class_circuit.html index c6bcd217..7fd98f4c 100644 --- a/vlsisapd/doc/html/class_circuit.html +++ b/vlsisapd/doc/html/class_circuit.html @@ -36,7 +36,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_d_t_r_1_1_a_rule.html b/vlsisapd/doc/html/class_d_t_r_1_1_a_rule.html index 2245e43e..848ef032 100644 --- a/vlsisapd/doc/html/class_d_t_r_1_1_a_rule.html +++ b/vlsisapd/doc/html/class_d_t_r_1_1_a_rule.html @@ -89,7 +89,7 @@ const std::string & 
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_d_t_r_1_1_d_t_r_exception.html b/vlsisapd/doc/html/class_d_t_r_1_1_d_t_r_exception.html index 51922749..93e9c781 100644 --- a/vlsisapd/doc/html/class_d_t_r_1_1_d_t_r_exception.html +++ b/vlsisapd/doc/html/class_d_t_r_1_1_d_t_r_exception.html @@ -40,7 +40,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_d_t_r_1_1_rule.html b/vlsisapd/doc/html/class_d_t_r_1_1_rule.html index 1673239d..c272269a 100644 --- a/vlsisapd/doc/html/class_d_t_r_1_1_rule.html +++ b/vlsisapd/doc/html/class_d_t_r_1_1_rule.html @@ -227,7 +227,7 @@ const std::string & 
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_d_t_r_1_1_techno.html b/vlsisapd/doc/html/class_d_t_r_1_1_techno.html index 4226ddb9..ab8db7a5 100644 --- a/vlsisapd/doc/html/class_d_t_r_1_1_techno.html +++ b/vlsisapd/doc/html/class_d_t_r_1_1_techno.html @@ -474,7 +474,7 @@ Static Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_device.html b/vlsisapd/doc/html/class_device.html index 608e6917..39ae9d59 100644 --- a/vlsisapd/doc/html/class_device.html +++ b/vlsisapd/doc/html/class_device.html @@ -38,7 +38,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_group.html b/vlsisapd/doc/html/class_group.html index 03d9fd4a..39446dce 100644 --- a/vlsisapd/doc/html/class_group.html +++ b/vlsisapd/doc/html/class_group.html @@ -36,7 +36,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_instance.html b/vlsisapd/doc/html/class_instance.html index d01da9cf..8d385473 100644 --- a/vlsisapd/doc/html/class_instance.html +++ b/vlsisapd/doc/html/class_instance.html @@ -37,7 +37,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_instance_point.html b/vlsisapd/doc/html/class_instance_point.html index 497525c6..593e1eee 100644 --- a/vlsisapd/doc/html/class_instance_point.html +++ b/vlsisapd/doc/html/class_instance_point.html @@ -36,7 +36,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_intermediate_point.html b/vlsisapd/doc/html/class_intermediate_point.html index b7a5255b..3d9d03a8 100644 --- a/vlsisapd/doc/html/class_intermediate_point.html +++ b/vlsisapd/doc/html/class_intermediate_point.html @@ -36,7 +36,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_layout.html b/vlsisapd/doc/html/class_layout.html index aa4f67de..7b5132c3 100644 --- a/vlsisapd/doc/html/class_layout.html +++ b/vlsisapd/doc/html/class_layout.html @@ -38,7 +38,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_name.html b/vlsisapd/doc/html/class_name.html index abe2c16e..a723a34d 100644 --- a/vlsisapd/doc/html/class_name.html +++ b/vlsisapd/doc/html/class_name.html @@ -36,7 +36,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_net.html b/vlsisapd/doc/html/class_net.html index 8d47cccb..6d7fa57c 100644 --- a/vlsisapd/doc/html/class_net.html +++ b/vlsisapd/doc/html/class_net.html @@ -44,7 +44,7 @@ Data Structures
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_net_1_1_connection.html b/vlsisapd/doc/html/class_net_1_1_connection.html index f9655657..6315ad54 100644 --- a/vlsisapd/doc/html/class_net_1_1_connection.html +++ b/vlsisapd/doc/html/class_net_1_1_connection.html @@ -40,7 +40,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_netlist.html b/vlsisapd/doc/html/class_netlist.html index 6751ce2f..486a7c9d 100644 --- a/vlsisapd/doc/html/class_netlist.html +++ b/vlsisapd/doc/html/class_netlist.html @@ -38,7 +38,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_node.html b/vlsisapd/doc/html/class_node.html index ff117b5c..bab0b2ea 100644 --- a/vlsisapd/doc/html/class_node.html +++ b/vlsisapd/doc/html/class_node.html @@ -37,7 +37,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_open_chams_exception.html b/vlsisapd/doc/html/class_open_chams_exception.html index e7b16353..c87df81e 100644 --- a/vlsisapd/doc/html/class_open_chams_exception.html +++ b/vlsisapd/doc/html/class_open_chams_exception.html @@ -36,7 +36,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_operator.html b/vlsisapd/doc/html/class_operator.html index 9e70b81c..8a1fd268 100644 --- a/vlsisapd/doc/html/class_operator.html +++ b/vlsisapd/doc/html/class_operator.html @@ -44,7 +44,7 @@ Data Structures
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_operator_1_1_constraint.html b/vlsisapd/doc/html/class_operator_1_1_constraint.html index a0a9316f..54a53b3d 100644 --- a/vlsisapd/doc/html/class_operator_1_1_constraint.html +++ b/vlsisapd/doc/html/class_operator_1_1_constraint.html @@ -40,7 +40,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_parameters.html b/vlsisapd/doc/html/class_parameters.html index 54f9a053..699aafe8 100644 --- a/vlsisapd/doc/html/class_parameters.html +++ b/vlsisapd/doc/html/class_parameters.html @@ -36,7 +36,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_port.html b/vlsisapd/doc/html/class_port.html index 5ef7e6bc..1aa98b59 100644 --- a/vlsisapd/doc/html/class_port.html +++ b/vlsisapd/doc/html/class_port.html @@ -38,7 +38,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_port_point.html b/vlsisapd/doc/html/class_port_point.html index b555528a..8f5cc76e 100644 --- a/vlsisapd/doc/html/class_port_point.html +++ b/vlsisapd/doc/html/class_port_point.html @@ -36,7 +36,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_s_p_i_c_e_1_1_capacitor.html b/vlsisapd/doc/html/class_s_p_i_c_e_1_1_capacitor.html index cec0aa3f..e21d4e36 100644 --- a/vlsisapd/doc/html/class_s_p_i_c_e_1_1_capacitor.html +++ b/vlsisapd/doc/html/class_s_p_i_c_e_1_1_capacitor.html @@ -158,7 +158,7 @@ const std::map< std::string, std::string > &  - Generated by doxygen 1.8.14 on Sun May 26 2019 + Generated by doxygen 1.8.14 on Mon Oct 28 2019
    Return to top of page diff --git a/vlsisapd/doc/html/class_s_p_i_c_e_1_1_circuit.html b/vlsisapd/doc/html/class_s_p_i_c_e_1_1_circuit.html index 234727ca..f8044b67 100644 --- a/vlsisapd/doc/html/class_s_p_i_c_e_1_1_circuit.html +++ b/vlsisapd/doc/html/class_s_p_i_c_e_1_1_circuit.html @@ -473,7 +473,7 @@ Static Public Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_s_p_i_c_e_1_1_current.html b/vlsisapd/doc/html/class_s_p_i_c_e_1_1_current.html index 0d3b7a62..a6f7dea3 100644 --- a/vlsisapd/doc/html/class_s_p_i_c_e_1_1_current.html +++ b/vlsisapd/doc/html/class_s_p_i_c_e_1_1_current.html @@ -142,7 +142,7 @@ Additional Inherited Members
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_s_p_i_c_e_1_1_instance.html b/vlsisapd/doc/html/class_s_p_i_c_e_1_1_instance.html index f06d2284..78d516c8 100644 --- a/vlsisapd/doc/html/class_s_p_i_c_e_1_1_instance.html +++ b/vlsisapd/doc/html/class_s_p_i_c_e_1_1_instance.html @@ -264,7 +264,7 @@ const std::map< std::string, std::string > &  - Generated by doxygen 1.8.14 on Sun May 26 2019 + Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page diff --git a/vlsisapd/doc/html/class_s_p_i_c_e_1_1_mosfet.html b/vlsisapd/doc/html/class_s_p_i_c_e_1_1_mosfet.html index 036d0c1c..9dbe9b2a 100644 --- a/vlsisapd/doc/html/class_s_p_i_c_e_1_1_mosfet.html +++ b/vlsisapd/doc/html/class_s_p_i_c_e_1_1_mosfet.html @@ -176,7 +176,7 @@ const std::map< std::string, std::string > &  - Generated by doxygen 1.8.14 on Sun May 26 2019 + Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page diff --git a/vlsisapd/doc/html/class_s_p_i_c_e_1_1_resistor.html b/vlsisapd/doc/html/class_s_p_i_c_e_1_1_resistor.html index b9dc42d2..cc6f21c7 100644 --- a/vlsisapd/doc/html/class_s_p_i_c_e_1_1_resistor.html +++ b/vlsisapd/doc/html/class_s_p_i_c_e_1_1_resistor.html @@ -158,7 +158,7 @@ const std::map< std::string, std::string > &  - Generated by doxygen 1.8.14 on Sun May 26 2019 + Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page diff --git a/vlsisapd/doc/html/class_s_p_i_c_e_1_1_source.html b/vlsisapd/doc/html/class_s_p_i_c_e_1_1_source.html index 54cbd935..15d856dd 100644 --- a/vlsisapd/doc/html/class_s_p_i_c_e_1_1_source.html +++ b/vlsisapd/doc/html/class_s_p_i_c_e_1_1_source.html @@ -139,7 +139,7 @@ Protected Member Functions
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_s_p_i_c_e_1_1_spice_exception.html b/vlsisapd/doc/html/class_s_p_i_c_e_1_1_spice_exception.html index 70ea3651..165d3fbc 100644 --- a/vlsisapd/doc/html/class_s_p_i_c_e_1_1_spice_exception.html +++ b/vlsisapd/doc/html/class_s_p_i_c_e_1_1_spice_exception.html @@ -40,7 +40,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_s_p_i_c_e_1_1_subckt.html b/vlsisapd/doc/html/class_s_p_i_c_e_1_1_subckt.html index b5a5008f..769a8294 100644 --- a/vlsisapd/doc/html/class_s_p_i_c_e_1_1_subckt.html +++ b/vlsisapd/doc/html/class_s_p_i_c_e_1_1_subckt.html @@ -284,7 +284,7 @@ const std::map< std::string, std::string > &  - Generated by doxygen 1.8.14 on Sun May 26 2019 + Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page diff --git a/vlsisapd/doc/html/class_s_p_i_c_e_1_1_value.html b/vlsisapd/doc/html/class_s_p_i_c_e_1_1_value.html index 5d3fdf95..8a71954d 100644 --- a/vlsisapd/doc/html/class_s_p_i_c_e_1_1_value.html +++ b/vlsisapd/doc/html/class_s_p_i_c_e_1_1_value.html @@ -38,7 +38,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_s_p_i_c_e_1_1_voltage.html b/vlsisapd/doc/html/class_s_p_i_c_e_1_1_voltage.html index 67a4fc2e..9597fdd0 100644 --- a/vlsisapd/doc/html/class_s_p_i_c_e_1_1_voltage.html +++ b/vlsisapd/doc/html/class_s_p_i_c_e_1_1_voltage.html @@ -142,7 +142,7 @@ Additional Inherited Members
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_schematic.html b/vlsisapd/doc/html/class_schematic.html index da4c10de..62915cda 100644 --- a/vlsisapd/doc/html/class_schematic.html +++ b/vlsisapd/doc/html/class_schematic.html @@ -46,7 +46,7 @@ Data Structures
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_schematic_1_1_infos.html b/vlsisapd/doc/html/class_schematic_1_1_infos.html index bf9557df..3b34069d 100644 --- a/vlsisapd/doc/html/class_schematic_1_1_infos.html +++ b/vlsisapd/doc/html/class_schematic_1_1_infos.html @@ -40,7 +40,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_simul_model.html b/vlsisapd/doc/html/class_simul_model.html index 7dc17220..86019e73 100644 --- a/vlsisapd/doc/html/class_simul_model.html +++ b/vlsisapd/doc/html/class_simul_model.html @@ -36,7 +36,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_sizing.html b/vlsisapd/doc/html/class_sizing.html index c970c93c..a162ebde 100644 --- a/vlsisapd/doc/html/class_sizing.html +++ b/vlsisapd/doc/html/class_sizing.html @@ -38,7 +38,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_transistor.html b/vlsisapd/doc/html/class_transistor.html index f657db68..a6a6a482 100644 --- a/vlsisapd/doc/html/class_transistor.html +++ b/vlsisapd/doc/html/class_transistor.html @@ -37,7 +37,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_wire.html b/vlsisapd/doc/html/class_wire.html index f9c7d172..3ebc14e9 100644 --- a/vlsisapd/doc/html/class_wire.html +++ b/vlsisapd/doc/html/class_wire.html @@ -42,7 +42,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/class_wire_point.html b/vlsisapd/doc/html/class_wire_point.html index e629e687..b03c205a 100644 --- a/vlsisapd/doc/html/class_wire_point.html +++ b/vlsisapd/doc/html/class_wire_point.html @@ -36,7 +36,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/classes.html b/vlsisapd/doc/html/classes.html index 75536680..3bff5dc1 100644 --- a/vlsisapd/doc/html/classes.html +++ b/vlsisapd/doc/html/classes.html @@ -74,7 +74,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/contact.html b/vlsisapd/doc/html/contact.html index 34f65cb3..cb2e22f8 100644 --- a/vlsisapd/doc/html/contact.html +++ b/vlsisapd/doc/html/contact.html @@ -42,7 +42,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/dir_194c6646cbe14a62ea0314c7fca681a9.html b/vlsisapd/doc/html/dir_194c6646cbe14a62ea0314c7fca681a9.html index 764729eb..e5f442de 100644 --- a/vlsisapd/doc/html/dir_194c6646cbe14a62ea0314c7fca681a9.html +++ b/vlsisapd/doc/html/dir_194c6646cbe14a62ea0314c7fca681a9.html @@ -38,7 +38,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/dir_2852b3f74447b3eef98d33971cc12e93.html b/vlsisapd/doc/html/dir_2852b3f74447b3eef98d33971cc12e93.html index 8d4511b7..323a17d8 100644 --- a/vlsisapd/doc/html/dir_2852b3f74447b3eef98d33971cc12e93.html +++ b/vlsisapd/doc/html/dir_2852b3f74447b3eef98d33971cc12e93.html @@ -42,7 +42,7 @@ Directories
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/dir_37f2f7cf13fe8b3dbbf4df2dcd9db30e.html b/vlsisapd/doc/html/dir_37f2f7cf13fe8b3dbbf4df2dcd9db30e.html index 93785d48..629ebb82 100644 --- a/vlsisapd/doc/html/dir_37f2f7cf13fe8b3dbbf4df2dcd9db30e.html +++ b/vlsisapd/doc/html/dir_37f2f7cf13fe8b3dbbf4df2dcd9db30e.html @@ -38,7 +38,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/dir_39781fe580a6e198d1f524a1e4a0bc7e.html b/vlsisapd/doc/html/dir_39781fe580a6e198d1f524a1e4a0bc7e.html index ad14c85a..4d9fa171 100644 --- a/vlsisapd/doc/html/dir_39781fe580a6e198d1f524a1e4a0bc7e.html +++ b/vlsisapd/doc/html/dir_39781fe580a6e198d1f524a1e4a0bc7e.html @@ -42,7 +42,7 @@ Directories
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/dir_47b618c8860794e76993335614edf751.html b/vlsisapd/doc/html/dir_47b618c8860794e76993335614edf751.html index 43228767..98209f92 100644 --- a/vlsisapd/doc/html/dir_47b618c8860794e76993335614edf751.html +++ b/vlsisapd/doc/html/dir_47b618c8860794e76993335614edf751.html @@ -38,7 +38,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/dir_55e17805e082fdc46e6a3a5c39067580.html b/vlsisapd/doc/html/dir_55e17805e082fdc46e6a3a5c39067580.html index 943d0243..9a77873d 100644 --- a/vlsisapd/doc/html/dir_55e17805e082fdc46e6a3a5c39067580.html +++ b/vlsisapd/doc/html/dir_55e17805e082fdc46e6a3a5c39067580.html @@ -38,7 +38,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/dir_59ec496789535d63823312241afb9b7f.html b/vlsisapd/doc/html/dir_59ec496789535d63823312241afb9b7f.html index d101ba44..e5e20f2b 100644 --- a/vlsisapd/doc/html/dir_59ec496789535d63823312241afb9b7f.html +++ b/vlsisapd/doc/html/dir_59ec496789535d63823312241afb9b7f.html @@ -38,7 +38,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/dir_61fcc85a192620389e1754e99f550e16.html b/vlsisapd/doc/html/dir_61fcc85a192620389e1754e99f550e16.html index 5acabab7..ba34dfc8 100644 --- a/vlsisapd/doc/html/dir_61fcc85a192620389e1754e99f550e16.html +++ b/vlsisapd/doc/html/dir_61fcc85a192620389e1754e99f550e16.html @@ -42,7 +42,7 @@ Directories
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/dir_622483769e0f2cd8e596ff15be97e36f.html b/vlsisapd/doc/html/dir_622483769e0f2cd8e596ff15be97e36f.html index c21b070d..5d706e5b 100644 --- a/vlsisapd/doc/html/dir_622483769e0f2cd8e596ff15be97e36f.html +++ b/vlsisapd/doc/html/dir_622483769e0f2cd8e596ff15be97e36f.html @@ -42,7 +42,7 @@ Directories
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/vlsisapd/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html index 53afa16b..199ef65b 100644 --- a/vlsisapd/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html +++ b/vlsisapd/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -38,7 +38,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/dir_71789bf9375547e252911cdb9a2317ae.html b/vlsisapd/doc/html/dir_71789bf9375547e252911cdb9a2317ae.html index 5ce49e6e..0e6bd686 100644 --- a/vlsisapd/doc/html/dir_71789bf9375547e252911cdb9a2317ae.html +++ b/vlsisapd/doc/html/dir_71789bf9375547e252911cdb9a2317ae.html @@ -42,7 +42,7 @@ Directories
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/dir_7665d8bfef91390195a0fbeced79f129.html b/vlsisapd/doc/html/dir_7665d8bfef91390195a0fbeced79f129.html index c1e6ffe9..dc89936d 100644 --- a/vlsisapd/doc/html/dir_7665d8bfef91390195a0fbeced79f129.html +++ b/vlsisapd/doc/html/dir_7665d8bfef91390195a0fbeced79f129.html @@ -42,7 +42,7 @@ Directories
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/dir_97fdc78ce1a397e825572027accd162c.html b/vlsisapd/doc/html/dir_97fdc78ce1a397e825572027accd162c.html index 1b3b63d1..89160f52 100644 --- a/vlsisapd/doc/html/dir_97fdc78ce1a397e825572027accd162c.html +++ b/vlsisapd/doc/html/dir_97fdc78ce1a397e825572027accd162c.html @@ -42,7 +42,7 @@ Directories
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/dir_bf3fa239d58b225d86806ac9c8613e9c.html b/vlsisapd/doc/html/dir_bf3fa239d58b225d86806ac9c8613e9c.html index 37a820ba..b0310fe3 100644 --- a/vlsisapd/doc/html/dir_bf3fa239d58b225d86806ac9c8613e9c.html +++ b/vlsisapd/doc/html/dir_bf3fa239d58b225d86806ac9c8613e9c.html @@ -42,7 +42,7 @@ Directories
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/dir_c663fdd46c388fa35da0cbda7880ed60.html b/vlsisapd/doc/html/dir_c663fdd46c388fa35da0cbda7880ed60.html index 991c514d..c7c7d660 100644 --- a/vlsisapd/doc/html/dir_c663fdd46c388fa35da0cbda7880ed60.html +++ b/vlsisapd/doc/html/dir_c663fdd46c388fa35da0cbda7880ed60.html @@ -38,7 +38,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/dir_d524a314c3e79ad7dcb6d469d1af3bdb.html b/vlsisapd/doc/html/dir_d524a314c3e79ad7dcb6d469d1af3bdb.html index 6295a900..d2af0595 100644 --- a/vlsisapd/doc/html/dir_d524a314c3e79ad7dcb6d469d1af3bdb.html +++ b/vlsisapd/doc/html/dir_d524a314c3e79ad7dcb6d469d1af3bdb.html @@ -38,7 +38,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/dir_e15e6a3c4c4383a9f2520d7186345132.html b/vlsisapd/doc/html/dir_e15e6a3c4c4383a9f2520d7186345132.html index 3bdcd528..9bb1af58 100644 --- a/vlsisapd/doc/html/dir_e15e6a3c4c4383a9f2520d7186345132.html +++ b/vlsisapd/doc/html/dir_e15e6a3c4c4383a9f2520d7186345132.html @@ -38,7 +38,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/dtr.html b/vlsisapd/doc/html/dtr.html index ddec0e55..7c054ce4 100644 --- a/vlsisapd/doc/html/dtr.html +++ b/vlsisapd/doc/html/dtr.html @@ -74,7 +74,7 @@ Driver
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/functions.html b/vlsisapd/doc/html/functions.html index b087ccff..b71c17d5 100644 --- a/vlsisapd/doc/html/functions.html +++ b/vlsisapd/doc/html/functions.html @@ -303,7 +303,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/functions_func.html b/vlsisapd/doc/html/functions_func.html index fff5bf8a..87ea533d 100644 --- a/vlsisapd/doc/html/functions_func.html +++ b/vlsisapd/doc/html/functions_func.html @@ -303,7 +303,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/hierarchy.html b/vlsisapd/doc/html/hierarchy.html index fd4ffc08..3d469f67 100644 --- a/vlsisapd/doc/html/hierarchy.html +++ b/vlsisapd/doc/html/hierarchy.html @@ -86,7 +86,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/index.html b/vlsisapd/doc/html/index.html index 8eb456b1..9298e0b7 100644 --- a/vlsisapd/doc/html/index.html +++ b/vlsisapd/doc/html/index.html @@ -56,7 +56,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/openchams.html b/vlsisapd/doc/html/openchams.html index a36eaf8a..4e2ec819 100644 --- a/vlsisapd/doc/html/openchams.html +++ b/vlsisapd/doc/html/openchams.html @@ -106,7 +106,7 @@ Driver
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/pages.html b/vlsisapd/doc/html/pages.html index 2600405e..b0b44ef5 100644 --- a/vlsisapd/doc/html/pages.html +++ b/vlsisapd/doc/html/pages.html @@ -39,7 +39,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/spice.html b/vlsisapd/doc/html/spice.html index cd26977c..7c38132a 100644 --- a/vlsisapd/doc/html/spice.html +++ b/vlsisapd/doc/html/spice.html @@ -78,7 +78,7 @@ Driver
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/html/struct_s_p_i_c_e_1_1map__item.html b/vlsisapd/doc/html/struct_s_p_i_c_e_1_1map__item.html index 5890f94c..7cc8fc44 100644 --- a/vlsisapd/doc/html/struct_s_p_i_c_e_1_1map__item.html +++ b/vlsisapd/doc/html/struct_s_p_i_c_e_1_1map__item.html @@ -38,7 +38,7 @@
    - +
    Generated by doxygen 1.8.14 on Sun May 26 2019Generated by doxygen 1.8.14 on Mon Oct 28 2019 Return to top of page
    diff --git a/vlsisapd/doc/latex/class_a_g_d_s_1_1_element.pdf b/vlsisapd/doc/latex/class_a_g_d_s_1_1_element.pdf index 16fbe731653ce8bad7e1241699bed98568bd46f6..c499855ffebd9540a25238f15b1119c1703f0105 100644 GIT binary patch delta 2576 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 diff --git a/vlsisapd/doc/latex/class_a_g_d_s_1_1_rectangle.pdf b/vlsisapd/doc/latex/class_a_g_d_s_1_1_rectangle.pdf index 8af0862f582ad11150fdad813ba697efa6e4e951..8649ea6c01fa0c0e2b3094ae0d72037d90b17164 100644 GIT binary patch delta 2578 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 delta 2524 zcma)-c{J2}AIGz%$(~XoTM`<6GiJYxb;zDlC@Ray*k&3d`~8V5r5nv)i0sQSBZUwy zN?|NXZU}{_P?nHg-EQYR=RD`}oagED*XO*xuX8@{@8_S-gi4!=kje>T6DUj*aa%|a zwC?cYwH1EzQKP(4)0Mu_Rs%iW|7wGeSRhY$mUeVGOygfdd30%2wo(>NaqJZq&5bR_oq>bF20bU3}TYEWqSXC z)(dVy-L{4UG97&Mma4OA7RmbDa!$4{_oaTVny83%O>>P@YwB7{SM@+k#N~*cvKN3L z!Ok}yT%Fg%q;qdi~K`&ee0u=M>4 zYXIDTqjmh*h+WD1uWInpT0?(|UbE~+SXnEey4vKmyuPB@ayL6aYExOfJ9c$otba;g zPGwJ-#7bb?c%4*Mt9D4MmUloQt{}J8fU0hv^1W}W_tLi&DoR<|=p<>qOo^M+ud!E# zYc`wBWLM%II`z)Gaf$cN7M%QD!IouNI}L`I5l$!9Pmi8EA8r0kgS)rDyttS2m41pj zLf=$?&iFv8?{=Rl(Kz@?W#oz`x6k8vzGRwH537W=0Y>MtjP7t^Zir1l(#)-F=T4~> zJ54*QGinXDGH|BOdF92;!#XSn^KOwG^_W|0#7@57Z8%4(Ftb2!W>ck6B6c}(1$2#d zpPk=GLti_@Y-CGQ@>@?H_NWtY``j1#+kjz76l?Tef!GIF8lmx#-b-nLdVJw}bZWA4 z;$Ua=PQqyey9vMPr~pgLN#g4~ivsnUtJdM!|Y{&^q@bb2U{bXY`9%Bnd2HTTOV9ye}g<$SKkz4PcZ&-4)aH z=3wE$I-HZ7!~AOX=efzi!uIMu=~h&((z&vR=flH7-0EXvdU0Gy$H{*U#-Ch47_lS2s+#1n_r7HREKtG++Rae*Ud?V+wH!W7-aL>M9F@N- zzC!9NyoqFgL42vJSr3HC-yd0s*Zl)OlTF%BS2Z!rODM;O6tSAJL6($s3TY%N>*8`~ zR*~eltFxIpOWUlz>Xe3!LLNY^~B zyPtobr;i{I(NIQuotRd}zIqNb7yP>4Cd-E76SuEur^iJJyqe>q3D@Y%{QBA2LzA&N zlTHKuy;CzZ1D5iOsjC7t(ix(r%8#)@I~dPxKM8xtZM0sq1zY2*0-C`1K`E>>d!WW2 z%ka*7+tkkYAbr!hW^dXCCFBWbR$AoDO0wbJhMZ!}@Wyw&V4URg+Zgf1E?()I_GNK@ z%u5P%FE_|bwmSnEL_hWOS}F862{N2iXJpuqpll6m{DeDDI;;2RqHc} z*H%nkRx)CYbWGP8RDJiXBaNA(kt%|U7pZ^9v#r~Xpl4s314aRmS+}8O>0P* z*phq$hNeV2qxmB1!P$AE(6F4?*_r823p|-$&RIO&cql|IMHMr4*XzdR2c~b%i)(B3 z+?@@ps9(E*#ky!cb$S0(aE>jfr0cLLZkiI&5vZR6Ue6qQ=Gx~!>hh?E8~m4m?fL2g z=@cN%=*7%p=%3?xY(D>pev^`lryQBbB6ZGJnwT*P^Z-Y}(LI*Ko?b}Ys^Vyufpcx@ zX-dAAZ`WlCVNjuD=1ky_po?0Xof4Hby&_G8c==Nag;qq2bi2N{74uz@Y!c+AY|=6A zt{6p`BjmVY+1w)0nM0Wi&syh1TjXA^!F3(|Y7nmCYOLT*} zqKRlI4CaA=0zV3hba5qOv;iW@6^>vy3tR94XvS4hm0$B0h4m!>BovOagQ0P76b^yW z0N@N`5%vEX=afIuO(F>M&YU`nWfa4c-w8xn)r#!wjSHikt3 z+ZYPI-9sU_F&G^9IYa#4!^1J!FouPsjx&LP1&jd{)&vGKF+l-H0E;!iAPq1E|7^;{ i2#weIzlJjekB9ivT&T1lD$xUi&_*L6Dk=mU6Ug6s+C_%| diff --git a/vlsisapd/doc/latex/class_d_t_r_1_1_a_rule.pdf b/vlsisapd/doc/latex/class_d_t_r_1_1_a_rule.pdf index dc71c86f9791df33baf52be7329083aa2191f70b..1011756a97e434135d1d29156edba7aef56cb3fa 100644 GIT binary patch delta 1810 zcmew%-=n~x8sOrlYp7>Fkt3i!dgZG*Q_MSN%~@qIXVI$l@d|T_mZzE51anm z)!RMOuQD+rP!X4hci`Vg73CkAy zap3O%6*F}+o#dy~JmK4$xX)Sh)f6H9HQtsTi@$p5m7FTAo9z3*#K>^_+IdR+@A48d zzWs^J`g^K7a94ux#%qm#FPBG)oz=+aS({oMD(W~>Wr4-}lQ*Jl&O8i`pK9(V^=8mgRP#aradIKR&TpVzXcN1obyfRm*N= zTrzIkb=#_T=TV*iceTQeqP$BZ-|oM4f6M>V?i`)#A|+Byozy3Ar7q^y5TCfad7^+} z{R`Q`SrY2o4r+3SC)tafDLVewCF1GiX%@NbR+a9XAKja)@UyGKwB3Khwv0E0y#X&4 zoAAzSIQ~*rrn8>0+Qq=@oR-b9-=;Hq4{tpytHpko<8a6l(U_nG2}~JvPAU(pa!<$f z%>S{0^=35FxjhyiG&D6OXX1h%Lo$uMB zht=jE2;wf&zrB3nPsdlEPB(3Ru$lew<4r#+1KCUy;=lOsj<0;Ia!2-dwSf$)A;GrT$jiq~%0kX!L@zAp2OGY5iAstmwQbI(7D@52~}K*ZMHO zy1jgR!?Tn>Z1pOhccp_53h+H_KQ=KWO31GJ?;XDhH*PkDDX=`8Y^V7+r$BPqk0Ob# zR_FdW{YUy0`%EK*6Vfir&p&7)pP_QyI_7Qd^_M4nPZe&wTeda(`#g2KSEm+SeH^ja z(O37Yv$edCqm<;ug4>rkzkew1h|}{8yFNWrI`yb&Xe^htZsT&l8~%T82=&OeZ43M~ zZS&cu5sP-N5Am;e^iGWqD~>rW@bum1FTBZBmyU`ZbovNpFnapq4WRw2B<4f|3 z>}-ls(yW403n7f0OgkHWkO-UsmeNOP*!+@*ld;~&RFg~J8DvCeex6HWNvej6m5~83 zPz{VM3@r@Iz=5J}V4x0E=9`~FKt)JqNlvN;+=(!w^NTbfftLpqaV#y#019Z@*`?;C zOm^nevNJbS0L7+(LY@K_m|4j)x^-*#MRWq$kEx! v#M05i)XB}%$l21>+0KTbidZf?JFeoA#G;alqSQ1lV>5G8E>%@me>W}wt&E~9 delta 1813 zcmb7^do+}J7{{4hU$bVEBG*yIXq?ge&O7hCGpboKMj=cySQL#ha%#kR&$l`%Eyi$K~wYCZo1CgyS+HP^F>}YAA5edZhp!oFtw`&mS4X5#8N(mQ8^4M zzO*+G_&%d}B&|9~($spcD9+4i%sOR$+SOGC>csXxP3-XPoYQ{*hbC2=&^G+--moz^ zJiuI0=XzDYTl$<**_77Y8(DxhsyCM&;CiS8TSzn#vs5p}Fas8?<|KcrEix{AV8xC!x&z!z^lgXfzLa_e_2tGt&q-;MJQxNSa( ztq{eyEw{-vEoMx%^^vO%ow2BD@N{7|@Ke6$Wk7Q~)*IbVJ8S(MeS`o4kSKp6fn8?(LJB=UZDV%aqr{M z56R`qH?+1MsMNDbS(A>f$qoZv~6|ISch?=${} zk{ybD8b=5?1C^Z$E1AaZB`Rm}xy|sZ_Ly{A9j-!7dsIAzy=gS3a5Cb;na`&O2c|nX zQje7JxdiEaWG>v1(K#pZED0O95BL4*n2?I9PvMzGazwL-5Mpq8S1?cFQ_|k2e2xC} zs9)-JsO7Lm%eFG%X03;ZG`&@YLlwgfwT4nb#|*pQ#=R!i$V@)@*2FwloP2KGB~8A= z)b3QQp?k=|%EHMZk>twnRD76}8)z6`SYWt@>@+q7WfL1ty;*DZE}6-REw z7r0=m3(NLJ_)VOBM7if85ilIX%NdSdN4J-E+5>#%2}#h!cv1h#Z^N@fy>~nHIFANc zaMHPJ$aP@e18$VG@67zpB)y10#I=W) z-X2VjEPoc1T4nG;HlBTM%j@AZRzB`hS@@cSu1xQ_V*F02R2shWrJdD8#NhS&Ipl5! zeZF4QM!PLB@#(UqkJbgIzN$2PmZEeg@lN;1c%(`2&0Q21Y_B!nzqW1Nsel2h(#WOV zXqhj19l3V2RC=<@eS()w55|=AYD6NL;dq^F@j5q3T8qjaF@{ zwn5Pp7C=H8QzWGLp(2z5K>;)hxbP?l9RwkNrZB)?$dK(MpFRq9cf|0oK|s9Hxc-#B4#d$ee9O1tBJgQ0Wj# zrN1AN1cIam+mb^!kRT=i?*#}WF!f^wA`rNU!3bS;MUx~!7e(kW zZ4pCZ12Ax3Ck43c(0!%b+n3 u4ikkqw&+G12FHeG2Scp&|LNEcuvkD;v>-A%Hc}J-z;pxwh(tRV4)8k<Fk;A?|aChEe1D-oSMP+XD>1YNDnJ#miC2ssd>v%Lq5Aj7Bn2#Q-A0* z%VcghJFy*SuWvK1@ODxPbzTr+zBlQ+z4$~=UtV8Lspo0Q+dqEnE{Zexyy)7>luH*x z?mfFxvg-WQ9TQwusZ2iSCi|NC?}CC<&0jB!Iv?_cKQ65Z){?#0VzTI$Ku2t5QQWEH zFLG0NKjk^zZa+hu{eFwj8QB^}kD0}9Q}a?LyD&;Hnrx0`oX*JR5gF|27rglwlPruq zS(c@V$;fo_LYC5c10y@T;*z4 Xe5IdcP|J%S5m{>g8jTfA!Pr3j6yF}5>I-zLps zn;3gW+&Jk;iJ$Ay$1*#+&s9FPcwYPa^_7&_#y48L!j;YiDIQihGvkT#6t-Uzeu#+L z{`g}3_>E%sf_c@y^*+?r$TzkGb|`RsjGa5rP+hzCm(gMUc_(BQchoNqykp3?tu^$a zkD$7+vW{57#sZx?0?cG87m@HnTr|yy<6UAe(7I z{1^Y-@s*EN?#SM*Ht=CG^)2w6pm;T9npDvSq3LWq`Loij)Zc2Gw4CS*jb2a|WFKoY zt^ewd6`dDFr_SE=L3P&jS|8?Dx0i2kc$V^qtzO0Ru5|E00ltUr$0mkE3E6f3z2i6G z#?8hs1(t`C?KB_f6i6=nQ6$mT>f9fv|46@LpJ{|}LfU2d`3FtpGgPiy$Gok*{_=$H zslttS%eH2JpQmp3>ePa(k0Ta4`s#jlww4!il#;wyaQhPH_YcJ#aeBUC*QaMnryey8 zjpee|ZCvhm!~f3>p&r?`ZGoSrZ9e-nV$sg^A^!D_-l@@H#WAM^p1%A1g*UnC(owOa z?pYe{a;KktyC8J!^valkN2=-H>h7687U?!;Kk{4f7w4jKkD|$X98OG@rkjg6Y#CKj zOe_qIl1$8XjSZ6xbqx*EOmz)_K-bLB!Zay4$s*Y>&3N)Ftji*0|$z_fq^e6+n?`ppd7)1!fo+n;Mv*iy4?28exbTn_5g> z!>3+vi6LWVjA??ou{pXrLjwZ~bTI=na}0F`<^~vIhDIh(y?h9#8yOgzOitjpi8XLE zHnA`_wQw{wHZeCh0lLS@$<4sk(bB-u+0Dhw&CZ6PidZf?JFeoA#G;alqSQ1lV>5G8 LE>%@me>W}wr46cj delta 1830 zcmeBC_$kk!8sOrlYp7>3k;A@zqIKS31D>|>c}>Z;8&y@k79A7Ou(JNj+oa|y$nO^L z<=4a%>Av3*T)Z_MPyPo=P4t}bdgj~2hU2w|F0)Gb8#Hb4o^v+w!18?}5?ySQW^AxO zbVWns(Fvor43S9*_6P3%`~0Wue*J-Be%X%XQzsvXOa5h2)~nsDvv`*IsU~KYXZ5Bw z{)t5gPaGG@`@8jx>>gFciKhfKu6nM&@i)Kw#FAxg%S3vMqm#Gad@NoRH=}Z4sn$#r zlS9$-rI-JTY3=q{qGeQQ_A)~LMSF|3^F{aRo;=SBV)vNk2Q5{aHNh=Jo@t}D>pAbA z5_`|)ESHi0cOmx2{zRW$vN4RYEydNTc`3ybB}J);xm-YIeo_{fnSy}=h&D1c-WKIIunvG7U5| zRXnys;3JdV)rt$JXQx$dm?6O*x9`vWPwMyo3oBT039u+?U3n!DJnPVc;Fsn<81uyI z55Dbt^oaF@U{Kqp){hQ#!2-=LOe$S+oV`aLy}rG%SUc}78w*RK+>W`)22ojCXT7qj zs-L*X!ctZB>-ba^G zwKUB5Rj=vNu2j8?l~G~YCQ?!_{#u^=vhd57p872uDPkF=p*K5p@u8?1-T-b_pCIBs~fpZjRc@?=lJ2Yr0e?8*1nKHRfac2eTGFD|zn z!?sk&sXcoCM^R&DUekK(y?h~FAImy;WW%z%H_qGoT43oulg$$}B#+JisiIwT$MQyx zmc~AQx%!w-iSO?9Zrs>%)HP9T%8BZ^{!E+aEpIMNdbj4W?lu4VL<{eNl@{Jn(_&Yi zcjpSRTv(sEvpV&bNdaUQ00?#se5;Q&Q1B>pVhY|Cbd5a&X^y6>Wj&)uf{c^@9zIR zX8v-n+-#|@`U~7ME}DfKAFMx<-n&e(YrcXi|CxfNXYV!@t^APLu}S9JBKNkq3PntBTK=Qk*)w{yG$8S&9y6hz#B310<>RVdfHCgDfbwkc6)TTfcANV{Xi@^o*Rd6i#b{KKp79;qFhD0f{% zJ&&j06oVemgvqn7Z}-{dvgqsVMG_2k%(ZS2izh!|cVaRz*{s50%cx?UXqaqbnVPJd zWS(lSYiO8eqH6#Iy5?yXX=$k`2C0TgNt0VSy;%&*)%7RaaVit1Lz>G$(7;sJ$SlOr z+{(zz%EUt3z-V#~mlhV$llp?TSP`Q>?z1qC^o$%!SI`I9emxf5rV9k;t0F}@(h z`JcF}I70JEGD~t&Qzn=4$Zx*L!_Me!V6Mrf?+h%LfbPq4Ni0d#aIrEnFtjug7W?-N?|;XmT;XO{|fV ztE024tEHuxxq*wRnTw^drJ<9#o3W#rnWG7?{I;_ps3Mlj&W@|NB(bQZq9`?u%h=4+ Mj7wG3)!&T^0C7;Y8UO$Q diff --git a/vlsisapd/doc/latex/class_s_p_i_c_e_1_1_capacitor.pdf b/vlsisapd/doc/latex/class_s_p_i_c_e_1_1_capacitor.pdf index 630a84c9605f9937848ed70c054350561e8d0147..63f41f3c9ddd41e84e545ad6b5a52de2aad98b48 100644 GIT binary patch delta 2580 zcma)-c{J4f8^@a=F?J%$6sfUK<~#c^#x`RaYeUw^%rKEbm^8?pvXpFfl@AI7JbI#}KM=T>G5pGmlB(Q~W zOwvN&_P|99kh$^2XrH*8uF2ikDk%zfeZSw_Me|d5o$NWj7@kN0nUHC|7z;ZLXUtvd)d_uU*p!g!Z%51 z+B0_P?ub1f)1o>2m8>x*nzs<$89)@luloVd`?f!NU+tXOpw>}Kvu?Pc5&l&ghg{ZcrLUs%NOadY=l zYtBms5;D6S`XnOzSZqK(ijsquSUeA{vc6Z8x%W9{~95Lo_;)FwO5PHyT~v)ps_w&hjB&YRFql?Yn;|T|Mt)a zf#ZT`vzC$yr&a2hZON-Vg=Z&x-Oa`QtEWBE0mXLyqkFmZQHk!@r>7d<&FsAJUR~N} z%4x%drc%ez%&#A7j}bmBzjURR9=9^dCtL&>!y>-6FntU@T>W+muxrW5$u8F&+dKNQ z^NK-N807-*=yH?Rto44}k*ClA5`%9@5}1~iUzR*!Q%wtZ4tKfeaA*u=EQn;x1uzwY z$g9A^OPLmQo8lHZ^JWLt+I?!(j&O-j*HG7xLX%M9S9L0PKdX4t{+`S%!y^me;|b@k zo*`+GI-nF*RMqP|`$cH~zPtB)>;1Gi`;lAEIfj=o!w~(Hccf#J)13heHjV;o0k=v5 zd1N^%k#*46AUWQ0>fxH)dOeW7WO$~BC(&co>37BXe85YkcO|x(m0}dHPTkMY%E^YX zso~w?!jw4&4w+F)JEvC{Z*MZ!UF7Ahx!h*_paHrK8x?zUTh_s-{cBS`ez5O7>DyFO z%w-JB$tn;F3L3W<4p4m@2L08>iPGmNGyXAE^_&FtnX6kggE?3S5|lH@gbXZdZ| z5oQwhYi%rF5G9@J`njQgUqvJM`)|^vkT5p5_%zy4HSj7K}6lB%Q{( zCp4gMeWV)jXFo#~M+sG9Y59I3OZG;3 zgWLN<>efv0Z|!So#j_z-1P?o;#t%0Kg!M}V+)-{%Lpx7d`%F}`r3h2UCm(R&mw`+LI zniefAkGb4~ptA$DYxmg?6S$KznH%4m}vO4^d?i79Co z70#4cTuADkZgpDL*|OVmpC$+V%qr{zss#nxb3x~_Ap5X@1N zHpaKFn;oVp>FI125St*W@4Ix+h=f4sL(z#$mBnpD+1gbFqlKU81O8KM8|A8{17S`k zs_9)q=`(@Ez>bSo()e)#I5W?IqY*y(%ysb>GDNS$rvK{dx{rH$m)Z*#=LQpm&6K@Q zDlGeTT{5fB^emZMrV+!LNjcJoBiFn=aLhhpK*f-c)V^Zvg?*?>%Po0y zQF_IO#->KUh&;D|vaGpQQ(oP%-xm8Hc2T7BzFbXjlxbU*kn(J(0Oh5vp(LEpUD_P7 zIS5Mx&@3zgi2>LE5&$?jBx>a#iC8R&#paMW1PlSJl5za@=|f}@Kj){*S}Fo4B%0^} z5KU2dQ#8>C1%Rhy4gU}Ak=2!;M)Ko!27|J4c0ZTTm$TdS6OHG{>i%4wv3$Ig4VM`c zv%w zoB_k5C>rSpV-X|B8-` z*8g*Q5i7)M4=-c|7*HrH>l{QV8dC6h?QhSC(vHxEeHSP!8jt!XL*Y<_9~cIQ0kael z0t^QGLk*7seqaO)`kxFy0YCcigdcn;0_q0_pz+_C!v8jpCJ>3Bl@i(C25n8ml1M}< z1`VKX(L@4ZO(dadG%VHzMaAK<6!O11{9zOdEQZI7=JBJ0IWR01O@bj1G*?^Le*h~j B4)p*4 delta 2519 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 diff --git a/vlsisapd/doc/latex/class_s_p_i_c_e_1_1_current.pdf b/vlsisapd/doc/latex/class_s_p_i_c_e_1_1_current.pdf index 0c2b5ea5f284dc8ed922134668ccefdbc392c300..1deca357494da4b833ae195c5c64ecd18dbe116e 100644 GIT binary patch delta 2285 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 diff --git a/vlsisapd/doc/latex/class_s_p_i_c_e_1_1_instance.pdf b/vlsisapd/doc/latex/class_s_p_i_c_e_1_1_instance.pdf index 402d2c6bfdc930dab0c451b3eae0d7aee9fc99fd..d87b657ae4e913a077d317728ce5950ac1325109 100644 GIT binary patch delta 3039 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 GG4MZ(@)wB! delta 3032 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 delta 2364 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 CAQ|KU diff --git a/vlsisapd/doc/latex/class_s_p_i_c_e_1_1_source.pdf b/vlsisapd/doc/latex/class_s_p_i_c_e_1_1_source.pdf index d0d65b470a7b2bbd6ae1ccd5acd5bcabc3771b1a..60b330dda8678b2aba5587160dfaf3944a319dc8 100644 GIT binary patch delta 2872 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 bQ&Uhl#fwadCKE{@BmxNoX=z#7S%Lln?@J%y