Commit Graph

20 Commits

Author SHA1 Message Date
Jean-Paul Chaput 2c73cfe76c 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).
2019-10-28 18:09:14 +01:00
Jean-Paul Chaput 2d8e26a467 Quick fix for Stratus1, missing cell mapping file. 2019-10-25 11:20:15 +02:00
Roselyne Chotin-Avot 6580c485fa Add VHDL driver 2017-08-02 10:38:48 +02:00
Jean-Paul Chaput c70a220016 Correct some old style Hurricane/Python constants in Stratus. 2016-11-10 10:34:34 +01:00
Jean-Paul Chaput 393b5a735f Remove simulated annealing placer Nimbus/Metis/Mauka. 2015-03-17 22:50:00 +01:00
Jean-Paul Chaput 4b5a3ef5d2 * All Tools:
- New: Added FreeBSD/Ubuntu patches from Otacilio De Araujo
       (<otaciliodearaujo@gmail.com>).

  * ./stratus/src/stratus.py
    - Change: Configuration is now read through the new python C/API
        system. No more st_config.
2012-12-03 08:31:26 +00:00
Jean-Paul Chaput da88363881 * ./stratus:
- Change: Busses are now created in "downto" order instead of "to".
2012-11-16 12:56:08 +00:00
Roselyne Chotin 827b3bd400 change simulation options 2012-08-20 08:29:31 +00:00
Roselyne Chotin 33eca48c11 return in precedent state 2012-08-16 17:17:21 +00:00
Roselyne Chotin 392accdf27 export and simul with standard VHDL 2012-03-09 07:50:55 +00:00
Sophie Belloeil 3801d65cdc (suite)
Gestion de la fonction d'evaluation de la consommation

    pour memoire : stratus utilise toujours la variable STRATUS_MAPPING_NAME
2011-02-16 13:59:03 +00:00
Jean-Paul Chaput ad00c58ffe * ./stratus:
- Change: In doc, activate installation of stratus, dpgen & pattern documentation.
2011-01-09 18:28:00 +00:00
Jean-Paul Chaput 0e09dee142 * ./stratus1:
- Change: In st_model, separate View() in two methods, one that load the
        model into the editor (still named View()) and a Breakpoint() method
        for putting true stop points. The Breakpoint() method calls the
        View() method. Will simplificate my explanations to the students...
2010-12-15 15:25:45 +00:00
Jean-Paul Chaput 802d80e850 * ./stratus:
- Change: Add support for chip-level nets. POWER/GROUND/CLOCK as signals.
    - Bug: Reorder import so that CRL is always imported first so that the
        problem of duplicated type_info RTTI doesn't show.
2010-11-16 14:09:53 +00:00
Sophie Belloeil 1ee7622af9 Gestion of vdd/vss step two ... 2010-09-06 11:22:30 +00:00
Sophie Belloeil 8e53a1bc36 No more Error when no vdd/vss in a cell, back to a warning
Be careful when using iter(...).next() : causes a stopException if no element, the exception has to be catched if only un warning is wanted
2010-09-06 09:12:24 +00:00
Sophie Belloeil cb4e538b78 No more setup_apple() macro
raise in Python > 2.5 do not accept string anymore
2010-07-22 14:33:55 +00:00
Jean-Paul Chaput e736739eef * All Main Python Modules:
- Change: New problem identified with the Python modules: each module seems
        to be built as a complete binary, so all the static C++ initializers are
        allocated in each module. In particular the C++ tree inheritance is built
        for *each* module so we cannot longer uses the typeid() comparisons
        across modules... It was used by boost::program_options to perform is
        casts with boost::any and was starting throwing exceptions because of
        bad casts. program_option was first initialized in "configuration"
        first included by PyViewer then in PyCRL (see Utilities.cpp).
          A first solution is to re-order the import of Python modules in
        stratus1/st_model so that CRL is imported first.
          The second is to not not link "configuration" with boost::program_option
        as only the binary vlsisapd-conf-editor needs it.
          That is a serious problem of which we must be aware and can cause further
        strange behaviors.
          Debug code used to diagnostic has been kept commented in the sources a
        it may be needed again :-(
          This behavior do not affect our singletons because they are part of
        dynamic libraries that seems to be correctly shared between the various
        Python modules.

  * ./stratus1,
    ./cumulus:
    - Change: Replace calls to CRL.getAllianceFramework() by CRL.AllianceFramework.get().
2010-07-17 10:34:21 +00:00
Jean-Paul Chaput 766f825168 All tools: using the new Goodies macro.
Suppress loops in Hurricane libraries.
2010-07-13 16:34:14 +00:00
Jean-Paul Chaput fafea3fd02 Initial import of stratus1 2010-07-12 15:33:22 +00:00